robot framework之接口测试(get方式)
来源:互联网 发布:leetcode python 编辑:程序博客网 时间:2024/06/03 18:56
最近工作需要进行接口测试,所以学习用robot做接口测试。
下面讲一下get方式接口,如下图接口
可以看到数据有5W多条,我只取了其中两条做下讲解
首先我们需要连接数据库,测试的思想“通过数据库查询结果和接口返回的结果进行比对”
第一步:连接数据库
可通过mysql方式连接,或通过odbc方式连接数据库(odbc对中文支持较好)
脚本如下
注释:
1. 连接数据库,我是将连接当做变量了(具体链接方式可查看我的链接数据库博客)
2. 获取数据库总条数。因为总条数过多,我SQL里面取了100条好调试
4. 查询具体字段结果,查询结果如下图样式
[(xxxx,yyyy,zzzz,wwww,mmmm,nnnn),(aaaa,bbbb,cccc,dddd,eeee,ffff),...]
运行结果如下:
说明查询成功了
第二步:获取接口返回
脚本如下
运行一次,运行结果如下:
注释:
9. 连接服务器(${link}是接口url的前半段。类似https://baidu.com这样)
10. 发送请求,将结果保存到变量${status_result}中
13. 如上图运行结果中的${response_json}样式(其实就是开始的第一张图返回的那样,只是展示方式不同)
15. get_dictionary_keys获取字典的键值,保存到变量中(方便调试)
17. 获取list中第二层list的Campaigns所有dict (主要比对的就是这里的数据了)
19. 获取Campaigns这个list内部字典中的值
至此请求返回结果就发送完成了,Campaigns的dict值都存在了${count_value}中
然后就可以开始用“数据库查询结果” 和 “接口返回结果”进行比对了,需要循环比对,由于代码量太大,这里只介绍一下比对思想
1.查询数据库
2.发送请求获取接口返回并取出dict值保存在变了中
3.将查询结果转为list,循环取出查询结果中的元素
后续代码大概是这个思想
: FOR ${num} IN RANGE ${count_row} #${count_row}使用数据库的条数 \ ${list_search} Convert_To_List ${Search_result[${num}]} #循环取值并转化为list类型 \ ${list_response} Get_Dictionary_Values ${count_value[${num}]} \ ${status_list} Run_keyword_and_return_status Lists_Should_Be_Equal ${list_search} ${list_response}
中间省略了很多字符类型转换,字符串处理,list元素修改......处理方式,对比完成后如果有不相同的list可逐一将每个元素取出进行二次比对,
然后用唯一可识别的字段将结果追加到list或者写入文件都可以。。。
以上对比完了Campaigns后,还需要对totalcount和status进行比对
就说这么多吧
- robot framework之接口测试(get方式)
- robot framework 接口自动化测试(2)get方式传递token
- Robot Framework之---接口测试实战
- robot framework接口测试之二-四种常见的POST提交数据方式
- robot framework 接口自动化测试
- 基于RFS(robot framework selenium)框架模拟POST/GET请求执行自动化接口测试
- robot framework使用接口框架进行接口测试之图片上传接口
- robot framework接口自动化测试post请求
- Robot Framework自动化测试框架之我见
- Robot FrameWork自动测试之入门范例
- robot framework使用接口框架进行接口测试
- robot framework使用接口框架进行接口测试
- Robot Framework自动化测试(一)
- Robot Framework自动化测试框架(一)
- Robot Framework 测试总结
- Robot Framework自动化测试
- robot framework 测试安装
- Robot Framework自动化测试
- C++工厂方法模式
- 使用HttpURLConnection需要注意的地方
- 关于Android中获取短信息会话(threads)表中的信息
- Java集合框架图
- STM32之外部中断 EXTI
- robot framework之接口测试(get方式)
- sql优化
- sql server中replace()函数用法解析
- bzoj 1218: [HNOI2003]激光炸弹 (扫描线+线段树)
- JS实现用户名,密码正则表达式的校验
- 【解决方法】You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE)
- 山科2017acm校赛D题:有解嘛?
- {题解}[jzoj5050]【GDOI2017模拟一试4.11】颜色树
- linux hadoop完全分布式集群搭建图文详解