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 ...
随机推荐
- .Net基础篇_学习笔记_第六天_for循环语法_正序输出和倒序输出
for TAB 和 forr TAB using System; using System.Collections.Generic; using System.Linq; using System. ...
- Spring Boot 入门之基础构建篇(一)
博客地址:http://www.moonxy.com 一.前言 随着 Spring 的功能越来越强,在使用 Spring 的时候,门槛也变得高了起来,诸如搭建一个基于 Spring 的 Web 程序却 ...
- .NetCore 网站DELETE请求错误405.0 - Method Not Allowed 因为使用了无效方法
.netCore网站Delete请求405错误 解决方案 1:在启用或关闭Windows功能 –> Internet Information Services 关闭WebDAV发布(这种方式可能 ...
- Java职责链模式
一.定义 职责链模式,就是将能够处理某类请求事件的一些处理类,类似链条的串联起来.请求在链条上处理的时候,并不知道具体是哪个处理类进行处理的.一定程度上实现了请求和处理的解耦. 实际生活中的经典例子就 ...
- Centos利用脚本自动安装jdk
在工作中还有自己的学习中,无论是使用tar包安装jdk,还是使用rpm安装,如果单台机器还能够接受,但是如果多台机器,就很困扰.所以,在自己配置环境的时候,根据网上各位前辈,沉淀了这样子一个脚 ...
- 使用python asyncio+aiohttp做接口测试(TODO)
线程是操作系统层面的“并行”, 协程是应用程序层面的“并行”. 协程本质上就是:提供一个环境,保存一些需要等待的任务,当这些任务可以执行(等待结束)的时候,能够执行.再等待的过程中,程序可以执行别的任 ...
- 多智能体系统(MAS)简介
1.背景 自然界中大量个体聚集时往往能够形成协调.有序,甚至令人感到震撼的运动场景,比如天空中集体翱翔的庞大的鸟群.海洋中成群游动的鱼群,陆地上合作捕猎的狼群.这些群体现象所表现出的分布.协调.自 ...
- 工厂模式(整理自李建忠<C++设计模式>视频)
整理自李建忠<C++设计模式>视频 一.导入:"对象创建"模式和工厂模式 工厂模式只是该模式下的一种. 二.举例说明 有这样一个场景:需要在MainForm中设计一个按 ...
- Scrapy项目 - 数据简析 - 实现斗鱼直播网站信息爬取的爬虫设计
一.数据分析截图(weka数据分析截图 2-3个图,作业文字描述) 本次将所爬取的数据信息,如:房间数,直播类别和人气,导入Weka 3.7工具进行数据分析.有关本次的数据分析详情详见下图所示: ...
- Robot Framework自定义测试库的作用域的理解
robot framework中,强大的测试库api支持,用户可根据实际需求定义测试库,导入后可使用自定义库中相应的关键字. 当自定义的测试库是类库,则需要考虑一个问题:类实例.用类实现的库可以有内部 ...