1、cookie的保存,可以使用yaml文件进行存储,yaml的dump功能把重要的数据 保存到外部
接口测试掌握的重点:curl命令、requests、mock
2、mock
常见的mock系统:
charles、
rap、
yapi、
moco
swagger与yapi平台的区别
1)swagger:是一个API全生命周期的解决方案,完善的生态,依赖的是openapi的规范与代码层的 自动生成
2) yapi:是一个接口管理平台,他的生态弱,更多的是基于人工管理,依赖人工与UI界面维护
3、jsonpath断言一个多层Json结构进行断言、Hamcrus;schema对结果进行校验;
4、接口层覆盖大量业务;UI覆盖主要业务逻辑;
5、测试体系:
接口测试便捷的几个小工具:(xml:xpath; html、css、selector :xpath;text:regex; json:jsonpath(python中有jsonpath库);)
6、./jq
转化json的小工具:
路径:https://stedolan.github.io/jq/
jq 3个常用语法:
1)curl -k -H 'Cookie: xq_a_token=5806a70c6bc5d5fb2b00978aeb1895532fffe502;u=3446260779' -H 'User-Agent: Xueqiu Android 11.19' -H 'Accept-Language: en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4' -H 'Host: stock.xueqiu.com' --compressed 'https://101.201.175.228/v5/stock/portfolio/stock/list.json?_t=1UNKNOWNc60715cb4a61425b311034a49f4aa024.3446260779.1563002521424.1563005246620&_s=8c6b2d&category=1&pid=-1&size=10000&x=1.3&page=1' | jq '.'|grep name
2)curl -k -H 'Cookie: xq_a_token=5806a70c6bc5d5fb2b00978aeb1895532fffe502;u=3446260779' -H 'User-Agent: Xueqiu Android 11.19' -H 'Accept-Language: en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4' -H 'Host: stock.xueqiu.com' --compressed 'https://101.201.175.228/v5/stock/portfolio/stock/list.json?_t=1UNKNOWNc60715cb4a61425b311034a49f4aa024.3446260779.1563002521424.1563005246620&_s=8c6b2d&category=1&pid=-1&size=10000&x=1.3&page=1' | jq
3)curl -k -H 'Cookie: xq_a_token=5806a70c6bc5d5fb2b00978aeb1895532fffe502;u=3446260779' -H 'User-Agent: Xueqiu Android 11.19' -H 'Accept-Language: en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4' -H 'Host: stock.xueqiu.com' --compressed 'https://101.201.175.228/v5/stock/portfolio/stock/list.json?_t=1UNKNOWNc60715cb4a61425b311034a49f4aa024.3446260779.1563002521424.1563005246620&_s=8c6b2d&category=1&pid=-1&size=10000&x=1.3&page=1' | jq -r '.data.stocks[0].name'
xpath:
7、jsonpath,使用jsonpath解析json数据;(需要安装对应的Python库)
python2 -m jsonpath /tem/1.json "s.data.stocks[*].name"
logging.info(jsonpath.jsonpath(r.json(),"$.data.itmes[0].name"))
8、json schema
9、断言:hamcrest在某些方面比assert更强大的断言工具
10、测试左移阶段需求阶段介入:
1)明确接口规范
2)帮项目给搭建YAPI或者Swagger Stub这样的模拟系统stub
3)编写测试用例和基础测试数据
项目已上线,需要补接口测试保证稳定 性使用如下方法:
从源代码 反向生成swagger规范与该当地址
推动研发编写 文档,锅先甩给他们
代理抓包分析并编写用例,或者自动生成用例;