栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

码尚接口测试框架【1】

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

码尚接口测试框架【1】

pytest插件,运行规则以及参数,pytest.ini配置文件,跳过用例,用例执行规则,夹具

一 pytest详解以及常用的插件安装

1.pytest是python的一个非常成熟的单元测试框架(测试的是程序的最小单元:函数,方法)

2.pytest可以和所有的自动化工具或模块:selenium,requests,appium结合,实现web自动化,接口自动化,app自动化

3.它可以和allure插件生成美观以及定制化的报告,和jenkins实现持续集成

4.它有很多强大的插件

创建一个requirements.txt的文件,写入插件的名称,一次性安装所有。

插件:

pytest(本身)
pytest-html(生成简易的html报告)
pytest-xdist(多线程执行)
pytest-ordering(修改测试用例的执行顺序)
pytest-rerunfailures(失败用例重跑)
pytest-base-url(管理基础路径:测试环境/开发环境/线上环境)
allure-pytest(生成报告)

5.pytest主要用来做什么?

(1)发现测试用例

(2)执行测试用例

(3)判断测试结果

(4)生成测试报告

二 pytest默认的测试用例的规则

1.模块名(py文件)必须以test_开头或者以_test结尾

2.测试类必须以Test开头,并且不能带有ini方法

3. 测试用例必须以test开头

三 pytest用例执行的方式及参数(在命令行执行)

1. 命令行模式运行

命令: pytest

参数:

        -vs

                -v 输出详细的测试用例的信息

                -s 输出用例中的调试信息

                示例:pytest -vs

        -n 多线程执行

                示例:pytest -vs -n 2

        --reruns 失败用例重跑

                示例:pytest -vs --reruns 2

        -x 一旦出现一个用例失败则终止测试

                示例:pytest -vs --maxfail 2

        -html 生成简易的html报告

                示例:pytest -vs --html=./reports/report.html

        -k 运行包含有指定字符串的测试用例(测试用例的名称必须很规范)

                示例:pytest -vs -k "XXXX"

指定模块运行:pytest -vs ./testcases/test_XXX.py

指定文件夹运行:pytest -vs ./testcases/微信

通过node id的格式运行:pytest -vs ./testcases/weixin/模块名(test_weixin.py)::类名(TestApi)::用例名(test_02_add_flag)

2.主函数模式运行(run.py)
if __name__ == "__main__":
    pytest.main(["-vs"])
    

3.基于pytest.ini配置文件运行

(1)配置文件的名称是固定的,一般放在项目的跟目录下

(2)作用是:可以改变pytest默认的测试用例的规则

(3)不管是命令行的方式,还是主函数的方式都会自动的读取这个配置文件去运行

[pytest]
#命令行参数
addopts = -vs --html=./reports/report.html -m "smoke or user_manage"
#指定测试用例的路径
testpaths = ./testcases/
#指定测试模块的默认规则
python_files = test_*.py
#指定测试类的默认规则
python_class = Test*
#指定测试用例的默认规则
pytest_functions = test_*

markers = 
    smoke:冒烟用例
    user_manage:用户管理用例

注意:

1.一旦有编码错误,那么需要改成gb2312的编码格式或者不写中文注释

2.必须在测试用例上面加上装饰器

四 pytest测试用例的执行顺序

(仅在pycharm中显示顺序提前,allure报告中的位置不变)

默认是从上往下依次执行,改变顺序可以使用插件: pytest -ordering

@pytest.mark.run(order=3)
五 pytest跳过测试用例

(1)无条件的跳过

@pytest.mark.skip(reason="这里写跳过的理由")

(2)有条件的跳过

@pytest.mark.skipif(age<5条件语句,reason="少于10年工作经验不考虑录取-跳过的理由")
六.pytest测试用例的前后置

setup_class , teardown_class, setup, teardown 存在耦合情况,尽量使用非耦合

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/741322.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号