美文网首页
python接口自动化测试框架

python接口自动化测试框架

作者: 刘年年 | 来源:发表于2022-07-14 14:55 被阅读0次

       做APP的UI自动化我们使用的是Java编程语言来实现的,那么接口自动化我们使用python实现,python对于测试人员来说还是很友好的,上手很容易,不那么容易有挫败感。

        框架需要一点一点的搭建起来,那么对于框架所用到的知识也是尽可能的多去官网了解,这样以后如果遇到问题需要对框架修复也不至于摸不着头脑。


此次我们使用到的技术主要有Python+Pytest+Allure

1、python我使用的3.10版本,去python官网下载即可,下载安装完成后,记得配置环境变量;

2、pytest的安装可参考pytest中文文档安装;

3、Allure的安装,去githuballure下载地址下载,完成后配置环境变量,接下来pip install allure-pytest安装即可;


框架是分模块搭建的,有如下模块:

global:可以配置一些全局的参数,如服务器地址,数据库的地址等,也可配置开关,走测试环境还是生产环境;

utils:主要是一些通用的脚本,包括断言的工具类、日志的工具类封装、网络请求的工具类封装,以及yaml文件读取的文件类封装等;

api_list:所有api的定义在这个地方,编写case的时候调用的是我们这里的api;

reports:Allure生成测试报告依赖此处产生的临时文件信息;

testcases:包含所有的测试用例;会先编写一个base_test脚本,把一些常用的变量封装在base_test中。

按模块划分,比如用户模块,可以新增一个user用例模块;

同时为了区分单接口测试和场景测试,会分包处理,api_test和api_list_test两个包,方便我们后期维护;


一般来说,我们还需要引入一些框架中使用的第三方库:

requirements.txt:包含了需要使用的库以及对应的版本号;

pytest.ini:一个配置文件,配置要执行的case的过滤;如python_files =test*.py;

conftest.py: 一些前置操作可以在这里实现,比如要删除某些用户的信息,配合fixture固件;目前为止,所有固件的使用都是手动指定,或者作为参数,或者使用 usefixtures。如果我们想让固件自动执行,可以在定义时指定 autouse 参数。

fixture固件的scope取值如下:

       function: 在函数或方法运行时执行fixture函数的功能 默认作用域

       class:在类运行时调用一次。

       module:在一个模块(一个py文件为一个模块)被运行时,执行一次fixture

       package:当前被使用fixture的文件所在的包,执行一次fixture

       session:当前被使用fixture的文件所在的整个项目目录,执行一次fixture

最后,当我们要根据所有的测试用例生成测试报告时,需要编写一个脚本文件,执行Allure的生成报告同时打开报告的命令。

if __name__ == '__main__':

   os.system('allure serve reports/temps -o reports/allures --clean') 


今天的记录到此为止,也算是对自己的工作做了一个总结,感兴趣的朋友或者哪里不清楚的可以留言咨询的哈,一般看到都会回复的!

相关文章

网友评论

      本文标题:python接口自动化测试框架

      本文链接:https://www.haomeiwen.com/subject/qeoxirtx.html