pytest 安装
pip install pytest
Allure插件安装
以前都写的是pytest-allure-adaptor
不过进官方主页说已经停更了
现在安装插件
pip install allure-pytest
生成html还需要安装
Allure安装
下载https://dl.bintray.com/qameta/generic/io/qameta/allure/
解压缩后添加PATH
依赖JAVA1.8 自行下载添加PATH
简单用法介绍
pytest .\test_1.py --alluredir ./report/
allure generate ./report/ -o ./html/ --clean
allure serve ./report/
详细说明
https://docs.qameta.io/allure/#_pytest
https://docs.pytest.org/en/latest/
#-*- coding:utf-8 -*-
__author__ = "Mason"
import allure
import pytest
import requests
# 基于pytest requests测试 接口
#('Feature1') # feature定义功能
@allure.feature('feature1')
class TestRequestDemo:
# 初始化
url = "http://jsonplaceholder.typicode.com"
session = requests.session()
# 测试获取所有用户信息接口
@allure.story('测试获取所有用户信息接口')
def test_get_posts(self):
r = self.session.get(self.url + "/posts")
# 断言状态码
assert r.status_code == 200
# 断言响应头信息
assert r.headers["Content-Type"] == "application/json; charset=utf-8"
# 断言用户总数
assert len(r.json()) == 100
# 测试获取指定用户信息接口
@allure.story('获取指定用户信息接口') # story定义用户场景
def test_get_posts_by_id(self):
r = self.session.get(self.url + "/posts/1")
# 断言状态码
assert r.status_code == 200
# 断言响应头信息
assert r.headers["Content-Type"] == "application/json; charset=utf-8"
# 验证用户id
data = r.json()
assert data["userId"] == 1
# 测试删除指定用户信息接口
@allure.story('删除指定用户信息接口') # story定义用户场景
def test_delete_posts_by_id(self):
r = self.session.delete(self.url + "/posts/1")
# 断言状态码
assert r.status_code == 200
# 断言响应头信息
assert r.headers["Content-Type"] == "application/json; charset=utf-8"
pytest .\test_2.py --alluredir ./report/ --allure-features feature1 --allure-stories 测试获取所有用户信息接口
allure generate ./report/ -o ./html/ --clean
生成结果