python+requests+yaml实现接⼝⾃动化⽤例
前⾔:最近也思考了⼀下怎么做接⼝⾃动化,以下内容属于⾃⼰⽬前阶段所学习到的内容,也逐渐投⼊⾃⼰实际⼯作中,把最近的学习新得跟⼤家分享下,话不多说,切⼊正题。
对接⼝⾃动化测试⽤例的思考:接⼝测试⼤多测试⼈员都知道,属于⿊盒测试范畴,针对拿到的接⼝地址,接⼝的参数,请求头格式对各种正常异常的参数输⼊,检查返回值是否跟预期结果⼀致,当然设计到接⼝安全性的问题也需要考虑进去,这⾥暂时不说明。那么接⼝⾃动化是不是我们可以提取系统中重要的接⼝进⾏接⼝⽤例的维护,然后实现每次版本发布前,执⾏⼀遍,看看这次开发发的版本,接⼝是否都是正常的,或者说,开发是不是动了哪些接⼝?导致我之前写的接⼝断⾔报错了?我⾃⼰觉得可⾏,因为我们都知道⼀般来说接⼝的变动是⽐较⼩的,所以说基于这⼀点,我觉得可⾏性还是⽐较⾼。因为最近实际⼯作中也会遇到开发发的版本质量很低,⼿⼯去验证确实太费时间了,不去验证的话,总感觉不放⼼,实际就是,前⼀个版本问题改好了,这个版本问题⼜出来了。因此我觉得接⼝⾃动化真的有必要,可以减轻很多⼿⼯压⼒。
接⼝⾃动化⽤例设计:我们知道现在⽐较主流的接⼝⾃动化测试是⽤python中的requests库来进⾏http请求,然后接⼝⾃动化接⼝数据驱动的话,需要把测试数据存放在⽂件中,⽬前⽐较受欢迎的是excel、json⽂件、yaml⽂件三种⽅式,最近三种⽂件我都⽤过,只能说各种优劣势吧,但是参考⼀些⼤佬的意
见,好像yaml⽂件还是更多点,我最近还简单使⽤⼀下yaml⽂件,确实好⽤点。⼤家可以选择性使⽤其中⼀种。
python怎么读取json文件整体项⽬⽬录:
case⾥⾯放置所有测试⽤例,data⾥⾯放所有测试⽂件, report⾥⾯放测试报告、utils⾥⾯放⼀些公共⽅法,例如读取yaml⽂件内容,因为我会⽤pytest执⾏⽤例,根⽬录的conftest.py是针对控制台收集⽤例中⽂乱码进⾏重新编码。
yaml⽂件中内容展⽰:
ids是展⽰接⼝测试的测试思路/测试输⼊,后⾯是结合pytest.mark.paramtrize进⾏参数化的ids输⼊,test_data是我们的维护的测试数据,我这边就是维护请求⽅式、请求地址、请求参数、请求头、预期结果
utils中读取yaml⽂件⽅法:
case的测试⽤例⽂件:
我们从utils⾥⾯的read_yaml⽂件中读取yaml⽂件内容后,然后测试⽤例中需要的参数,对应传⼊即可,这⾥涉及到yaml⽂件维护的数据到底是什么?pytest的参数化怎么⽤?这⾥暂时不去聊了。总体到这⾥我们就可以实现我们的需求了
测试报告:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。