Pytest test framework (1) -instalación y puesta en marcha

Tabla de contenido

Uno, implementación del entorno

2. Principios de diseño de casos de uso

Tres, el método de juzgar el resultado de ejecución del caso de uso

Cuatro, archivo de configuración yaml

Cinco métodos de uso común para ejecutar casos de uso

Seis, generación de informes de prueba


Uno, implementación del entorno

En primer lugar, se debe instalar el entorno Python, seguido de las bibliotecas pycharm y pytest. Otros se pueden instalar según sea necesario y se pueden usar más adelante:

 

Bibliotecas / complementos / herramientas

metodo de instalacion

usar

1

Instalar Python 3.x

   

2

Instalar pycharm

 

 

3

Instalar la biblioteca pytest

pip instalar pytest

biblioteca pytest

4

Instalar yaml

pip instalar pyyaml

Archivo de configuración

5

Instalar pytest -html

pip instalar pytest-html

Generar informe html

6

Instalar allure

pip instalar allure-pytest

Describe casos de prueba

 

2. Principios de diseño de casos de uso

Hay cuatro puntos principales:

1. El nombre de archivo del caso de prueba se llama test _ *. Py o * _test.py;

2. El método o función comienza con test_;

3. La clase comienza con Test_;

4. Todos los paquetes deben tener el archivo __init__.py.

Además, si desea ejecutar casos de prueba directamente en pycharm, debe agregar:

if __name__ == "__main__":

    pytest.main('-q 用例.py')

 

Tres, el método de juzgar el resultado de ejecución del caso de uso

Pytest establece el resultado de ejecución esperado del caso de uso a través de la aserción de aserción, y juzga si el resultado de ejecución real es consistente con él. El método de uso es el siguiente:

1. Para probar si los tamaños son iguales, assert puede usar directamente símbolos como "==", "! =", "<", ">", "> =", "<=" Para comparar iguales, desiguales, menor que, mayor que, mayor o igual que, y menor o igual que, por ejemplo:

assert 1 != 2

2. Para probar la inclusión y la exclusión, assert puede usar directamente en y no en para comparar la inclusión y la exclusión, por ejemplo:

 assert a in b

3. Probar verdadero o falso, aseverar puede determinar directamente si el objeto es verdadero sin ningún símbolo auxiliar, aseverar no se usa para determinar si el objeto es falso, por ejemplo:

assert 1

La falla de afirmación generalmente puede ver el siguiente resultado, lo que significa que el resultado de ejecución de la falla del caso de uso no coincide con mi éxito esperado, es decir, la ejecución de este caso de uso falla:

 

Por supuesto, también puede especificar la información de devolución para el error de afirmación como se muestra a continuación:

assert a % 2 == 0, "值为奇数,应为偶数"

Además, pytest puede proporcionar información contextual rica en la comparación de afirmaciones. P.ej:

def test_set_comparsion():
    set1 = set("111")
    set2 = set("222")
    assert set1 == set2

 

Cuatro, archivo de configuración yaml

1, yaml (otro lenguaje de marcado): es un lenguaje especialmente utilizado para escribir archivos de configuración.

2. Reglas gramaticales básicas de yaml:

      Distingue mayúsculas y minúsculas;

      Use sangría para indicar relaciones jerárquicas (nota: aquí solo se permiten espacios para indicar sangría, el número de espacios no es importante y la tecla Tab no está permitida);

      El lado izquierdo de los elementos del mismo nivel debe estar alineado;

      Use # para indicar un comentario;

3. Tres estructuras de datos compatibles con yaml:

      Objeto: una colección de pares clave-valor, también conocida como mapeo / hash / diccionario;

      Matriz: un conjunto de valores dispuestos en orden, también conocido como secuencia / lista;

      Escalares: Un valor único e indivisible. Cadena, booleano, entero, punto flotante, nulo, hora, fecha;

4. Método de lectura y conversión

      Utilice el método abierto para leer los datos del archivo yaml;

      Luego conviértalo en un diccionario mediante el método de carga;

 

      Por ejemplo, puse algo de información de la máquina virtual Linux en el archivo config.yaml:

hostname: '10.2.12.87'  #ip
port: 22
username: 'root'
password: '123456'

              Luego, en el caso de uso, puede leer directamente el archivo config.yaml y usar estos datos:

file = open("/TestData/config.yaml", encoding='utf-8')
res = yaml.load(file, Loader=yaml.Fullloader)
hostname = res['hostname']
port = res['port']
username = res['username']
password = res['password']

 

Cinco métodos de uso común para ejecutar casos de uso

1. Ejecute todos los casos de uso en una carpeta:

nombre de la carpeta pytest /

2. Ejecute un caso de uso único

pytest ejemplo .py

3. -k EXPRESSION coincide con la palabra clave

pytest -k 'test_method o test_other'

Se ejecutarán todos los métodos o clases cuyos nombres contengan 'test_method' o'test_other '

4. -m expresión de marca MARKEXPR

Ejecutará todas las pruebas decoradas con @ pytest.mark.slow decorator

5. -v aumenta la salida de ejecución de casos de uso redundantes; -q reduce la salida de ejecución de casos de uso redundantes

6. -x detiene la ejecución tan pronto como encuentra un error

7. --maxfail = num detiene la ejecución cuando el error alcanza un cierto número

8. --lf (--last-failed) solo ejecuta los casos de uso que fallaron la última vez

9. --ff (--failed-first) primero ejecuta el caso de uso que falló la última vez y luego ejecuta otros casos de uso

10. El contenido de la impresión en el caso de uso de impresión -s

 

Seis, generación de informes de prueba

El módulo pytest-html se utiliza para generar informes de prueba. Si desea generar informes de prueba, puede ejecutar casos de uso de esta manera:

pytest 用例.py --html=/路径/report.html

O ejecútelo así, puede fusionar el estilo css en el html:

pytest --html=/路径/report.html --self=contained-html

El efecto del informe es así:

 

Supongo que te gusta

Origin blog.csdn.net/wxt_hillwill/article/details/111571303
Recomendado
Clasificación