Python+Pytest 接口自动化

技术栈:

Python+Pytest+Jenkins+allure

测试报告:
Python+Pytest 接口自动化_第1张图片

环境:
软件环境:


Windows10
Centos7
JDK1.8
Python3.7+  

持续集成环境:
Jenkins:2.332.3 LTS(Docker版)
 

实施流程:


主程序运行:Pytest

接口调用:Requests

测试用例编写:Excel、Yaml

断言方式:Assert、数据库

测试报告:Allure

代码管理:git、GitLab

自动构建、发送测试报告:Jenkins

框架版本:


allure-pytest==2.6.4
allure-python-commons==2.6.4
PyMySQL==0.9.3
pytest==7.1.0
pytest-html==1.20.0
pytest-metadata==1.8.0
pytest-ordering==0.6
pytest-rerunfailures==10.2
PyYAML==5.1.1
requests==2.27.1
xlrd==1.2.0
xlwt==1.3.0
yml==0.0.1

openpyxl==3.0.10

代码结构:


common: 公共方法层

各个项目获取cookie、token方法,用于权限管理的公用方法;
初始化数据库、发送邮件、生成allure的一些通用方法;
封装的各种工具类,包括request请求、yaml读取、excel读取、sql语句的执行等通用类;
config:配置文件层

动态获取项目中各个目录的绝对路径;
配置各个项目的域名,以及用例存放位置;
日志等级、数据库等配置信息;
log:日志层

存放输出的运行日志;
data: 测试数据层

yaml用例文件;
excel用例文件;
report:  测试报告层

存放生成的测试报告;
testcase:  测试用例层

执行测试用例、断言、输出用例执行结果;
pytest.ini:pytest配置

改变pytest的默认行为,更改默认命令行选项;
自动发现测试模块和测试方法,可以设置会话级、模块级、类级、函数级的fixtures;

run.py:  运行
运行pytest收集到的测试用例,并生成测试报告;
 

测试报告:


报告形式:Allure报告

报告发送者:Jenkins

代码规范:


设置忽略:

数据库配置信息统一存放在db_conf.yml文件,git提交时此文件需要忽略;
命名规范:

模块/包名:尽量短小,并且全部使用小写字母,尽量不要用下划线;
类名使用驼峰命名风格,首字母大写,私有类可用一个下划线开头;
函数名一律小写,如有多个单词,用下划线隔开;
变量名尽量小写,如有多个单词用下划线隔开,不能以数字开头,变量名要有含义;
测试文件:以“test_xxx”方式命名,通常和测试类呼应,命名要有意义;

测试类:以“TestXxx”的方式命名,通常和文件名呼应;

测试方法:以“test_xxx”的方式命名,方法名需体现测的什么功能;


Allure安装

1、安装python插件

使用命令安装 $ pip3 install allure-pytest

2、安装allure

下载:https://github.com/allure-framework/allure2/releases

前置条件:已部署java环境

 

解压缩到一个目录(不经常动的目录)

将压缩包内的 bin 目录配置到 path 系统环境变量

在命令行中敲 allure 命令,如果提示有这个命令,即为成功

运行结果,查看report/result目录


1、生成html报告

   运行命令  allure generate report/result -o report/html --clean  

2、生成在线报告

   运行命令  allure serve report/result

你可能感兴趣的:(python)