python + pytest + allure generar informe de prueba

1. Preparación ambiental

1. Descarga la dirección de encanto:

Método 1: dirección de descarga de git https://github.com/allure-framework/allure2/releases

Encuentra la versión que quieres descargar

Método 2: Dirección de descarga: Repositorio central: io/qameta/allure/allure-commandline/2.17.3 https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.17.3/
Elige una versión:

2. Configure las variables de entorno de Allure

Descomprima el archivo allure descargado y busque la ruta del directorio del archivo bin

Mac:

        Ponga la ruta en .bash_profile, de la siguiente manera:

PATH="/Users/XXX/allure-2.17.3/bin:${PATH}"
export PATH

        o:

export /Users/XXX/allure-2.17.3/bin

        Entonces:

source ~/.bash_profile

        Windows: solo configúralo en la variable de entorno

        Luego reinicie pycharm

3. Allure necesita compatibilidad con jdk para ejecutarse, así que recuerda instalar jdk

        Descargar e instalar en línea

4. Instale el complemento allure-pytest

        Se puede instalar a través de pycharm

        También se puede instalar con pip install allure-pytest


dos,

Use el complemento allure-pytest para generar un archivo de informe de prueba en formato html

1. pytest --alluredir=informe (carpeta) xxx.py

El resultado de la ejecución se imprime en el terminal y, al mismo tiempo, se genera una carpeta de informes que contiene los resultados de la prueba en formato json.

Si se sigue generando, siempre se superpondrá -----> primero borre el directorio y luego genere los resultados de la prueba:

pytest --alluredir=informe --clean-alluredir xxx.py

2. Genere un informe de prueba en formato HTML:

①allure generar informe (carpeta) -----> almacenado en la carpeta allure-report por defecto

②allure generar informe -o test_report----->Especificar para almacenar en la carpeta test_report

Si la carpeta test_report ya existe:

encanto generar -c informe -o test_report


3. Cómo ejecutar a través del código, cómo refinar el informe de prueba a través de decoradores

1 caso 

import pytest
import allure
 
# 设置一条测试用例的每个步骤(方法1)
@allure.step("测试第一步")
def step_1():
    pass
 
@allure.step("测试第二步")
def step_2():
    pass
 
# 按照模块子模块或功能点子功能点, 对测试用例进行分组
@allure.epic('后台管理模块')
@allure.feature('登录功能点')
@allure.story('正常登录')
def test_a():
    # 设置一条测试用例的每个步骤(方法2)
    with allure.step("测试第一步"):
        pass
 
    with allure.step("测试第二步"):
        assert 1 == 2
 
    with allure.step("测试第三步"):
        pass
 
@allure.epic('后台管理模块')
@allure.feature('登录功能点')
@allure.story('用户名错误登录')
@allure.issue('http://127.0.0.1:80/zantaopms/')
@allure.testcase('http://www.baidu.com/')
# 设置测试用例的标签, 可以设置多个
@allure.tag("回归测试", "重要")
# 设置测试用例的级别  blocker > critical > normal > minor > trivial
@allure.title('测试登录:用户名错误')
@allure.description('测试登录:测试用例描述信息')
@allure.severity("blocker")
def test_b1():
    step_1()
    step_2()
 
@allure.epic('后台管理模块')
@allure.feature('商品管理')
def test_c():
    assert 1 == 1
 
def test_d():
    assert 1 == 2
 
def test_e():
    assert 1 == 2

2. Crear una entrada de marco

import pytest
import os
 
if __name__ == '__main__':
    result_dir = "./test_result"
    report_dir = "./test_report"
    # pytest.main() 相当于执行pytest命令
    pytest.main(["-sv", "--alluredir=%s"%result_dir, "--clean-alluredir", "test_allure_markers.py"])
    ret = os.system("allure generate --clean %s -o %s" % (result_dir, report_dir))
    if ret:
        print('生成测试报告失败')
    else:
        print('生成测试报告成功')


 

4. Visualización de resultados

5. Algunas funciones de allure

Marcar puntos de prueba: @allure.feature se puede usar para personalizar el título de la clase de prueba, como: iniciar sesión

Marcar caso de prueba: @allure.story se puede usar para personalizar el título del método de función, como: inicio de sesión exitoso

Casos de prueba: parametrizados/controlados por datos: @pytest.mark.parametrise

Paso de prueba: @allure.step

@pytest.allure.step: se puede usar para definir el nombre del paso de llamada para el método de función. llamada po - descripción del paso. (Recomendación: diseño jerárquico po, método de función de llamada y decorador de uso para especificar el nombre del paso)

with allure.step: registre el paso en la ubicación especificada, y el bloque de instrucciones contenido en with es la operación que debe realizar el paso.

allure.attach: agregue un archivo adjunto a la anotación, como una captura de pantalla. allure.adjuntar(nombre, cuerpo, tipo)

@allure.issue("url"): Errores asociados, como: Zen Road xxbug

@allure.testcase("url"): caso asociado, como: Zen Road xxcase
 

Supongo que te gusta

Origin blog.csdn.net/Jiazengzeng/article/details/123074297
Recomendado
Clasificación