Robot Framework 自动化接口测试

1. 场景

使用 Robot Framework 验证自动化接口测试
测试对象:Gitee.com 动态列表 (https://gitee.com/yourname/event_list)
测试目标:获取动态列表,并打印出动态id和创建时间

2. 方案

  • 由于登录会出现手机号验证或验证码,所以为了方便登录有部分需要人工操作;
  • 登录完成后使用登录的cookie调用动态接口获取动态列表;
  • 接口参数使用Fiddler抓包,然后截取必要的参数列表。

3. 动态列表解析

3.1. 首先使用Fiddler抓包正常的动态列表请求,请求参数结果如图
页面正常请求参数

3.2. 将请求列表记录添加到Fiddler的Composer工具中

3.3. 依次删除部分传参数,点击Execute验证当前请求是否能正确获取接口返回值(使用Inspesctors选项卡查看请求响应结果)
当接口请求正常,则可以继续尝试其他字段
当接口请求异常,则恢复本次删除的字段,尝试其他字段
动态列表的请求最终尝试结果可以只保留Host和Cookie两个字段

4. Robot Framework 依赖库

按照预定的方案,需要依赖以下两个类库
RequestsLibrary(pip install robotframework-requests
Selenium2Library(pip install robotframework-requests
如下载包慢,可以使用国内源下载,添加国内源地址
如:pip install robotframework-selenium2library -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

4. Robot登录

这里就不在重述Robot的使用方法了
登录是先使用Open Browser打开浏览器,然后输入用户名、密码等登录信息
使用Robot Framework输入用户名密码可以使用多种选择器,我这里使用xpath,xpath路径可以使用Chrome的开发者工具获取,元素上右键 Copy → Copy XPath。

可以使用Wait Until Element Is Visible关键字等待页面上的某个元素可见用来保证已经登陆完成(建议加上超时时间,默认超时时间5s)
登录完成后保存页面的cookie到一个Global变量中

5. 请求接口

请求接口前需要组装Header和创建Session
然后使用创建的session请求接口

当获取到响应值是判断响应是否为200,如果不为200说明请求出现了异常,可以根据需要另外增加校验规则
到现在已经正常获取到想要的结果了。

posted @ 2019-09-02 20:03  雪域熊猫  阅读(745)  评论(1编辑  收藏  举报