目录

一、框架搭建流程

1. 封装接口请求

2. 存储接口信息

3. 封装登录和其他方法

4. 使用Pytest管理测试用例

5. 添加日志模块

6. 生成测试报告

7. 测试报告发送至邮箱

8. 优化动态数据的存储

9. 项目目录

二、上传代码到github

三、运行测试用例的两种方法

1. 命令行模式

2. 在python脚本中调用pytest

四、重构接口自动化测试框架


一、框架搭建流程

1. 封装接口请求

封装post和get方法方便在使用requests模块发送请求时,仅调用一个方法即可

2. 存储接口信息

使用yml文件作为配置文件,存储每一个接口信息,主要包括”接口名称、method、url、data和headers“,以及预期结果”expected“

3. 封装登录和其他方法

   1)登录方法用于获取并存储token,存储至access_token.yml中;

   2)参数”api_name“的取值是配置文件api_config.yml中的接口名称,比如:login、asset_main和loan_lend。同样封装了一个类ReadYaml,方法是取配置文件中各接口的”method、url、data、headers和expected“等;

   3)除了登录接口,其他接口的headers均需要token值,所以在处理headers时要区分登录接口和其他接口;

   4)建议:添加异常处理捕获异常,输出自定义的错误信息。

4. 使用Pytest管理测试用例

   1)在执行所有用例之前先执行登录接口,获取token。所以把登录接口的请求放在conftest.py文件中

  2) 把每个功能模块封装成一个类,每个用例封装成一个方法。例如资产模块的用例如下:

5. 添加日志模块

   1)使用配置文件配置loggers、handlers和formatters(日志器、处理器和格式器),文件名称是log.conf

   2)使用fileConfig()函数读取日志配置文件

6. 生成测试报告

   1)安装pytest-html插件。也可以使用allure插件生成测试报告,但是如果pytest版本过高,就无法识别allure插件

   2)添加“--self-contained-html”可以整合样式文件到html文档中,方便之后发送测试报告到邮箱

pytest.main(['-v', '--html=report/all_report.html', '--self-contained-html'])

python 自动脚本 py自动化脚本_封装

7. 测试报告发送至邮箱

python 自动脚本 py自动化脚本_封装_02

8. 优化动态数据的存储

把多个登录账号信息等动态数据放到excel表格中,使用xrld和xlutils库对表格进行读取和写入。利用excel存储测试数据,实现测试数据和测试脚本的分离,方便测试数据的维护

python 自动脚本 py自动化脚本_封装_03

9. 项目目录

一直在更新中,文件名可能与其他地方不一致

python 自动脚本 py自动化脚本_python 自动脚本_04

二、上传代码到github

1. 创建git仓库:进入项目的根目录,比如项目名是:Test,则进入Test文件夹下

命令:git init

2. 将项目内所有文件添加至仓库中

命令:git add .

3. commit到仓库

命令:git commit -m '首次提交'

4. 到github上创建Repositories后,复制仓库的地址,比如:https://github.com/XXX/Test.git

5. 将本地仓库关联到github上(很重要)

命令:git remote add origin https://github.com/XXX/Test.git

6. 上传代码到github远程仓库:其中-u是把本地master分支和远程master分支关联起来,以后再push时不需要加上-u

命令:git push -u origin master

python 自动脚本 py自动化脚本_python 自动脚本_05

7. 若再次上传,则要执行这三步:

    1)把Test中的文件都添加进来:git add .

    2)提交暂存区的文件,其中message是简要说明这次提交的信息:git commit -m "message"

    3)把本地文件推送到github上(有时候需要输入github账号和密码): git push origin master

python 自动脚本 py自动化脚本_python 自动脚本_06

8. git常用命令,可参考文章git常用命令结合若干个使用场景

9. 项目git地址:(备注:代码写的不够专业,一直在优化改进中。有兴趣的可以一起讨论)

https://github.com/ChangYixue/Test.git

三、运行测试用例的两种方法

1. 命令行模式

  1)先进入测试用例文件所在目录,然后使用“pytest”命令执行该目录下所有的测试用例文件;

  2)也可以指定某一个测试用例文件,直接在pytest后面加上文件名称即可,比如“pytest test_asset.py” 

  3)执行”某文件下的类中所有用例方法“或者”某方法“,分别用命令”pytest 文件名::类名“和”pytest 文件名::类名::方法名“

python 自动脚本 py自动化脚本_自动化_07

python 自动脚本 py自动化脚本_自动化_08

2. 在python脚本中调用pytest

四、重构接口自动化测试框架

1. 背景:公司开发人员帮忙重构了脚本,使配置测试环境、维护测试数据、取接口信息和处理接口依赖等更加灵活

2. 重构后的框架简介请移步:Python+Pytest+tox 接口自动化测试框架

未完待续......




目录

一、框架搭建流程

1. 封装接口请求

2. 存储接口信息

3. 封装登录和其他方法

4. 使用Pytest管理测试用例

5. 添加日志模块

6. 生成测试报告

7. 测试报告发送至邮箱

8. 优化动态数据的存储

9. 项目目录

二、上传代码到github

三、运行测试用例的两种方法

1. 命令行模式

2. 在python脚本中调用pytest

四、重构接口自动化测试框架


一、框架搭建流程

1. 封装接口请求

封装post和get方法方便在使用requests模块发送请求时,仅调用一个方法即可

2. 存储接口信息

使用yml文件作为配置文件,存储每一个接口信息,主要包括”接口名称、method、url、data和headers“,以及预期结果”expected“

3. 封装登录和其他方法

   1)登录方法用于获取并存储token,存储至access_token.yml中;

   2)参数”api_name“的取值是配置文件api_config.yml中的接口名称,比如:login、asset_main和loan_lend。同样封装了一个类ReadYaml,方法是取配置文件中各接口的”method、url、data、headers和expected“等;

   3)除了登录接口,其他接口的headers均需要token值,所以在处理headers时要区分登录接口和其他接口;

   4)建议:添加异常处理捕获异常,输出自定义的错误信息。

4. 使用Pytest管理测试用例

   1)在执行所有用例之前先执行登录接口,获取token。所以把登录接口的请求放在conftest.py文件中

  2) 把每个功能模块封装成一个类,每个用例封装成一个方法。例如资产模块的用例如下:

5. 添加日志模块

   1)使用配置文件配置loggers、handlers和formatters(日志器、处理器和格式器),文件名称是log.conf

   2)使用fileConfig()函数读取日志配置文件

6. 生成测试报告

   1)安装pytest-html插件。也可以使用allure插件生成测试报告,但是如果pytest版本过高,就无法识别allure插件

   2)添加“--self-contained-html”可以整合样式文件到html文档中,方便之后发送测试报告到邮箱

pytest.main(['-v', '--html=report/all_report.html', '--self-contained-html'])

python 自动脚本 py自动化脚本_封装

7. 测试报告发送至邮箱

python 自动脚本 py自动化脚本_封装_02

8. 优化动态数据的存储

把多个登录账号信息等动态数据放到excel表格中,使用xrld和xlutils库对表格进行读取和写入。利用excel存储测试数据,实现测试数据和测试脚本的分离,方便测试数据的维护

python 自动脚本 py自动化脚本_封装_03

9. 项目目录

一直在更新中,文件名可能与其他地方不一致

python 自动脚本 py自动化脚本_python 自动脚本_04

二、上传代码到github

1. 创建git仓库:进入项目的根目录,比如项目名是:Test,则进入Test文件夹下

命令:git init

2. 将项目内所有文件添加至仓库中

命令:git add .

3. commit到仓库

命令:git commit -m '首次提交'

4. 到github上创建Repositories后,复制仓库的地址,比如:https://github.com/XXX/Test.git

5. 将本地仓库关联到github上(很重要)

命令:git remote add origin https://github.com/XXX/Test.git

6. 上传代码到github远程仓库:其中-u是把本地master分支和远程master分支关联起来,以后再push时不需要加上-u

命令:git push -u origin master

python 自动脚本 py自动化脚本_python 自动脚本_05

7. 若再次上传,则要执行这三步:

    1)把Test中的文件都添加进来:git add .

    2)提交暂存区的文件,其中message是简要说明这次提交的信息:git commit -m "message"

    3)把本地文件推送到github上(有时候需要输入github账号和密码): git push origin master

python 自动脚本 py自动化脚本_python 自动脚本_06

8. git常用命令,可参考文章git常用命令结合若干个使用场景

9. 项目git地址:(备注:代码写的不够专业,一直在优化改进中。有兴趣的可以一起讨论)

https://github.com/ChangYixue/Test.git

三、运行测试用例的两种方法

1. 命令行模式

  1)先进入测试用例文件所在目录,然后使用“pytest”命令执行该目录下所有的测试用例文件;

  2)也可以指定某一个测试用例文件,直接在pytest后面加上文件名称即可,比如“pytest test_asset.py” 

  3)执行”某文件下的类中所有用例方法“或者”某方法“,分别用命令”pytest 文件名::类名“和”pytest 文件名::类名::方法名“

python 自动脚本 py自动化脚本_自动化_07

python 自动脚本 py自动化脚本_自动化_08

2. 在python脚本中调用pytest

四、重构接口自动化测试框架

1. 背景:公司开发人员帮忙重构了脚本,使配置测试环境、维护测试数据、取接口信息和处理接口依赖等更加灵活

2. 重构后的框架简介请移步:Python+Pytest+tox 接口自动化测试框架