360海南地方网站,wordpress怎么去掉,网站怎么做啊,电子商务旅游网站建设策划书今天#xff0c;我们来聊聊接口自动化测试是什么#xff1f;如何开始#xff1f;接口自动化测试框架怎么做#xff1f;
自动化测试
自动化测试#xff0c;这几年行业内的热词#xff0c;也是测试人员进阶的必备技能#xff0c;更是软件测试未来发展的趋势。
特别是在…今天我们来聊聊接口自动化测试是什么如何开始接口自动化测试框架怎么做
自动化测试
自动化测试这几年行业内的热词也是测试人员进阶的必备技能更是软件测试未来发展的趋势。
特别是在敏捷模式下产品迭代速度快市场不断调整客户需求不断变化单纯的手工测试越来越无法适应整个变化过程迭代快加班多。测试人员如何快速响应并保证产品在上线后的质量能够满足市场要求如何在上线一个新功能的同时快速对旧功能快速进行回归保证旧功能不被新功能影响而出现严重的Bug。
针对以上问题采用自动化测试无疑是一个不错的选择能够做到在保证产品质量的同时提升测试效率。
随着行业内卷越来越严重对于测试岗位的要求也是水涨船高岗位招聘要求都会出现自动化测试的字眼因此也是我们跳槽面试、升职加薪必备利器。
自动化测试又可分为接口自动化、Web UI自动化、App自动化今天我们就来聊聊接口自动化测试。
同时我也准备了一份软件测试视频教程含接口、自动化、性能等需要的可以直接在下方观看或者直接关注VX公众号互联网杂货铺免费领取
软件测试视频教程观看处 字节大佬教你逼自己如何在15天内掌握自动化测试接口自动化/APP自动化/Web自动化/性能测试内含项目实战 接口自动化测试的价值 1、相比于UI自动化测试接口自动化的维护成本更低主要体现在以下几个方面
在分层测试金字塔模型中接口测试属于第二层服务集成测试与UI自动化测试相比接口自动化测试收益更大、更容易实现、维护成本更低有更高的投入产出比因此是公司开展自动化测试的首选。前端页面变化快而且UI自动化比较耗时比如等待页面元素加载、添加等待时间、定位元素、操作元素、模拟页面动作这些都需要时间因此UI自动化实施起来比较困难。接口较稳定接口的响应时间基本上都是秒级、毫秒级别速度快并且接口自动化本身也可以做一些有关联的操作、全流程的操作比如注册 -- 登录 -- 修改个人信息。
2、测试复用性
3、快速回归提高回归的覆盖率、效率、稳定性
4、可以运行更多更繁琐的测试自动化的一个明显的好处是可以在较少的时间内运行更多的测试
接口自动化测试如何开展
工具选择
Python/Java Requests Unittest/Pytest HTMLTestRunner/AllureRobotFramework关键词驱动的自动测试框架基于Web的自动化测试平台公司自主研发成本较高方便不懂编程也能使用
自动化测试工具有很多每种工具都有各自的优缺点选择适合自身实际情况的框架落地实施才是重点具体选择哪种工具放在其他文章再说。
这里使用 Python Requests Pytest Allure
举个栗子
接口文档找了一个开放的接口用于测试
接口信息
名称全国高校信息查询接口
描述用于查询全国高校信息
Host: www.iamwawa.cn
Request URL/home/daxue/ajax
Request MethodPOST
Content-Type: application/x-www-form-urlencodedheadersuser-agent:Chrome
参数 请求示例
POST /home/daxue/ajax HTTP/1.1
Host: www.iamwawa.cnuser-agent: ChromeContent-Type: application/x-www-form-urlencodedCookie: PHPSESSIDsjsrn0drje6ds5fq9kouoo2r23Content-Length: 54typenamekeyword四川轻化工大学
响应示例
{status:1,info:查询成功,data:[{id:2181,name:四川轻化工大学,code:4151010622,department:四川省,city:自贡市,level:本科,remark:}]}
线性脚本
import requestsres requests.post(urlhttps://www.iamwawa.cn/home/daxue/ajax,headers{user-agent: Chrome},data{type: name, keyword: 四川轻化工大学})
assert res.status_code 200
res_json res.json()
print(res_json)
assert res_json[status] 1
使用以上代码最基础最简单的接口测试就做起来了好的开始就是成功的一半。
但是问题也随之而来线性脚本的缺点也暴露出来了
测试的输入和断言都是捆绑在脚本中易读性差无共享或重用脚本可复用性低线性脚本修改代价大维护成本高不便于后期优化容易受软件变化的影响容易受意外事件的影响引起整个测试失败
所以下一步就是如何优化线性脚本也就是如何实现代码的高内聚低耦合也是接口自动化测试框架要解决的问题。
接口自动化测试框架
GitHub开源代码点击文章末尾小卡片扫码备注000领取 base_api.py对Requests库进行二次封装完成对api的驱动api继承base_api将http请求接口封装成Python方法utilsCommonUtil公共模块将一些公共函数、方法以及通用操作进行封装如日志模块、yaml操作模块、时间模块config配置文件模块配置信息存放如URL、Port、Headers、Token、数据库信息等data测试数据模块用于测试数据的管理数据与脚本分离降低维护成本提高可移植性如yml文件数据cases测试用例模块用于测试用例的管理这里会用到单元测试框架如Pytest、Unittestrun.py批量执行测试用例的主程序根据不同需求不同场景进行组装遵循框架的灵活性和扩展性logs日志模块用于记录和管理日志针对不同情况设置不同的日志级别方便定位问题reports测试报告模块用于测试报告的生成和管理如基于Allure生成的定制化报告 总结
现阶段很多人都在说软件测试太内卷了工作太难找了竞争太激烈了。那么如何在这样的现状下使得自己更具有竞争力呢笔者认为大家需要迅速学习软件测试的硬技能提升自己的业务能力早日摆脱初中级测试的Title虽然测试人员众多但是高级的软件测试人员还是很稀缺有很多人挂着高级测试的头衔却还在干着初中级测试的活。在掌握这些硬技能的同时软技能的培养同样重要沟通能力、自主学习能力越来越被企业看重。
如果不想被这个时代淘汰就要做好持续学习的准备。
PS这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源博主也收集不少进阶自动化的资源从理论到实战知行合一才能真正的掌握。全套内容已经打包到网盘内容总量接近500个G。如需要软件测试学习资料关注公众号互联网杂货铺后台回复1整理不易给个关注点个赞吧谢谢各位大佬
☑ 240集-零基础到精通全套视频课程 ☑ [课件源码]-完整配套的教程 ☑ 18套-测试实战项目源码 ☑ 37套-测试工具软件包 ☑ 268道-真实面试题 ☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板信息完整 这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。