论坛注册接口的自动化测试(python+allure)

整个项目工程的结构如下图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAenR0MTk4NQ==,size_15,color_FFFFFF,t_70,g_se,x_16

common:存放一些公共方法,比如:读取环境变量,读取yaml格式的测试数据

reports:allure自动生成,存放测试报告

temps:存放临时的测试报告

test_register:存放测试数据、测试用例

conftest:存放一些装饰器

common包有两个py文件,如下图(其中,key为要读取的环境变量名,比如base_url、数据库连接地址等):

read_env.py:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAenR0MTk4NQ==,size_20,color_FFFFFF,t_70,g_se,x_16

read_yaml.py:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAenR0MTk4NQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 test_register包下有两个文件:data.yaml和test_register.py文件

data.yaml(存放测试数据):

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAenR0MTk4NQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 test_register.py:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAenR0MTk4NQ==,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAenR0MTk4NQ==,size_20,color_FFFFFF,t_70,g_se,x_16conftest.py(我这里只写了获取formhash的方法,因为发送注册请求时需要携带首页返回的formhash参数):

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAenR0MTk4NQ==,size_20,color_FFFFFF,t_70,g_se,x_16 env.txt(存放的是环境变量):

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAenR0MTk4NQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 pytest.ini(全局配置文件,-v表示输出详细信息,-s表示输出调试信息):

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAenR0MTk4NQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 run.py(整个项目的运行文件):

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAenR0MTk4NQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 生成的测试报告如下(在reports下的index.html):

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAenR0MTk4NQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 上述过程中还有很多需要优化的地方,比如日志的实时输出,比如yaml格式的测试数据的优化(使用csv格式的文件存放,另写一个yaml模板),后期更新

 

 

 

 

 

 

 


版权声明:本文为ztt1985原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。