Serie Pytest (18): el uso básico de Allure-Pytest del complemento de informe de prueba súper hermoso

Si quieres aprender Pytest desde cero, ¡puedes consultar esta serie de artículos!

https://www.cnblogs.com/poloyy/category/1690628.html

 

Introduccion oficial

  1. Allure Framework es una herramienta de informe de prueba multilingüe flexible y liviana, que no solo puede mostrar el contenido probado de manera muy concisa en forma de un informe web conciso, sino que también permite a todos los involucrados en el proceso de desarrollo extraer la mayor utilidad de las pruebas diarias Informacion
  2. Desde una perspectiva de desarrollo / garantía de calidad, el informe Allure puede acortar el ciclo de vida de los defectos comunes: puede dividir las fallas de las pruebas en pruebas de errores y daños, y puede configurar el registro, el paso, el accesorio, los archivos adjuntos, los tiempos, el historial y el TMS Sistema de integración y seguimiento de errores, para que los desarrolladores y evaluadores responsables tengan toda la información
  3. Desde la perspectiva de los gerentes, Allure proporciona un claro "global" que cubre las funciones cubiertas, la ubicación de la recolección de defectos, la aparición del cronograma de ejecución y muchas otras cosas convenientes
  4. La modularidad y escalabilidad de Allure aseguran que siempre pueda ajustar algo para que Allure sea más adecuado para usted

 

Introducción personal

  1. Para la administración, el informe de la prueba es, por supuesto, más intuitivo, conciso y claro de los datos, y Allure satisface tantos puntos anteriores, y está bien integrado con pytest
  2. En comparación con pytest-html, ¡el informe de Allure es realmente perfecto! !
  3. El único inconveniente es que la función de extensión necesita agregar un decorador al conjunto de casos de prueba

 

Instalar complemento

pip3 instalar allure-pytest -i http: // pypi.douban.com/simple/ --trusted-host pypi.douban.com

 

Inicio rápido

Esta es la estructura del paquete del código en ejecución

# Es el nombre de la carpeta de proyecto 
15allure
│ conftest.py
│ test_1.py__init__ .py
├─test_51job
│ │ conftest.py
│ │ test_case1.py
│ │   __init__ .py
├─test_toutiao
│ │ test_case2.py
├─test_weibo
│ │ conftest.py
│ │ test_case3.py
│ │   __init__ .py

 

El conftest.py más externo

# 外层 conftest.py 

@ pytest.fixture (scope = " session " )
 def login ():
     print ( " ==== Función de inicio de sesión, cuenta de devolución, token === " )
    nombre = " testyy " 
    token = " npoi213bn4 " 
    nombre del rendimiento , impresión de token
     ( " ==== 退出 登录 !!! ==== " )
Ver código

 

Prueba más externa_1.py

importar pytest


@ pytest.mark.parametrize ( " n " , list (range (5 )))
 def test_get_info (login, n):
    dormir ( 1 )
    nombre, token = inicio de sesión
     print ( " *** Caso de uso básico: obtener información personal del usuario *** " , n)
     print (f " nombre de usuario: {nombre}, token: {token} " )
Ver código

 

conftest.py bajo el paquete test_51job

importar pytest


@ pytest.fixture (scope = " module " )
 def open_51 (inicio de sesión):
    name, token = login
     print (f " ### user {name} abre 51job website ### " )
Ver código

 

test_case1.py bajo el paquete test_51job

desde el momento importa dormir

importar pytest


@ pytest.mark.parametrize ( " n " , list (range (5 )))
 def test_case2_01 (open_51, n):
    sleep ( 1 )
     print ( " 51job, enumerar todos los casos de uso de trabajo " , n)


@ pytest.mark.parametrize ( " n " , list (range (5 )))
 def test_case2_02 (open_51, n):
    sleep ( 1 )
     print ( " 51job, encuentra todos los trabajos de python " , n)
Ver código

 

test_case2.py bajo el paquete test_toutiao

desde el momento importa dormir

importar pytest


@ pytest.mark.parametrize ( " n " , list (rango (5 )))
 def test_no_fixture (inicio de sesión, n):
    sleep ( 1 )
     print ( " == no __init__ caso de prueba, ingresé el título == " , inicio de sesión)
Ver código

 

conftest.py bajo el paquete test_weibo

importar pytest


@ pytest.fixture (scope = " function " )
 def open_weibo (inicio de sesión):
    name, token = login
     print (f " &&& user {name} volver a la página de inicio de Weibo &&& " )
Ver código

 

test_case3.py bajo el paquete test_weibo

desde el momento importa dormir

importar pytest


@ pytest.mark.parametrize ( " n " , lista (rango (5 )))
 clase TestWeibo:
     def test_case1_01 (self, open_weibo, n):
        sleep ( 1 )
         print ( " Comprobar Weibo Hot Search " , n)

    def test_case1_02 (self, open_weibo, n):
        sleep ( 1 )
         print ( " Ver Weibo Fan Bingbing " , n)
Ver código

 

Comando de ejecución

Para permitir que Allure recopile los resultados de la prueba durante la ejecución de la prueba, simplemente agregue la   opción --alluredir y proporcione una ruta a la carpeta donde se deben almacenar los resultados

pytest -n auto --alluredir = ritmo

 

El resultado resultante

Como puede ver, este no es el resultado que queremos, un montón de archivos json, txt ...

 

Para ver el informe real después de completar la prueba, debe usar la línea de comando Allure para permitir que los resultados de la prueba generen un informe

encanto servir encanto

Luego, el informe generado se mostrará automáticamente en el navegador predeterminado

 

Ver suites (casos de prueba de nivel de función)

Del paquete nombre-módulo nombre-prueba caso

 

Ver suites (casos de prueba a nivel de clase)

Del paquete nombre-módulo nombre-clase nombre-caso de prueba

 

Ver detalles del caso de prueba

  • parámetros : si usa  @ pytest.mark.parametrize  , puede ver qué parámetros y valores correspondientes se pasan en los parámetros de la derecha
  • configurar : llamar a la operación previa del dispositivo
  • derribar : llamar a la operación posterior a la fijación 

 

Estructura de informe de Allure

  • Resumen: Resumen
  • Categorías: categorías, el valor predeterminado se divide en error y error, todos los resultados de ejecución son uno de ellos se clasificarán en la categoría, puede ver rápidamente qué casos de uso fallan y error aquí
  • Suites: suite de pruebas, que es la relación jerárquica de todos los casos de uso, puede encontrar casos de uso de acuerdo con el paquete, módulo, clase, método
  • Gráficos: resultados de pruebas gráficas, incluidos gráficos de distribución de resultados de ejecución de casos de uso, prioridades, tiempo, etc.
  • Línea de tiempo: puede ver el tiempo de prueba preciso (orden de ejecución) de los casos de prueba, incluido el tiempo de ejecución
  • Comportamientos: impulsado por el comportamiento, casos de prueba grupales según épica, característica, historia (se discutirá más adelante)
  • Paquetes: esto es para agrupar casos de prueba de acuerdo con el paquete y el módulo
 

 

Supongo que te gusta

Origin www.cnblogs.com/poloyy/p/12712616.html
Recomendado
Clasificación