Solución de problemas de pruebas de Python de Appium en AWS Device Farm - AWS Device Farm

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Solución de problemas de pruebas de Python de Appium en AWS Device Farm

En el siguiente tema se muestra una lista de mensajes de error que se producen durante la carga de las pruebas de Appium Python y recomienda soluciones para resolver cada error.

APPIUM_PYTHON_TEST_PACKAGE_UNZIP_FAILED

Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.

aviso

We could not open your Appium test ZIP file. Please verify that the file is valid and try again.

Asegúrese de que puede descomprimir el paquete de pruebas sin errores. En el siguiente ejemplo, el nombre del paquete es test_bundle.zip.

  1. Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:

    $ unzip test_bundle.zip
  2. Después de descomprimir correctamente el paquete, ejecute el siguiente comando para que aparezca la estructura de árbol de directorios de trabajo:

    $ tree .

    Un paquete de Appium Python válido debería producir una salida similar a esta:

    . |-- requirements.txt |-- test_bundle.zip |-- tests (directory) | `-- test_unittest.py `-- wheelhouse (directory) |-- Appium_Python_Client-0.20-cp27-none-any.whl |-- py-1.4.31-py2.py3-none-any.whl |-- pytest-2.9.0-py2.py3-none-any.whl |-- selenium-2.52.0-cp27-none-any.whl `-- wheel-0.26.0-py2.py3-none-any.whl

    Para obtener más información, consulte Trabajar con Appium y AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_DEPENDENCY_WHEEL_MISSING

Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.

aviso

We could not find a dependency wheel file in the wheelhouse directory tree. Please unzip your test package and then open the wheelhouse directory, verify that at least one wheel file is in the directory, and try again.

Asegúrese de que puede descomprimir el paquete de pruebas sin errores. En el siguiente ejemplo, el nombre del paquete es test_bundle.zip.

  1. Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:

    $ unzip test_bundle.zip
  2. Después de descomprimir correctamente el paquete, ejecute el siguiente comando para que aparezca la estructura de árbol de directorios de trabajo:

    $ tree .

    Si el paquete de Appium Python es válido, encontrará como mínimo un archivo .whl dependiente como los archivos resaltados dentro del directorio wheelhouse.

    . |-- requirements.txt |-- test_bundle.zip |-- tests (directory) | `-- test_unittest.py `-- wheelhouse (directory) |-- Appium_Python_Client-0.20-cp27-none-any.whl |-- py-1.4.31-py2.py3-none-any.whl |-- pytest-2.9.0-py2.py3-none-any.whl |-- selenium-2.52.0-cp27-none-any.whl `-- wheel-0.26.0-py2.py3-none-any.whl

    Para obtener más información, consulte Trabajar con Appium y AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_INVALID_PLATFORM

Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.

aviso

We found at least one wheel file specified a platform that we do not support. Please unzip your test package and then open the wheelhouse directory, verify that names of wheel files end with -any.whl or -linux_x86_64.whl, and try again.

Asegúrese de que puede descomprimir el paquete de pruebas sin errores. En el siguiente ejemplo, el nombre del paquete es test_bundle.zip.

  1. Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:

    $ unzip test_bundle.zip
  2. Después de descomprimir correctamente el paquete, ejecute el siguiente comando para que aparezca la estructura de árbol de directorios de trabajo:

    $ tree .

    Si el paquete de Appium Python es válido, encontrará como mínimo un archivo .whl dependiente como los archivos resaltados dentro del directorio wheelhouse. El nombre del archivo puede ser diferente, pero debería terminar con -any.whl o -linux_x86_64.whl, que especifica la plataforma. No se admite ninguna otra plataforma, como windows.

    . |-- requirements.txt |-- test_bundle.zip |-- tests (directory) | `-- test_unittest.py `-- wheelhouse (directory) |-- Appium_Python_Client-0.20-cp27-none-any.whl |-- py-1.4.31-py2.py3-none-any.whl |-- pytest-2.9.0-py2.py3-none-any.whl |-- selenium-2.52.0-cp27-none-any.whl `-- wheel-0.26.0-py2.py3-none-any.whl

    Para obtener más información, consulte Trabajar con Appium y AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_TEST_DIR_MISSING

Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.

aviso

We could not find the tests directory inside your test package. Please unzip your test package, verify that the tests directory is inside the package, and try again.

Asegúrese de que puede descomprimir el paquete de pruebas sin errores. En el siguiente ejemplo, el nombre del paquete es test_bundle.zip.

  1. Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:

    $ unzip test_bundle.zip
  2. Después de descomprimir correctamente el paquete, ejecute el siguiente comando para que aparezca la estructura de árbol de directorios de trabajo:

    $ tree .

    Si el paquete de Appium Python es válido, encontrará el directorio tests dentro del directorio de trabajo.

    . |-- requirements.txt |-- test_bundle.zip |-- tests (directory) | `-- test_unittest.py `-- wheelhouse (directory) |-- Appium_Python_Client-0.20-cp27-none-any.whl |-- py-1.4.31-py2.py3-none-any.whl |-- pytest-2.9.0-py2.py3-none-any.whl |-- selenium-2.52.0-cp27-none-any.whl `-- wheel-0.26.0-py2.py3-none-any.whl

    Para obtener más información, consulte Trabajar con Appium y AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_INVALID_TEST_FILE_NAME

Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.

aviso

We could not find a valid test file in the tests directory tree. Please unzip your test package and then open the tests directory, verify that at least one file's name starts or ends with the keyword "test", and try again.

Asegúrese de que puede descomprimir el paquete de pruebas sin errores. En el siguiente ejemplo, el nombre del paquete es test_bundle.zip.

  1. Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:

    $ unzip test_bundle.zip
  2. Después de descomprimir correctamente el paquete, ejecute el siguiente comando para que aparezca la estructura de árbol de directorios de trabajo:

    $ tree .

    Si el paquete de Appium Python es válido, encontrará el directorio tests dentro del directorio de trabajo. El nombre del archivo puede ser diferente, pero debería comenzar con test_ o terminar con _test.py.

    . |-- requirements.txt |-- test_bundle.zip |-- tests (directory) | `-- test_unittest.py `-- wheelhouse (directory) |-- Appium_Python_Client-0.20-cp27-none-any.whl |-- py-1.4.31-py2.py3-none-any.whl |-- pytest-2.9.0-py2.py3-none-any.whl |-- selenium-2.52.0-cp27-none-any.whl `-- wheel-0.26.0-py2.py3-none-any.whl

    Para obtener más información, consulte Trabajar con Appium y AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_REQUIREMENTS_TXT_FILE_MISSING

Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.

aviso

We could not find the requirements.txt file inside your test package. Please unzip your test package, verify that the requirements.txt file is inside the package, and try again.

Asegúrese de que puede descomprimir el paquete de pruebas sin errores. En el siguiente ejemplo, el nombre del paquete es test_bundle.zip.

  1. Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:

    $ unzip test_bundle.zip
  2. Después de descomprimir correctamente el paquete, ejecute el siguiente comando para que aparezca la estructura de árbol de directorios de trabajo:

    $ tree .

    Si el paquete de Appium Python es válido, encontrará el archivo requirements.txt dentro del directorio de trabajo.

    . |-- requirements.txt |-- test_bundle.zip |-- tests (directory) | `-- test_unittest.py `-- wheelhouse (directory) |-- Appium_Python_Client-0.20-cp27-none-any.whl |-- py-1.4.31-py2.py3-none-any.whl |-- pytest-2.9.0-py2.py3-none-any.whl |-- selenium-2.52.0-cp27-none-any.whl `-- wheel-0.26.0-py2.py3-none-any.whl

    Para obtener más información, consulte Trabajar con Appium y AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_INVALID_PYTEST_VERSION

Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.

aviso

We found the pytest version was lower than the minimum version 2.8.0 we support. Please change the pytest version inside the requirements.txt file, and try again.

Asegúrese de que puede descomprimir el paquete de pruebas sin errores. En el siguiente ejemplo, el nombre del paquete es test_bundle.zip.

  1. Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:

    $ unzip test_bundle.zip
  2. Después de descomprimir correctamente el paquete, ejecute el siguiente comando para que aparezca la estructura de árbol de directorios de trabajo:

    $ tree .

    Debería encontrar el archivo requirements.txt dentro del directorio de trabajo.

    . |-- requirements.txt |-- test_bundle.zip |-- tests (directory) | `--test_unittest.py `-- wheelhouse (directory) |-- Appium_Python_Client-0.20-cp27-none-any.whl |-- py-1.4.31-py2.py3-none-any.whl |-- pytest-2.9.0-py2.py3-none-any.whl |-- selenium-2.52.0-cp27-none-any.whl `-- wheel-0.26.0-py2.py3-none-any.whl
  3. Para obtener la versión de pytest, ejecute el siguiente comando:

    $ grep "pytest" requirements.txt

    Debería aparecer una salida como la siguiente:

    pytest==2.9.0

    Muestra la versión pytest, que en este ejemplo es 2.9.0. Si el paquete de Appium Python es válido, la versión de pytest debe ser mayor o igual que 2.8.0.

    Para obtener más información, consulte Trabajar con Appium y AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_INSTALL_DEPENDENCY_WHEELS_FAILED

Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.

aviso

We failed to install the dependency wheels. Please unzip your test package and then open the requirements.txt file and the wheelhouse directory, verify that the dependency wheels specified in the requirements.txt file exactly match the dependency wheels inside the wheelhouse directory, and try again.

Le recomendamos encarecidamente que configure virtualenv de Python para el empaquetamiento de pruebas. A continuación se muestra un ejemplo de flujo para crear un entorno virtual con Python virtualenv y, a continuación, activarlo:

$ virtualenv workspace $ cd workspace $ source bin/activate

Asegúrese de que puede descomprimir el paquete de pruebas sin errores. En el siguiente ejemplo, el nombre del paquete es test_bundle.zip.

  1. Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:

    $ unzip test_bundle.zip
  2. Para probar la instalación de archivos wheel, puede ejecutar el siguiente comando:

    $ pip install --use-wheel --no-index --find-links=./wheelhouse --requirement=./requirements.txt

    Un paquete de Appium Python válido debería producir una salida similar a esta:

    Ignoring indexes: https://pypi.python.org/simple Collecting Appium-Python-Client==0.20 (from -r ./requirements.txt (line 1)) Collecting py==1.4.31 (from -r ./requirements.txt (line 2)) Collecting pytest==2.9.0 (from -r ./requirements.txt (line 3)) Collecting selenium==2.52.0 (from -r ./requirements.txt (line 4)) Collecting wheel==0.26.0 (from -r ./requirements.txt (line 5)) Installing collected packages: selenium, Appium-Python-Client, py, pytest, wheel Found existing installation: wheel 0.29.0 Uninstalling wheel-0.29.0: Successfully uninstalled wheel-0.29.0 Successfully installed Appium-Python-Client-0.20 py-1.4.31 pytest-2.9.0 selenium-2.52.0 wheel-0.26.0
  3. Para desactivar el entorno virtual, puede ejecutar el siguiente comando:

    $ deactivate

    Para obtener más información, consulte Trabajar con Appium y AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_PYTEST_COLLECT_FAILED

Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.

aviso

We failed to collect tests in the tests directory. Please unzip your test package, very that the test package is valid by running the command py.test --collect-only <path to your tests directory>, and try again after the command does not print any error.

Le recomendamos encarecidamente que configure virtualenv de Python para el empaquetamiento de pruebas. A continuación se muestra un ejemplo de flujo para crear un entorno virtual con Python virtualenv y, a continuación, activarlo:

$ virtualenv workspace $ cd workspace $ source bin/activate

Asegúrese de que puede descomprimir el paquete de pruebas sin errores. En el siguiente ejemplo, el nombre del paquete es test_bundle.zip.

  1. Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:

    $ unzip test_bundle.zip
  2. Para instalar los archivos wheel, puede ejecutar el siguiente comando:

    $ pip install --use-wheel --no-index --find-links=./wheelhouse --requirement=./requirements.txt
  3. Para recopilar pruebas puede ejecutar el siguiente comando:

    $ py.test --collect-only tests

    Un paquete de Appium Python válido debería producir una salida similar a esta:

    ==================== test session starts ==================== platform darwin -- Python 2.7.11, pytest-2.9.0, py-1.4.31, pluggy-0.3.1 rootdir: /Users/zhena/Desktop/Ios/tests, inifile: collected 1 items <Module 'test_unittest.py'> <UnitTestCase 'DeviceFarmAppiumWebTests'> <TestCaseFunction 'test_devicefarm'> ==================== no tests ran in 0.11 seconds ====================
  4. Para desactivar el entorno virtual, puede ejecutar el siguiente comando:

    $ deactivate

    Para obtener más información, consulte Trabajar con Appium y AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_DEPENDENCY_WHEELS_INSUFFICIENT

Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.

aviso

No hemos podido encontrar suficientes dependencias entre ruedas en el directorio wheelhouse. Descomprima el paquete de prueba y, a continuación, abra el directorio wheelhouse. Compruebe que tiene todas las dependencias entre ruedas especificadas en el archivo requirements.txt.

Asegúrese de que puede descomprimir el paquete de pruebas sin errores. En el siguiente ejemplo, el nombre del paquete es test_bundle.zip.

  1. Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:

    $ unzip test_bundle.zip
  2. Compruebe la longitud del archivo requirements.txt y el número de archivos dependientes de.whl en el directorio wheelhouse:

    $ cat requirements.txt | egrep "." |wc -l  12 $ ls wheelhouse/ | egrep ".+\.whl" | wc -l 11

    Si el número de archivos dependientes de .whl es inferior al número de filas no vacías del archivo requirements.txt, asegúrese de lo siguiente:

    • Hay un archivo dependiente de .whl correspondiente a cada fila del archivo requirements.txt.

    • No hay otras líneas en el archivo requirements.txt que contengan información distinta de los nombres de los paquetes de dependencias.

    • Los nombres de las dependencias no están duplicados en varias líneas del archivo requirements.txt, por lo que dos líneas del archivo pueden corresponder a un archivo dependiente de .whl.

    AWS Device Farm no admite líneas en el archivo requirements.txt que no se correspondan directamente con los paquetes de dependencias, como las líneas que especifican las opciones globales del pip install comando. Consulte el formato de archivo de requisitos para ver una lista de opciones globales.

    Para obtener más información, consulte Trabajar con Appium y AWS Device Farm.