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!