RobotFramework入门使用
前段时间找工作,看到有些公司JD要求robotframework,特此来学习下:
Robot Framework----Robot Framework是一个开源的自动化框架。更本质一点就是可以把你编写好的函数导出来,然后像写存储过程一样写代码,达到降低难度的目的。比如你在python文件中写好了一个函数login_system(username,password),然后Robot Framework就可以导出为Login System,别人写脚本时就可以写成Login System username password。
RIDE----RIDE是使用wxPython库编写的Robot Framework的图形界面。Robot Framework的使用者仍是程序员,而代码本就是程序员所写的现在又要多封装一层多学一套语法不仅没有降低难度反而增加了工作量。所以仅就Robot Framework而言个人觉得没什么值得称道的地方,加上RIDE有了图形界面则可以算一套工程化的管理工具,所以一般讲Robot Framework其实也是讲通过RIDE使用的方式。
一、安装
Robot Framework github地址:https://github.com/robotframework/robotframework
RIDE github地址:https://github.com/robotframework/RIDE
pip大法最简单:直接使用pip安装ride就可以了,Robot Framework、wxPython等依赖库都会自动安装好。
pip install robotframework-ride
进入自己当前python环境的Scripts目录(比如我这里是F:\PyChram\robot\Scripts)使用以下命令启动ride:
python ride.py
启动后界面如下,常规的一个窗口程序界面。
二、使用
我们说ride是一个简单的小工具,就不一个个菜单一个个功能地介绍了,直接说它一般怎么用。
我们前面说Robot Framework的功能就是把代码文件中的函数抽象成所谓的关键字,我们直接看这主要功能如何实现。
2.1 准备好代码文件
将以下代码使存到桌面,并命名为test.py
import urllib.request
import requests def get_url_source_code(url): """这个函数的功能是获取传来的url页面的代码并打印 url----形如https://www.baidu.com""" request_obj=urllib.request.Request(url) response_obj=urllib.request.urlopen(request_obj) html_source_code=response_obj.read().decode('utf-8') print(html_source_code)
def get_weather_source(url):
obj = requests.get(url).json()
print(obj)
# 这个main只是用于运行演示,作为Robot Framework的库是不需要的 if __name__ == "__main__": url = "https://www.baidu.com" get_url_source_code(url)
weather_url = "http://v.juhe.cn/weather/index?format=2&cityname=%E8%8B%8F%E5%B7%9E&key='AppKey'"
get_weather_source(weather_url)
2.2新建项目及测试用例
主菜单----File----New Project
主要是填写项目名称(比如我这里是test),其他默认即可。Type/Format这种东西无非是存放格式的区别不必太在意。
在新建的项目上鼠标右键---New Test Case---输入测试用例(我这里是testCase1)名称点击OK。
经以上步骤项目和测试用例都已创建好,当前界面如下:
2.3 导入自定义库函数
对我们这里页言,自定义库就是前面的test.py,库含数就是其中的get_url_source_code。
左侧窗格选中项目,右侧窗格选中Edit选项卡,点击Library按钮
通过Browse选中我们的test_lib.py,其他不用填,点击OK。
回到主窗口上可以看到导入了一个库(如果呈红色说明导入报错,一般是脚本代码有问题,可借助cmd窗口的输出进行定位)
在上边界面中使用F5键,唤出关键字搜索对话框,Source中下拉选中test。
如无意外,可以看到如下图我们脚本中的get_url_source_code被抽取成了Get Url Source Code关键字,注释这些也都有展现在上面(url那行没换行是\n和\r\n的问题)。
2.4 使用自定义库函数
经过前面几步我们已经将自己写的函数导入了进来,下来看如何调用,这步也是Robot Framework(或者RIDE)的主要用法。
回到主窗口,左侧窗口选中测试用例,右侧窗口选中Edit选项卡,界面如下。
测试用例就真的是测试用例,其中的1、2、3、4、5就是测试步骤,其中第一列是关键字(即本质上的函数),其后各列用于输入参数。
我们输入我们要使用的关键字“Get Url Source Code”(可使用Ctrl+Alt+Space获取补全提示),此时界面如下图。
一列为粉红底色,表示需要一个参数;其余后续列为灰色表示不使用(但如果想的话可以把自己的注释写在这些灰色格子上)。
我们把参数设置成“https://www.baidu.com”,此时再看界面如下,白色底表明填写上没有错误。
如果自己的测试用例后续还有各步,就继续在2、3、4、5那些行继续写下去即可。
这里我们创建了用例Case2
2.5 运行测试用例及查看其报告
运行很简单,左侧窗格钩选要运行的测试用例,右侧窗格切换到Run选项卡,点击Start按钮。
底部窗格的输出其实就只是我们在get_url_source_code函数中的打印。
点击Report和Log按钮查看生成的报告,可以看到主要仍旧只是把打印记录到文件里。