一、robotframework的安装和启动
安装一下本人写的第三方模块,会自动安装robotframework和图形界面
git clone https://github.com/otfsenter/rpa.git
进入rpa文件夹
cd rpa
安装第三方模块rpa
python3 setup.py install
里面有2个功能,
其他功能可以自己写脚本之后随意添加,后续会讲
怎么打开?
windows电脑安装完成之后,会在桌面上生成一个RIDE(Robot IDE),直接双击打开。
mac电脑,安装完成之后,我用的是python3版本,ride是一个python脚本,路径在
/Library/Frameworks/Python.framework/Versions/3.6/bin,
然后python3 ride.py运行即可
二、robotframework ride图形界面的使用
创建项目
File -> New Project
format一定要选robot,python3用的pybot,只能识别robot格式的文件
选中文件夹
创建新的测试套件
New Suite
创建一个测试实例
Create Test Case
导入自定义的插件
点击Test Suite,再点击Library
F5进入搜索关键字的界面
这里就显示出了我们自定义的函数
选取Get Hot Spots From Baidu这个函数,获取百度的热点
像上面这样直接使用函数的描述名称,然后赋值给 ${a},
用ride自带的日志打印函数log,打印热点包含的信息
勾选baidu这个测试用例,然后执行
打印出实时的百度热点
三、实现原理
至于为什么robotframework能自动识别我们自定义的函数,
自定义的函数放在rpa源码里面的keywords目录下
crawler里面就一个类:CrawlerKeywords,只有get_hot_from_baidu这个函数,描述是Get Hot Spots From Baidu。
file里面就一个类:FileKeywords,只有一个read_file函数,读取文本文件的每一行数据,并输出一个列表。
我们可以随意添加自定义的功能函数到CrawlerKeywords或者FileKeywords下面,
重新删除Library里面的rpa,再添加一遍,ride就能自动识别出添加的函数
至于是怎么起作用的
我们把包含那些功能函数的类,在整个模块最上层的__init__.py函数里面初始化,
使用DynamicCore. init (self,libraries)这个初始化,
DynamicCore继承自HybridCore
看一下HybridCore里面做了什么初始化
核心的就是add_library_components这个方法,
下面的component是每个类的具体实例,
然后遍历每个类里面的函数名字和函数本身
判断函数是否callable,是否满足robotframework的规范,是否有robot_name这个属性,
这样得到的字典就是:键为函数名,值为函数对象
然后依次运行每个方法,得到我们想要的功能
再遍历每个类里面的方法,抓取每个方法的描述,描述和函数是绑定的。
这样在ride这个图形化界面里面,按下F5,就能直接用这个描述调用这个功能
四、总结
使用好robotframework,我们可以把每个功能单独成一个函数,
然后通过组合各种各样的功能函数,实现我们的业务流程,
如果下次不同的业务里面,有用到相同的功能,就能随意组合。
写好的执行流程也是一个文本文件,方便版本管理,
随着后续不断的完善,就能完成一个自动化的业务框架。
全部0条评论
快来发表一下你的评论吧 !