1:在D:\work_software\python\Lib\site-packages 文件夹下, 新建python package文件夹 ,例如我的是TestLibrary

建好后的完整路径:D:\work_software\python\Lib\site-packages\TestLibrary\

(Tips:我的python 是安装在D盘,在创建时,要根据自己的安装路径选择)

2:在D:\work_software\python\Lib\site-packages\TestLibrary\ 文件夹下查看是否有__init__.py 文件,若没有新建__init__.py(空内容文件)。

建好后的完整路径:D:\work_software\python\Lib\site-packages\TestLibrary\__init__.py

3:在D:\work_software\python\Lib\site-packages\TestLibrary\ 文件夹下,新建自己的关键字文件,例如我的是keyword_openfile.py

代码如下:

# -- coding: utf-8 --

class Readfile():

    def __init__(self):

        pass

    def readfile(self,file_path):

  '''

   读取文件内容

 '''

        with open(file_path,'r') as file1:

            file2 = file1.read().split('\n')

            return file2 

4:D:\work_software\python\Lib\site-packages\TestLibrary\ __init__.py 修改该文件内容为

#-*-coding:utf-8-*-

from keyword_openfile import Readfile

class TestLibrary(Readfile):

    ROBOT_LIBRARY_SCOPE = 'GLOBAL'

# 特别注意:

在__init__.py文件中,创建class 时,类名必须和自己的库文件夹名称相同。

例如我的类名称是TestLibrary,而创建的库文件夹名也是TestLibrary→D:\work_software\python\Lib\site-packages\TestLibrary

在robotframework 中,点击Library 导入自定义库

导入自定义库文件TestLibrary,正确时为灰色字体(导入库文件,就不需要说明了)

完整的文件结构应该是这样:

TestLibrary

——- __init__.py

——- keyword_openfile.py

以下自己遇到的一些问题的debug

1:尽量在文件的开头加上:# -- coding: utf-8 --,因为python默认编码是ascii,所以如果代码中有(),或中文等等符号,会报错,提示编码不正确

2:如果写的代码里边有中文,尽量在文件开头加上以下3行代码

import sys

reload(sys)

sys.setdefaultencoding("utf-8")

3:如果在初始化函数中,定义了形参。则必须在导入库的时候,也要提供对应的参数。

不然会提示少给了变量的报错。

def __init__(self,a,b):

    pass

4: 修改代码后,及时把对应的.pyc文件删除并且重启下robotframework 后,再导入。

5:如果还是有其他的报错,请点击Tools→View RIDE log ,查看并debug。

RF自定义库和关键字的更多相关文章

  1. 十二、RF自定义库(数据库)

    1.自定义第三方库 def DB_select_by_sql(self,db_name,sql): conn=pymysql.connect(db=db_name,user='root',passwo ...

  2. Python 学习笔记20 自定义robot Framework 关键字

    Robot Framework 自定义关键字 Robot framework 自定义了一些关键字我们可以把他们当作函数在设计测试用例的时候使用. 同时RF也提供了许多第三方的库,我们可以自己下载使用. ...

  3. Robot Framework 自定义库

    进入  python安装路径\Lib\site-packages 创建文件夹,库名 创建py文件,myclass.py 创建py文件,__init__.py 导入自定义库 遇到的问题: python版 ...

  4. Android Studio中通过CMake使用NDK并编译自定义库和添加预编译库

    Note:这篇文章是基于Android Studio 3.01版本的,NDK是R16. step1:创建一个包含C++的项目 其他默认就可以了. C++ Standard 指定编译库的环境,其中Too ...

  5. Struts2加载自定义库注意事项

    新建Struts2项目,添加Struts2的jar包时,往往通过导入自定义库的方式,导入自定义库时,有个地方必须要设置,否则项目无法正常执行,如图所示: 必须要按照上述方式对自定义库进行加载!

  6. Simulink仿真入门到精通(十三) Simulink创建自定义库

    当用户自定义了一系列模块之后,可以自定义模块库将同类自定义模块显示到Simulink Browser中,作为库模块方便地拖曳到新建模型中. 建立这样的自定义库需要3个条件: 建立library的mdl ...

  7. RF自定义系统关键字

    如果您准备学习Python,船长在这里给大家推荐几个学习Python的好地方:   1.廖雪峰官网 http://www.liaoxuefeng.com/wiki/001374738125095c95 ...

  8. 【转】 robotframework(rf)中对时间操作的datetime库常用关键字

    转自http://blog.csdn.net/r455678/article/details/52993765 DateTime库是robotframework内置的库 1.对固定日期进行操作,增加或 ...

  9. Robot Framework:RF中对时间操作的datetime库常用关键字

    [转自:http://blog.csdn.net/r455678/article/details/52993765] 1.对固定日期进行操作,增加或减去单位时间或者时间段 2.对两个时间段进行操作 3 ...

随机推荐

  1. Android-WebView支持input file启用相机/选取照片

    webview要调起input-file拍照或者选取文件功能,可以在webview.setWebChromeClient方法中重写指定的方法,来拦截webview的input事件,并做我们相应的操作. ...

  2. 云原生生态周报 Vol. 19 | Helm 推荐用户转向 V3

    作者| 禅鸣.忠源.天元.进超.元毅 业界要闻 Helm 官方推荐用户迁移到 V3 版本 Helm 官方发布博客,指导用户从 v2 迁移到 v3,这标志着官方开始正式推进 helm 从 v2 转向 v ...

  3. Winform中通过代码给PanelControl添加子控件并进行定位

    场景 DevExpress的PanelControl常用进行窗体页面的布局. 一般是拖拽一个PannelControl,然后是再拖拽其他控件. 如果是由代码生成控件并控制布局的话,怎样实现. 关注公众 ...

  4. Winform中使用zxing实现二维码生成(附dll下载)

    场景 zxing.dll下载 https://download.csdn.net/download/badao_liumang_qizhi/11623214 效果 实现 新建Winform程序,将上面 ...

  5. 使用java程序作为celery的工作节点

    celery是python实现的分布式调度框架,有时候想用celery去调用java服务,正好有一个celery-java的库可以使用,能达到这个效果,记录一下: 先添加依赖: <depende ...

  6. OPC-System.Runtime.InteropServices.COMException:“Error HRESULT E_FAIL has been returned from a call to a COM component.”

    Error HRESULT E_FAIL has been returned from a call to a COM component的错误提示,还是因为OPC配置,这次是红框中标签定义错误,应该 ...

  7. composer 依赖的require安装与remove删除命令

    安装:require composer require phpmailer/phpmailer 删除:remove composer remove phpmailer/phpmailer

  8. 松软科技课堂:SQL之NOTNULL约束

    SQL NOT NULL 约束 NOT NULL 约束强制列不接受 NULL 值. NOT NULL 约束强制字段始终包含值.这意味着,如果不向字段添加值,就无法插入新记录或者更新记录. 下面的 SQ ...

  9. 跟我学SpringCloud | 第十九章:Spring Cloud 组件 Docker 化

    前面的文章<跟我学SpringCloud | 第十八篇:微服务 Docker 化之基础环境>我们介绍了基础环境系统和 JRE 的容器化,这一节我们介绍 Spring Cloud 组件的容器 ...

  10. ReentrantLock API

    java可重入锁,简单几个小案例,测试特性. 1.尝试锁  tryLock package com.cn.cfang.ReentrantLock; import java.util.concurren ...