RF自定义库和关键字
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自定义库和关键字的更多相关文章
- 十二、RF自定义库(数据库)
1.自定义第三方库 def DB_select_by_sql(self,db_name,sql): conn=pymysql.connect(db=db_name,user='root',passwo ...
- Python 学习笔记20 自定义robot Framework 关键字
Robot Framework 自定义关键字 Robot framework 自定义了一些关键字我们可以把他们当作函数在设计测试用例的时候使用. 同时RF也提供了许多第三方的库,我们可以自己下载使用. ...
- Robot Framework 自定义库
进入 python安装路径\Lib\site-packages 创建文件夹,库名 创建py文件,myclass.py 创建py文件,__init__.py 导入自定义库 遇到的问题: python版 ...
- Android Studio中通过CMake使用NDK并编译自定义库和添加预编译库
Note:这篇文章是基于Android Studio 3.01版本的,NDK是R16. step1:创建一个包含C++的项目 其他默认就可以了. C++ Standard 指定编译库的环境,其中Too ...
- Struts2加载自定义库注意事项
新建Struts2项目,添加Struts2的jar包时,往往通过导入自定义库的方式,导入自定义库时,有个地方必须要设置,否则项目无法正常执行,如图所示: 必须要按照上述方式对自定义库进行加载!
- Simulink仿真入门到精通(十三) Simulink创建自定义库
当用户自定义了一系列模块之后,可以自定义模块库将同类自定义模块显示到Simulink Browser中,作为库模块方便地拖曳到新建模型中. 建立这样的自定义库需要3个条件: 建立library的mdl ...
- RF自定义系统关键字
如果您准备学习Python,船长在这里给大家推荐几个学习Python的好地方: 1.廖雪峰官网 http://www.liaoxuefeng.com/wiki/001374738125095c95 ...
- 【转】 robotframework(rf)中对时间操作的datetime库常用关键字
转自http://blog.csdn.net/r455678/article/details/52993765 DateTime库是robotframework内置的库 1.对固定日期进行操作,增加或 ...
- Robot Framework:RF中对时间操作的datetime库常用关键字
[转自:http://blog.csdn.net/r455678/article/details/52993765] 1.对固定日期进行操作,增加或减去单位时间或者时间段 2.对两个时间段进行操作 3 ...
随机推荐
- vue-property-decorator vue typescript写法
什么是Typescript TypeScript 是一种由微软开发的自由和开源的编程语言,它是 JavaScript 的一个超集,扩展了 JavaScript 的语法.作者是安德斯大爷, Delphi ...
- CNCF 宣布成立应用交付领域小组,正式开启云原生应用时代
作者|赵钰莹 作为云原生领域的顶级开源社区, Cloud Native Computing Foundation (云原生基金会,以下简称 CNCF)近日宣布成立 Application Delive ...
- Python:给定一个不超过5位的正整数,判断有几位
方法一:作比较 [root@python markPy]# cat five.py #!/usr/bin/python3 a=int(input(">>>>" ...
- DevExpress的对话框XtraMessageBox的使用
场景 在Winform中一般弹出对话框使用的是MessageBox,而在 DevExpress中使用的是XtraMessageBox实现对话框. 效果 实现 首先新建确认按钮的调用方法: public ...
- 模板引擎Velocity学习系列-#set指令
#set指令 #set指令用于向一个变量或者对象赋值. 格式: #set($var = value) LHS是一个变量,不要使用特殊字符例如英文句号等,不能用大括号括起来.测试发现#set($user ...
- 【Sentinel】sentinel 集成 apollo 最佳实践
[Sentinel]sentinel 集成 apollo 最佳实践 前言 在 sentinel 的控制台设置的规则信息默认都是存在内存当中的.所以无论你是重启了 sentinel 的客户端还是 s ...
- Spotlight性能监控工具的配置及使用
这是我离线整理资料里的内容,大概是2012年时候开始使用此性能监控工具的,直到至今,接触到几个性能监控工具里,还是美国quest公司生产的Spotlight此产品相对比较牛! 我也不知道现在发展到能支 ...
- hadoop之mapreduce详解(进阶篇)
上篇文章hadoop之mapreduce详解(基础篇)我们了解了mapreduce的执行过程和shuffle过程,本篇文章主要从mapreduce的组件和输入输出方面进行阐述. 一.mapreduce ...
- Ubuntu 卸载openJDK
如果你在 Ubuntu 软件中心安装过 OpenJDK,请先使用如下命令将其删除: $ sudo apt-get purge openjdk*
- JDK 自带的性能监控工具
JDK安装完后,其内置了许多的监控工具,常用的有jvisualvm,jconsole,jps,jmap,jinfo,jstat,jstack,这些命令都在jdk安装的bin目录下: 1.jvisual ...