Serie Pytest (21) -Características de Allure, uso detallado de @ allure.description (), @ allure.title ()

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

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

 

Prólogo

Las características de dos aluviones se introdujeron anteriormente.

  • Decorador @ allure.step (): puede establecer pasos de prueba para que el proceso de ejecución de casos de prueba sea más detallado
  • Función allure.attach (): puede establecer los archivos adjuntos que deben mostrarse en el informe de encanto, que contiene varios tipos, puede ver los tipos admitidos a través de allure.attachment_type

En este artículo, explicamos principalmente otras dos características, que pueden aumentar la legibilidad del informe.

  • @ allure.description ()
  • @ allure.title ()

Su uso es muy similar, pero sus funciones son diferentes.

 

@ allure.description ()

Efecto

Puede agregar suficientes descripciones detalladas de casos de prueba para que la administración las verifique.

 

Hay tres formatos de sintaxis.

  • @ allure.description (str)
  • Agregue "" "" "" debajo de la declaración de función de caso de prueba
  • @ allure.description_html (str): equivalente a pasar una cadena de código HTML, similar a pasar HTML en allure.attach ()

Nota: El efecto y el efecto del método uno y el método dos son los mismos, lo que sea más conveniente

# ! / usr / bin / env python 
# - * - codificación: utf-8 - * - 

"" " 
__title__ = 
__Time__ = 2020-04-18 15:24 
__Author__ = pequeñas notas de prueba de piña 
__Blog__ = https: // www. cnblogs.com/poloyy/ 
"" " 

importación Allure 

importación Allure 

# manera un 
@ allure.description ( " "" 
este es un decorador @ allure.description 
no particularmente útil 
"" " )
 DEF test_description_from_decorator ():
     la Assert 42 == int (6 * 7 ) 

# La segunda manera 
DEF test_unicode_in_docstring_description ():
     "" "
    Por supuesto, escribir en la siguiente línea de la declaración del método también es una forma de agregar descripción
    "" " 
    afirmar 42 == int (6 * 7 ) 

# 
方式 @ allure.description_html ( " "" 
<h1> Prueba con una descripción html complicada </h1> 
<table style = "width: 100%"> 
  <tr > 
    <th> 
    Nombre </th> <th> Apellido </th> 
  </tr> 
  <tr align = "center"> 
    <td> William </td> 
    <td> Smith </td> 
</table> 
" "" )
 def test_html_description ():
     afirmar True

Resultado de la operación

Informe atractivo de la forma uno

 

Informe atractivo de la segunda forma

 

Informe de encanto de la manera tres

 

@ allure.title ()

Efecto

  • Haga que el título del caso de prueba sea más legible, después de todo, podemos escribirlo en chino
  • Soporte de marcador de posición para pasar parámetros de palabras clave

 

Castaño de hormigón uno

# ! / usr / bin / env python 
# - * - codificación: utf-8 - * - 

"" " 
__title__ = 
__Time__ = 2020-04-18 
16:09 __Author__ = pequeñas notas de prueba de piña 
__Blog__ = https: // www. cnblogs.com/poloyy/ 
"" " 

import pytest, allure 


@ allure.title ( " Pre-operation: login " ) 
@ pytest.fixture 
def test_loginss (request): 
    params = request.param 
    name = params [ " username " ] 
    pwd = params [ " pwd " ] 
    allure.attach (f "Este es el parámetro pasado por el caso de prueba {params} " )
     print (nombre, pwd, params)
     ceder nombre, pwd 


@ allure.title ( " Inicio de sesión exitoso, los datos de prueba son: {test_loginss} " ) 
@ pytest.mark.parametrize ( " test_loginss " , [ 
    { " nombre de usuario " : " nombre1 " , " pwd " : " pwd1 " }, 
    { " nombre de usuario " : " nombre2 " , "pwd " : "pwd2 " }], indirecto = verdadero)
 def test_success_login (test_loginss): 
    nombre, pwd = test_loginss 
    allure.attach (f " 账号 {nombre}, 密码 {pwd} " )

Ejecutar resultados, ver informe de encanto

¡Este es un castaño que se completa combinando múltiples métodos previamente aprendidos a la vez, y se ha marcado específicamente!

 

 

Dos castañas de hormigón

@ allure.title ( " 多个 参数 {nombre}, {teléfono}, {edad} " ) 
@ pytest.mark.parametrize ( " nombre, teléfono, edad " , [ 
    ( 1, 2, 3 ), 
    ( 4, 5 , 6 ), 
    ( 7, 8, 9 ) 
]) 
def test_test_test (nombre, teléfono, edad):
     print (nombre, teléfono, edad)

Ejecutar resultados, ver informe de encanto

 

Resumen

Si no se agrega  @ allure.title ()  , el título del caso de prueba es el nombre de la función de forma predeterminada, que no es legible. Después de todo, somos chinos, y aún es necesario mostrar el título en chino ~ por lo que se recomienda el crack de pared a todos. Ir!

 

Supongo que te gusta

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