Práctica de informe de prueba de atractivo de prueba súper detallada y automatizada (resumen)


Prefacio

Allure puede generar informes de prueba muy hermosos y también se puede combinar perfectamente con pytest, no solo puede representar páginas, sino también controlar la ejecución de casos de uso. La siguiente es una introducción detallada y un resumen del uso de Allure.

Entorno que necesita estar preparado:
python;
pytest;
allure-pytest;
herramienta allure;

1. descripción del caso de uso atractivo

Instrucciones Valor del parámetro Descripción de parámetros
@alure.epic() descripción épica Conceptos ágiles, describiendo y clasificando casos de uso o conjuntos de casos de uso.
@allure.feature() Nombre del módulo Similar a Epic, pero de menor nivel que Epic.
@allure.historia() historias de usuarios Similar a Epic, pero inferior al nivel de función.
@allure.title (título del caso de uso) Título del caso de uso Cambiar el nombre del caso de uso del informe html
@allure.testcase() Dirección de enlace del caso de prueba Similar al enlace
@ encanto.edición() defecto Similar al enlace
@allure.descripción() Descripción del caso de uso Descripción de casos de prueba.
@encanto.paso() Pasos Pasos para realizar casos de prueba
@allure.severidad() nivel de caso de uso bloqueador, crítico, normal, menor, trivial
@encanto.enlace() Enlace Defina un enlace para mostrar en el informe de prueba (recomendado)
@allure.archivo adjunto() apéndice Agregar archivos adjuntos al informe

2. demostración práctica atractiva

# -*- coding:utf-8 -*-
import pytest
import allure
from base.log import Logger
logger = Logger(logger_name='allure', level='error').get_logger()


@pytest.fixture(scope="session")  # 用例前置操作
def login_fixture():
    # 比如登录获取token操作
    return "token:xx"


@allure.step("用例步骤1")
def step_1():
    logger.info("用例操作---------------步骤1")
    return True


@allure.step("用例步骤2")
def step_2():
    logger.info("用例操作---------------步骤2")
    return False


@allure.step("用例步骤3")
def step_3():
    logger.info("用例操作---------------步骤3")
    return True


@allure.epic("可以对用例或用例集进行描述分类(若出现多个时,内容一致则自动归为一类)")
@allure.feature("对用例集或用例进行描述分类---与epic类似,只是比epic级别低")
@allure.story("对用例集或用例进行描述分类---与epic类似,只是比feature级别低")
class TestAllureDemo:

    @allure.testcase("https://xxx/testcase/list",
                     name='用例链接testcase')  # 为了更好的链接到问题分类或者bug、测试用例地址中(url、name两个参数,可不填写name;可以用@allure.link)
    @allure.link("https://xxx/testcase/list", name='用例链接link')  # 与testcase没有多大区别,从可读性角度还是建议选择@allure.link
    @allure.issue("https://xxx/testcase/list", name='用例链接issue')  # 与testcase区别在于有小虫子图标
    @allure.title("用例的标题")  # 可参数化标题
    @allure.story("用例分类:1")  # 可参数化标题
    @allure.severity("critical")    # 用例等级(blocker critical normal minor trivial)
    def test_case_1(self, login_fixture):
        """
        1.用例描述
        2.用例步骤
        3.预期结果
        """
        logger.info(login_fixture)  # 获取用例前置的信息,比如登录token
        assert step_1()
        assert step_2()

    @allure.story("用例分类:2")
    def test_case_2(self, login_fixture):
        logger.info("测试用例2")
        assert step_1()
        assert step_3()


@allure.epic("冒烟自动化用例")
class TestDemo2:

    @allure.story("用例分类:3")
    def test_case_3(self, login_fixture):
        logger.info("测试用例3")
        step_1()

    @allure.story("用例分类:4")
    def test_case_4(self, login_fixture):
        logger.info("测试用例4")
        step_3()

3. Parámetros de la línea de comando de Allure

Cuando pytest ejecuta casos de uso, puede agregar el parámetro mark all para controlar qué casos de uso se ejecutan.

--allure-severities=SEVERITIES_SET
                        Comma-separated list of severity names. Tests only
                        with these severities will be run. Possible values
                        are: blocker, critical, normal, minor, trivial.
--allure-epics=EPICS_SET
                        Comma-separated list of epic names. Run tests that
                        have at least one of the specified feature labels.
--allure-features=FEATURES_SET
                        Comma-separated list of feature names. Run tests that
                        have at least one of the specified feature labels.
--allure-stories=STORIES_SET
                        Comma-separated list of story names. Run tests that
                        have at least one of the specified story labels.
--allure-link-pattern=LINK_TYPE:LINK_PATTERN
                        Url pattern for link type. Allows short links in test,
                        like 'issue-1'. Text will be formatted to full url
                        with python str.format().

Los ejemplos son los siguientes:

# 选择运行你要执行epic的用例
pytest --alluredir ./report/allure --allure-epics=epic对大Story的一个描述性标签

# 选择运行你要执行features的用例
pytest --alluredir ./report/allure --allure-features=模块2

# 选择运行你要执行features的用例
pytest --alluredir ./report/allure --allure-stories="用户故事:1"

4. Ejecute el script-allure para generar el informe e iniciar el informe.

Modo de ejecución uno:
ejecute pytest en modo de línea de comando para generar archivos de resultados de prueba

pytest demo.py --alluredir ./report/allure

El programa allure inicia el archivo que se ha producido.

allure serve ./report/allure

Método de ejecución dos:
escribir el método de inicio y ejecutar pytest

pytest.main([allure_demo.py, "--alluredir", "report/result"])

Utilice el proceso para iniciar el servicio de atracción.

import subprocess

subprocess.call('allure generate report/result/ -o report/html --clean', shell=True)
subprocess.call('allure open -h 127.0.0.1 -p 9999 ./report/html', shell=True)

(Ambos métodos requieren que se instale la herramienta Allure)

5. Representaciones de informes y anotaciones.

E1

El siguiente es el diagrama del sistema de arquitectura de conocimiento de aprendizaje de ingenieros de pruebas de software más completo que compilé en 2023.

1. Programación en Python desde el nivel básico hasta el dominio

Por favor agregue la descripción de la imagen.

2. Implementación práctica de proyectos de automatización de interfaces.

Por favor agregue la descripción de la imagen.

3. Combate real del proyecto de automatización web.

Por favor agregue la descripción de la imagen.

4. Implementación práctica del proyecto de automatización de aplicaciones.

Por favor agregue la descripción de la imagen.

5. Currículums de los fabricantes de primer nivel.

Por favor agregue la descripción de la imagen.

6. Probar y desarrollar el sistema DevOps

Por favor agregue la descripción de la imagen.

7. Herramientas de prueba automatizadas de uso común

Por favor agregue la descripción de la imagen.

8. Prueba de rendimiento de JMeter

Por favor agregue la descripción de la imagen.

9. Resumen (pequeña sorpresa al final)

En el escenario donde brilla el sol, la lucha es el brillo del florecimiento; en el viaje del viento y la lluvia, el trabajo duro alcanza la gloria sin remordimientos. ¡Persevera, avanza con valentía, riega las flores de tus ideales con tu sudor y deja que tu arduo trabajo y perseverancia creen una deslumbrante obra maestra de la vida!

La victoria es de quienes no temen las dificultades y se atreven a luchar, sólo avanzando podremos superarnos y perseguir nuestros sueños. Persevera y nunca te rindas, y nunca dejes de luchar. ¡Solo así podrás escribir tu propio capítulo glorioso y lograr posibilidades ilimitadas!

La lucha es la pasión de la vida y el trabajo duro es el escenario para realizar los sueños. No importa cuán accidentado sea el camino que tenemos por delante, la búsqueda persistente y la perseverancia inquebrantable abrirán el camino hacia el éxito. ¡Quema la fe en tu corazón, suda mucho, logra tu propia gloria y crea una vida extraordinaria!

Supongo que te gusta

Origin blog.csdn.net/m0_60054525/article/details/131918923
Recomendado
Clasificación