1. Ejecutar en modo de línea de comandos
Ejecutar todos los casos de uso en un directorio determinado y todos los casos de uso que cumplan con la especificación
Ingrese al directorio correspondiente y ejecute pytest directamente; por ejemplo, debe ejecutar todos los casos de uso en casos de prueba; puede ingresar al directorio de casos de prueba; luego ejecute pytest
Ingrese al directorio de nivel superior del directorio correspondiente y ejecute el nombre del directorio pytest/ ; ; Por ejemplo, debe ejecutar todos los casos de uso en casos de prueba; puede estar en el directorio estudio_proyecto; y luego ejecute pytest casos de prueba/
Ejecutar el caso de uso bajo un determinado archivo py
pytest script nombre.py
Ejecutar una función en el módulo .py
pytest test_mod.py::Clase de prueba
Ejecutar una función en el módulo .py
pytest test_mod.py::test_func
En el módulo run.py, cierta clase de prueba
pytest test_mod.py::Clase de prueba
Ejecute el módulo .py, pruebe un método en la clase
pytest test_mod.py::TestClass::test_method
Varias combinaciones
pytest test_mod1.py::TestClass::test_method test_mod2.py
marcar correr
pytest -m login ejecuta el caso de uso marcado como inicio de sesión
Dos, el método principal se ejecuta
En general, especifique la ruta y los parámetros que deben ejecutarse en el directorio raíz del proyecto
3. A través del archivo de configuración global pytest.ini
¿Dónde se debe colocar pytest.ini? Simplemente colóquelo en el directorio raíz del proyecto, no se meta, no se meta con otros nombres
Elementos de configuración comunes
marcas
Función: El decorador @pytest.mark.webtest se agrega al caso de prueba.Si no se agrega la opción de marcas, se informarán las advertencias.
Formato: lista tipo lista
Escribiendo:
# mark
markers =
smoke:冒烟用例
order
: 订单用例
product: 商品用例
Cambiar las reglas de recopilación de casos de prueba
Reglas de recopilación de casos de prueba predeterminadas de Pytest
- Los nombres de archivo comienzan con archivos test_*.py y *_test.py
- funciones que comienzan con test_
- Una clase que comienza con prueba no puede contener un método __init__
- Métodos en clases que comienzan con test_
Podemos modificar o agregar esta regla de recopilación de casos de uso, por supuesto, se recomienda agregarla a la regla original, de la siguiente manera:
rutas de prueba=casos de prueba/estudio_prueba/
python_files =test_* *_test test*
python_classes =Test* test*
python_functions =test_* test*
Observaciones: testpaths=testcases/test_study/ Si pytest se ejecuta en el directorio raíz del proyecto, el directorio de ejecución actual se usará como la ruta relativa y se ejecutarán los archivos bajo test_study bajo los casos de prueba en el directorio raíz; otros no será ejecutado
Por ejemplo:
producción:
adopta
Función: el parámetro addopts puede cambiar las opciones predeterminadas de la línea de comandos. Cuando ingresamos un montón de instrucciones en cmd para ejecutar el caso de uso, podemos usar este parámetro en su lugar, ahorrando el trabajo repetitivo de escribir comandos.
# 例如命令行参数,失败重跑两次,一共运行两次,生成测试报告
addopts = -v --reruns=
1
--count=
2
--html=reports.html --self-contained-html -n=auto
log_cli
Rol: registro de salida en tiempo real de la consola
Formato: log_cli=verdadero o falso (predeterminado), o log_cli=1 o 0