pytest + allure 实现接口自动化测试

参考链接

pytest 官网:https://docs.pytest.org/en/stable/
allure :http://allure.qatools.ru/
allure 下载地址: Central Repository: io/qameta/allure/allure-commandline/2.13.8

pytest 测试用例识别

  • 测试文件
    • test_*.py
    • *_test.py
  • 用例识别
    • Test*类包含的所有test_*的方法(测试类不能带有__init__方法)
    • 不在class中的所有的test_*方法
  • pytest也可以执行unittest框架写的用例和方法

pytest 命令行参数

  • 终端执行
    • pytest/py.test
    • pytest –v (最高级别信息–verbose) 打印详细运行日志信息
    • pytest -v -s 文件名 (s是带控制台输出结果,也是输出详细)
    • pytest 文件名.py 执行单独一个pytest模块
    • pytest 文件名.py::类名 运行某个模块里面某个类
    • pytest 文件名.py::类名::方法名 运行某个模块里面某个类里面的方法
  • 报错停止运行
    • pytest -x 文件名 一旦运行到报错,就停止 运行
    • pytest —maxfail=[num] 当运行错误达到num的时候就停止 运行
    • pytest -k "类名 and not 方法名” 执行某个关键字的用全
    • pytest -m [标记名] @pytest.mark.[标记名] 将运行有这个标记的测试用例

pycharm 设置pytest环境

接口测试

测试人论坛接口

def test_topic():
    print("测试人")
    result = requests.get('https://ceshiren.com/t/topic/11745.json')
    print(result)
    result_json = result.json()
    assert 11745 == result_json['id']

allure 安装

1、Java 1.8
2、安装 Allure
3、allure-pytest
pip install allure-pytest

获取公开课合集

allure 命令行运行

pytest --alluredir ./result 
allure serve ./result

课后小作业

回复课程贴,回复人的姓名 ,来验证这个姓名 是否正确

沙发

:shamrock: :shamrock: :shamrock: