python 做接口自动化测试框架设计
1,明确什么叫自动化测试,什么叫接口自动化测试,如何设计接口测试用例,已登录为例
自动化测试:解放人力来自动完成规定的测试。
自动化测试分层模型:UI层,不论WEB端还是移动端,都是基于页面元素的识别和定位来模拟用户行为。UI变化频繁。
UI层,有个selenuim+python 进行12306自动购票系统,有Appium+python https://ke.qq.com/user/index/index.html#cid=192413&tid=100227964&fr=2&term_id=100227964
接口层,https://ke.qq.com/user/index/index.html#cid=286574&tid=100339173&fr=2&term_id=100339173
接口测试比UI测试比较稳定,在UI未开发完时可以节约时间,先测接口。后端要有容错能力,判断数据长度再插入数据库。安全性测试,注入攻击,1 or 1=1。
接口就是两个独立的部分来交互信息的介质(application programming interface)
通过代码或者工具来模拟请求,然后对响应结果来判断是否符合我们的预期。一旦形成稳定,完整的框架基本上是比较通用的。
接口层要了解HTTP请求,应用层协议,无状态,由请求和响应组成。
请求:请求行,请求头(user-agent,accept,accept-encoding,content-type),请求正文格式(application/x-www-form-urlencoded,数据什么等于什么字符串格式; multipart/form-data, keyvalue 加文件;raw:text/plain,text/html,text/xml,applicatin/xml(可指定编码),application/json;二进制格式。
响应:响应行,响应报文头,响应正文。
dubbo
网络服务接口分类:restful api,web service(soap请求和返回都是xml)
postman:断言:code,响应时间,正文包含关键字,且不包含。console.log()。值传递通过添加环境 变量,看postman帮助文档。
Runner来批量跑测试用例,可设置循环次数,
测试用例可以导出,通过newman执行,安装newman之前要装node.js, 也可以 安装上jenkins集成。
python接口:requests包,HTMLTestRunnerCN
单元层,
2,python自动化测试框架
由于自己mac无法装word,顾本接口测试框架未读excel设计的测试用例,而是读.txt文件。
app测试链接:https://ke.qq.com/course/278931