Robot Framework之python脚本调用
前言
喜欢使用RF的原因之一就是能自己定义关键字,这篇就简单说下如何创建系统关键字,先来个最简单的,求比较两个数的大小
一、建立库文件
假设python的安装路径在D:/下面(作者是放在D:\python\python27)
1、在D:\python\python27\Lib\site-packages\ 建立库文件文件夹 MyLibrary
2、在MyLibrary 内建立 mytool.py 文件和 __init__.py 文件
如: 这个文件里面写自己需要穿件的关键字既方法,如下代码里面有一个比较两参数大小的方法,在Robot Framework 里面将以关键字的方式使用
如下模板,注意类名要与库文件夹名称一致
该文件中第一句,是导入deviceDriver.py文件中DeviceDriver类;第二句,创建DeviceDriver的派生类;第三句,把deviceDriver集成到robot framework!
二、在Robot Framework中导入库文件
1、库文件的导入:
选择套件名称,点击右边面包的Library
2、点击右边的面板展示
3.点击OK保存并查看导入的库文件
三、导入失败排查分析
1、若是做elenium web自动化测试,我们则需要导入selenium2library,以导入selenium2library为例,在弹窗内填写selenium2library点击OK按钮,RIDE则会自动去python目录下去搜寻库,若是不存在或者库有错,导入则不成功,如下图现在红色
2、查看错误原因
四、导入使用库文件
1、导入完成之后,我们可以在Ride中键盘按F5到Search Keywords , source选择我们刚刚导入的库,我们会在面板中看见我们库中所有的方法的介绍
2、使用关键字
3、运行结果
4、report报告:
五、问题总结
以下自己遇到的一些问题的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。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
WIN10下搭建react-native开发Android环境
最近公司要求使用react-native进行移动端开发,据说macOS上开发坑会少的多,但我们是windows,莫法,直接抗吧!周末配置环境遇到很多问题,谨以此文做个记录。。。 准备 安装Chocolatey Chocolatey是一个Windows上的包管理器,类似于linux上的yum和 apt-get 以管理员的身份来运行命令提示符 打开C盘里的Windows\System32,找到cmd.exe,右键‘已管理员身份运行’ 运行@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin 使用chocolatey安装Python 2choco install python2 使用chocolatey安装Nodechoco install n...
- 下一篇
Python Selenium 杂项
说明 本文将记录一些在selenium使用中容易遗忘的一些细节方便查询,目前包括: 预制的显示等待条件 send_keys键盘事件 预制的显示等待条件 导入EC(expected_conditions) from selenium.webdriver.support import expected_conditions as EC 预制条件 元素出现及可见 说明 presence_of_element_located 指定locator是否出现 presence_of_all_elements_located 指定locator是否全部出现 visibility_of_element_located 指定locator是否可见 invisibility_of_element_located 指定locator是否不可见 visibility_of 指定WebElement 是否可见 text_to_be_present_in_element 指定文本是否出现在指定元素的text中 text_to_be_present_in_element_value 指定文本是否出现在指定元素的val...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2全家桶,快速入门学习开发网站教程