Строго говоря, Allure — это не фреймворк для тестирования, а инструмент с открытым исходным кодом для создания красивых отчетов о тестировании, который больше подходит для еды с фреймворком для тестирования Pytest.
То есть Allure обрабатывает и собирает статистические данные тестовых данных на основе тестовых данных, сгенерированных после выполнения Pytest, и создает единый и красивый отчет о тестировании.
1. Первое знакомство с Allure
1. Что такоеAllure
AllureЭто платформа отчетов о тестировании, исходный код которой открыт командой Qameta Software, чтобы решить проблему упрощения для всех создания и чтения более кратким. Он поддерживает большинство тестовых фреймворков, таких как: Pytest, TestNG и т. д., прост в использовании и легко интегрируется.
2. Очарование окружающей среды
Если рабочий хочет хорошо работать, он должен сначала заточить свои инструменты,AllureПлатформа основана на других средах тестирования, таких как Pytest.
# windows env
source env/Scripts/activate
# 安装 pytest 和 pytest-allure-adaptor
pip3 install pytest
# Allure Pytest Adaptor是Pytest的一个插件(比较旧的一个插件)
# allure-pytest 比较新一点,建议使用
pip3 install pytest-allure-adaptor
pip3 instal allure-pytest
# 安装Allure工具,主要是讲pytest的测试数据转换成HTML数据
# linux环境安装
# 现将allure源添加到linux的源里
sudo apt-add-repository ppa:qameta/allure
# 更新本地源
sudo apt-get update
# 安装allure,[allure无法使用的解决方案](https://askubuntu.com/questions/1168821/allure-report-installed-but-not-findable)
sudo apt-get install allure
# 上面的方法不行的话,用下面的方法
curl -o allure-2.6.0.tgz -Ls https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.6.0/allure-2.6.0.tgz
sudo tar -zxvf allure-2.6.0.tgz -C /opt/
sudo ln -s /opt/allure-2.6.0/bin/allure /usr/bin/allure
allure --version
# Windows 下安装就麻烦点,可以使用 Scoop 工具(Chocolatey工具不知道为什么安装不了),不管了官方推荐使用 Scoop 安装就使用 Scoop 安装得了
# 先安装[Scoop](https://juejin.cn/post/6844904017823285262)
# 检查sccop是否安装成功
scoop --version
# 安装 allure
scoop install allure
# 查看allure是否安装成功
allure --version
2. Pytest интегрирует Allure
Allure необходимо настроить в тестовом файле и тестовом файле подстановочных знаков (conftest.py), чтобы Allure вступил в силу.
1. Особенности привлекательности
Несколько особенностей Aullre:
@allure.feature # 用于定义被测试的功能,被测产品的需求点
@allure.story # 用于定义被测功能的用户场景,即子功能点
with allure.step # 用于将一个测试用例,分成几个步骤在报告中输出
allure.attach # 用于向测试报告中输入一些附加的信息,通常是一些测试数据信息
@pytest.allure.step # 用于将一些通用的函数作为测试步骤输出到报告,调用此函数的地方会向报告中输出步骤
2. привлекательность интеграции с pytest
Пример тестового файла, создание тестовых данных, дальнейшее создание отчета о тестировании очарования
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@File : test_allure_shopping.py
@Time : 2019/12/1017:34
@Author : Crisimple
@Github : https://crisimple.github.io/
@Contact : Crisimple@foxmail.com
@License : (C)Copyright 2017-2019, Micro-Circle
@Desc : None
"""
import pytest
import allure
# allure.feature 定义功能
@allure.feature("报告购物车")
class TestAllure(object):
# 定义用户场景
@allure.story("加入购物车")
def test_add_goods_cart(self):
# 调用步骤函数
login("crisimple", "123456")
# 将测试用例分成几个步骤,将测试步骤打印到测试报告中,步骤二
with allure.step("浏览商品"):
# allure.attach--打印一些附加信息
allure.attach("商品1", "C")
allure.attach("商品2", "C")
# 步骤三
with allure.step("加入商品"):
allure.attach("商品1", 2)
allure.attach("商品2", 3)
# 步骤四
with allure.step("校验商品"):
allure.attach("商品1加入成功", "共2个")
allure.attach("商品2加入失败", "共0个")
@allure.story("继续购物")
def test_continue_shopping_cart(self):
login("crisimple", "123456")
allure.attach("商品3", 4)
print("继续购物成功")
@allure.story("减少商品失败")
def test_edit_shopping_cart(self):
login("crisimple", "123")
assert 0
@pytest.mark.skip(reason="删除购物车不执行")
@allure.story("删除购物车")
def test_delete_shopping_cart(self):
login("crisimple", "123")
print()
# 将函数作为一个步骤,调用此函数时,报告中输出一个步骤,步骤名称通常时函数名,这样的函数通常称为步骤函数
@allure.step("用户登录")
def login(user, passwd):
if user == "crisimple" and passwd == "123456":
print(user, passwd)
print("登录成功")
else:
print(user, passwd)
print("登录失败,请重新尝试")
3. Allure генерирует отчет об испытаниях
1. pytest генерирует тестовый отчет
# 执行全部的测试用例
pytest ./Allure/test_allure_shoping.py --alluredir ./Allure/result/
# 执行指定features或者stories执行一部分测试用例,比如执行‘报告购物车’下的‘加入购物车’子功能的测试用例
pytest ./Allure/test_allure_shopping.py --allure_features="报告购物车" --allure_stories="加入购物车" ../Allure/part_result/
2. Allure генерирует отчет об испытаниях
# 生成测试报告
allure generate ./Alluer/result/ -o ./Allure/report/ --clean
# 打开测试报告
allure open -h 127.0.0.1 -p 8083 ./Allure/report/
Откройте отчет об испытаниях, воловья кожа может переключить китайскую версию
Overview(概览)
Categories(类别)
Behavior(功能)
Suites(测试套件)
Graphs(图标)
Timeline(时间刻度)
Packages(测试包)
4. Сочетание Allure и Jenkins
Для крупномасштабных групп тестирования автоматическое развертывание тестов будет интегрировано в Jenkins для создания автоматизированного развертывания.
4.1 Конфигурация Дженкинса Очарование
Установите плагин Allure.
4.2 Создать задание
Путь конфигурации должен быть настроен таким же
source env/bin/activate
echo "**************Welcome to env**************"
echo "**************pytest create test data**************"
pytest /完整路径/Allure/test_allure_shopping.py --alluredir ${WORKSPACE}/allure-results/
echo "**************report has generated done**************"
4.3 Выполнение проекта
Создайте проект сейчас.