es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No es posible ejecutar el comando pytest utilizando el archivo .bat, pero el mismo comando funciona correctamente en la terminal de pytest.

Estoy utilizando este comando en la terminal de pytest y está funcionando bien: pytest -v -s -m “sanity or regression or functional” –html=./Reports/report.html testCases/ –browser chrome –capture=tee-sys.

Pero el mismo comando, cuando lo guardo en un archivo .bat y lo ejecuto como administrador, da un error de que no se puede importar wedriver_manager.

Adjunto ambas capturas.

run.bat – NO OK.

Imagen

terminal de pycharm – OK.

Imagen

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    La incidencia puede estar relacionada con las variables de entorno o la ruta de Python establecida en el archivo .bat. Cuando se ejecuta el comando en la terminal de PyCharm, el entorno ya está configurado correctamente, pero al ejecutarlo en el archivo .bat, es posible que no sea el caso.

    Para solucionar este problema, puedes intentar agregar las siguientes líneas al principio del archivo .bat:

    set PATH=%PATH%;C:\ruta\hacia\la\carpeta\chromedriver
    set PYTHONPATH=%PYTHONPATH%;C:\ruta\hacia\la\carpeta\webdriver\manager
    

    Reemplaza “C:\ruta\hacia\la\carpeta\chromedriver” y “C:\ruta\hacia\la\carpeta\webdriver\manager” con las rutas reales donde se encuentran los archivos respectivos en tu sistema.

    Además, asegúrate de incluir el módulo webdriver_manager en las dependencias del proyecto en PyCharm e instálalo usando pip si es necesario.

    Otra posible solución es utilizar entornos virtuales para aislar las dependencias del proyecto y evitar conflictos con otros módulos o versiones instaladas en el sistema. Puedes crear un nuevo entorno virtual en PyCharm y activarlo antes de ejecutar las pruebas en el archivo .bat.

    venv\Scripts\activate
    pytest -v -s -m "sanity or regression or functional" --html=./Reports/report.html testCases/ --browser chrome --capture=tee-sys
    deactivate
    

    De esta manera, puedes asegurarte de que webdriver_manager y otros módulos necesarios para las pruebas estén disponibles sólo dentro del entorno virtual y no fuera de él.

    Asegúrate de guardar el archivo .bat con la codificación UTF-8 para evitar problemas con caracteres especiales en los argumentos de la línea de comandos o las rutas.

    Archivo > Guardar como... > Codificación: UTF-8 > Guardar
    

    ¡Espero que esto ayude!

Comments are closed.