Risoluzione dei problemi dei test Appium Python in Device Farm AWS - AWS Device Farm

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi dei test Appium Python in Device Farm AWS

Il seguente argomento elenca i messaggi di errore che si verificano durante il caricamento dei test di Appium Python e consiglia soluzioni alternative per risolvere ogni errore.

APPIUM_PYTHON_TEST_PACKAGE_UNZIP_FAILED

In presenza del seguente messaggio, attenersi alla procedura indicata per risolvere il problema.

avvertimento

Non siamo riusciti ad aprire il tuo file di test Appium. ZIP Verificare che il file sia valido e riprovare.

Verificare che sia possibile decomprimere il pacchetto di test senza errori. In questo esempio, il nome del pacchetto è test_bundle.zip.

  1. Copiare il pacchetto di test nella directory di lavoro, quindi eseguire il comando seguente:

    $ unzip test_bundle.zip
  2. Dopo aver decompresso il pacchetto, è possibile trovare la struttura ad albero della directory di lavoro eseguendo il seguente comando:

    $ tree .

    Un pacchetto Appium Python valido dovrebbe produrre un output come il seguente:

    . |-- 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

    Per ulteriori informazioni, consulta Test Appium e AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_DEPENDENCY_WHEEL_MISSING

In presenza del seguente messaggio, attenersi alla procedura indicata per risolvere il problema.

avvertimento

Impossibile trovare un file wheel di dipendenza nella struttura delle directory wheelhouse. Decomprimere il pacchetto di test, quindi aprire la directory wheelhouse, verificare che nella directory si trovi almeno un file wheel e riprovare.

Verificare che sia possibile decomprimere il pacchetto di test senza errori. In questo esempio, il nome del pacchetto è test_bundle.zip.

  1. Copiare il pacchetto di test nella directory di lavoro, quindi eseguire il comando seguente:

    $ unzip test_bundle.zip
  2. Dopo aver decompresso il pacchetto, è possibile trovare la struttura ad albero della directory di lavoro eseguendo il seguente comando:

    $ tree .

    Se il pacchetto Appium Python è valido, ne troverai almeno uno .whl file dipendente come i file evidenziati all'interno di wheelhouse directory.

    . |-- 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

    Per ulteriori informazioni, consulta Test Appium e AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_INVALID_PLATFORM

In presenza del seguente messaggio, attenersi alla procedura indicata per risolvere il problema.

avvertimento

Trovato almeno un file wheel che specificava una piattaforma non supportata. Decomprimere il pacchetto di test, quindi aprire la directory wheelhouse, verificare che i nomi dei file wheel terminino con -any.whl o -linux_x86_64.whl e riprovare.

Verificare che sia possibile decomprimere il pacchetto di test senza errori. In questo esempio, il nome del pacchetto è test_bundle.zip.

  1. Copiare il pacchetto di test nella directory di lavoro, quindi eseguire il comando seguente:

    $ unzip test_bundle.zip
  2. Dopo aver decompresso il pacchetto, è possibile trovare la struttura ad albero della directory di lavoro eseguendo il seguente comando:

    $ tree .

    Se il pacchetto Appium Python è valido, ne troverai almeno uno .whl file dipendente come i file evidenziati all'interno di wheelhouse directory. Il nome del file può essere diverso, ma dovrebbe terminare con -any.whl oppure -linux_x86_64.whl, che specifica la piattaforma. Qualsiasi altra piattaforma, come windows non è supportata.

    . |-- 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

    Per ulteriori informazioni, consulta Test Appium e AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_TEST_DIR_MISSING

In presenza del seguente messaggio, attenersi alla procedura indicata per risolvere il problema.

avvertimento

Impossibile trovare la directory tests nel pacchetto di test. Decomprimere il pacchetto di test, verificare che la directory tests sia nel pacchetto e riprovare.

Verificare che sia possibile decomprimere il pacchetto di test senza errori. In questo esempio, il nome del pacchetto è test_bundle.zip.

  1. Copiare il pacchetto di test nella directory di lavoro, quindi eseguire il comando seguente:

    $ unzip test_bundle.zip
  2. Dopo aver decompresso il pacchetto, è possibile trovare la struttura ad albero della directory di lavoro eseguendo il seguente comando:

    $ tree .

    Se il pacchetto Appium Python è valido, troverai tests cartella all'interno della directory di lavoro.

    . |-- 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

    Per ulteriori informazioni, consulta Test Appium e AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_INVALID_TEST_FILE_NAME

In presenza del seguente messaggio, attenersi alla procedura indicata per risolvere il problema.

avvertimento

Impossibile trovare un file di test valido nella struttura delle directory tests. Decomprimere il pacchetto di test, quindi aprire la directory di test, verificare che almeno un nome di file inizi o termini con la parola chiave "test" e riprovare.

Verificare che sia possibile decomprimere il pacchetto di test senza errori. In questo esempio, il nome del pacchetto è test_bundle.zip.

  1. Copiare il pacchetto di test nella directory di lavoro, quindi eseguire il comando seguente:

    $ unzip test_bundle.zip
  2. Dopo aver decompresso il pacchetto, è possibile trovare la struttura ad albero della directory di lavoro eseguendo il seguente comando:

    $ tree .

    Se il pacchetto Appium Python è valido, troverai tests cartella all'interno della directory di lavoro. Il nome del file può essere diverso, ma dovrebbe iniziare con test_ o terminare 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

    Per ulteriori informazioni, consulta Test Appium e AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_REQUIREMENTS_TXT_FILE_MISSING

In presenza del seguente messaggio, attenersi alla procedura indicata per risolvere il problema.

avvertimento

Impossibile trovare il file requirements.txt nel pacchetto di test. Decomprimere il pacchetto di test, verificare che il file requirements.txt sia nel pacchetto e riprovare.

Verificare che sia possibile decomprimere il pacchetto di test senza errori. In questo esempio, il nome del pacchetto è test_bundle.zip.

  1. Copiare il pacchetto di test nella directory di lavoro, quindi eseguire il comando seguente:

    $ unzip test_bundle.zip
  2. Dopo aver decompresso il pacchetto, è possibile trovare la struttura ad albero della directory di lavoro eseguendo il seguente comando:

    $ tree .

    Se il pacchetto Appium Python è valido, troverai requirements.txt file all'interno della directory di lavoro.

    . |-- 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

    Per ulteriori informazioni, consulta Test Appium e AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_INVALID_PYTEST_VERSION

In presenza del seguente messaggio, attenersi alla procedura indicata per risolvere il problema.

avvertimento

Trovata una versione di pytest inferiore alla versione minima 2.8.0 supportata. Modificare la versione pytest nel file requirements.txt e riprovare.

Verificare che sia possibile decomprimere il pacchetto di test senza errori. In questo esempio, il nome del pacchetto è test_bundle.zip.

  1. Copiare il pacchetto di test nella directory di lavoro, quindi eseguire il comando seguente:

    $ unzip test_bundle.zip
  2. Dopo aver decompresso il pacchetto, è possibile trovare la struttura ad albero della directory di lavoro eseguendo il seguente comando:

    $ tree .

    Dovresti trovare il requirements.txt file all'interno della directory di lavoro.

    . |-- 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. Per ottenere la versione pytest, eseguire il comando seguente:

    $ grep "pytest" requirements.txt

    L'output dovrebbe essere come segue:

    pytest==2.9.0

    Mostra la versione pytest, che in questo esempio è 2.9.0. Se il pacchetto Appium Python è valido, la versione di pytest deve essere maggiore o uguale a 2.8.0.

    Per ulteriori informazioni, consulta Test Appium e AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_INSTALL_DEPENDENCY_WHEELS_FAILED

In presenza del seguente messaggio, attenersi alla procedura indicata per risolvere il problema.

avvertimento

Impossibile installare le wheel di dipendenza. Decomprimere il pacchetto di test, quindi aprire il file requirements.txt e la directory wheelhouse, verificare che le wheel di dipendenza specificate nel file requirements.txt corrispondano esattamente alle wheel di dipendenza all'interno della directory wheelhouse e riprovare.

Si consiglia vivamente di configurare un virtualenv Python per la creazione dei pacchetti di test. Ecco un esempio di flusso di creazione e attivazione di un ambiente virtuale utilizzando virtualenv Python:

$ virtualenv workspace $ cd workspace $ source bin/activate

Verificare che sia possibile decomprimere il pacchetto di test senza errori. In questo esempio, il nome del pacchetto è test_bundle.zip.

  1. Copiare il pacchetto di test nella directory di lavoro, quindi eseguire il comando seguente:

    $ unzip test_bundle.zip
  2. Per eseguire test sull'installazione dei file wheel, eseguire il comando seguente:

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

    Un pacchetto Appium Python valido dovrebbe produrre un output come il seguente:

    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. Per disattivare l'ambiente virtuale, eseguire il comando seguente:

    $ deactivate

    Per ulteriori informazioni, consulta Test Appium e AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_PYTEST_COLLECT_FAILED

In presenza del seguente messaggio, attenersi alla procedura indicata per risolvere il problema.

avvertimento

Impossibile raccogliere i test nella directory tests. Decomprimere il pacchetto di test, verificare che il pacchetto di test sia valido eseguendo il comando py.test --collect-only <path to your tests directory> e riprovare quando il comando non stampa più errori.

Si consiglia vivamente di configurare un virtualenv Python per la creazione dei pacchetti di test. Ecco un esempio di flusso di creazione e attivazione di un ambiente virtuale utilizzando virtualenv Python:

$ virtualenv workspace $ cd workspace $ source bin/activate

Verificare che sia possibile decomprimere il pacchetto di test senza errori. In questo esempio, il nome del pacchetto è test_bundle.zip.

  1. Copiare il pacchetto di test nella directory di lavoro, quindi eseguire il comando seguente:

    $ unzip test_bundle.zip
  2. Per installare i file wheel, eseguire il comando seguente:

    $ pip install --use-wheel --no-index --find-links=./wheelhouse --requirement=./requirements.txt
  3. Per raccogliere i test, eseguire il comando seguente:

    $ py.test --collect-only tests

    Un pacchetto Appium Python valido dovrebbe produrre un output come il seguente:

    ==================== 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. Per disattivare l'ambiente virtuale, eseguire il comando seguente:

    $ deactivate

    Per ulteriori informazioni, consulta Test Appium e AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_DEPENDENCY_WHEELS_INSUFFICIENT

In presenza del seguente messaggio, attenersi alla procedura indicata per risolvere il problema.

avvertimento

Non siamo riusciti a trovare abbastanza dipendenze tra le ruote nella directory Wheelhouse. Decomprimi il pacchetto di test, quindi apri la cartella Wheelhouse. Verificate di avere tutte le dipendenze delle ruote specificate nel file requirements.txt.

Verificare che sia possibile decomprimere il pacchetto di test senza errori. In questo esempio, il nome del pacchetto è test_bundle.zip.

  1. Copiare il pacchetto di test nella directory di lavoro, quindi eseguire il comando seguente:

    $ unzip test_bundle.zip
  2. Controllate la lunghezza del requirements.txt file e il numero di .whl file dipendenti nella directory Wheelhouse:

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

    Se il numero di .whl i file dipendenti è inferiore al numero di righe non vuote presenti nel requirements.txt file, quindi è necessario assicurarsi di quanto segue:

    • C'è un .whl file dipendente corrispondente a ciascuna riga del requirements.txt file.

    • Non ci sono altre righe nel requirements.txt file che contiene informazioni diverse dai nomi dei pacchetti di dipendenza.

    • Nessun nome di dipendenza viene duplicato su più righe nel requirements.txt file in modo tale che due righe del file possano corrispondere a una .whl file dipendente.

    AWSDevice Farm non supporta le linee in requirements.txt file che non corrispondono direttamente ai pacchetti di dipendenza, come le righe che specificano le opzioni globali per il pip install comando. Vedi Formato del file dei requisiti per un elenco di opzioni globali.

    Per ulteriori informazioni, consulta Test Appium e AWS Device Farm.