

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 AWS Device Farm
<a name="troubleshooting-appium-python"></a>

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\$1PYTHON\$1TEST\$1PACKAGE\$1UNZIP\$1FAILED
<a name="APPIUM_PYTHON_TEST_PACKAGE_UNZIP_FAILED"></a>

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

**avvertimento**  
Impossibile aprire il file ZIP del test Appium. 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\$1bundle.zip**.

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

   ```
   $ unzip test_bundle.zip
   ```

1. 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 [Esegui automaticamente i test Appium in Device FarmIntegrazione dei test Appium con Device Farm](test-types-appium.md). 

## APPIUM\$1PYTHON\$1TEST\$1PACKAGE\$1DEPENDENCY\$1WHEEL\$1MISSING
<a name="APPIUM_PYTHON_TEST_PACKAGE_DEPENDENCY_WHEEL_MISSING"></a>

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\$1bundle.zip**.

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

   ```
   $ unzip test_bundle.zip
   ```

1. 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 almeno un file *.whl* dipendente come i file evidenziati all'interno della directory. *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
   ```

   Per ulteriori informazioni, consulta [Esegui automaticamente i test Appium in Device FarmIntegrazione dei test Appium con Device Farm](test-types-appium.md). 

## APPIUM\$1PYTHON\$1TEST\$1PACKAGE\$1INVALID\$1PLATFORM
<a name="APPIUM_PYTHON_TEST_PACKAGE_INVALID_PLATFORM"></a>

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\$1x86\$164.whl e riprovare.

Verificare che sia possibile decomprimere il pacchetto di test senza errori. In questo esempio, il nome del pacchetto è **test\$1bundle.zip**.

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

   ```
   $ unzip test_bundle.zip
   ```

1. 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 almeno un file *.whl* dipendente come i file evidenziati all'interno della directory. *wheelhouse* Il nome del file può essere diverso, ma dovrebbe terminare con *-any.whl* o*-linux\$1x86\$164.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 [Esegui automaticamente i test Appium in Device FarmIntegrazione dei test Appium con Device Farm](test-types-appium.md). 

## APPIUM\$1PYTHON\$1TEST\$1PACKAGE\$1TEST\$1DIR\$1MISSING
<a name="APPIUM_PYTHON_TEST_PACKAGE_TEST_DIR_MISSING"></a>

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\$1bundle.zip**.

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

   ```
   $ unzip test_bundle.zip
   ```

1. 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 la *tests* directory 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 [Esegui automaticamente i test Appium in Device FarmIntegrazione dei test Appium con Device Farm](test-types-appium.md). 

## APPIUM\$1PYTHON\$1TEST\$1PACKAGE\$1INVALID\$1TEST\$1FILE\$1NAME
<a name="APPIUM_PYTHON_TEST_PACKAGE_INVALID_TEST_FILE_NAME"></a>

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\$1bundle.zip**.

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

   ```
   $ unzip test_bundle.zip
   ```

1. 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 la *tests* directory all'interno della directory di lavoro. Il nome del file può essere diverso, ma dovrebbe iniziare con *test\$1* o terminare con. *\$1test.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 [Esegui automaticamente i test Appium in Device FarmIntegrazione dei test Appium con Device Farm](test-types-appium.md). 

## APPIUM\$1PYTHON\$1TEST\$1PACKAGE\$1REQUIREMENTS\$1TXT\$1FILE\$1MISSING
<a name="APPIUM_PYTHON_TEST_PACKAGE_REQUIREMENTS_TXT_FILE_MISSING"></a>

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\$1bundle.zip**.

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

   ```
   $ unzip test_bundle.zip
   ```

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

   Per ulteriori informazioni, consulta [Esegui automaticamente i test Appium in Device FarmIntegrazione dei test Appium con Device Farm](test-types-appium.md). 

## APPIUM\$1PYTHON\$1TEST\$1PACKAGE\$1INVALID\$1PYTEST\$1VERSION
<a name="APPIUM_PYTHON_TEST_PACKAGE_INVALID_PYTEST_VERSION"></a>

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\$1bundle.zip**.

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

   ```
   $ unzip test_bundle.zip
   ```

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

1. 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 [Esegui automaticamente i test Appium in Device FarmIntegrazione dei test Appium con Device Farm](test-types-appium.md). 

## APPIUM\$1PYTHON\$1TEST\$1PACKAGE\$1INSTALL\$1DEPENDENCY\$1WHEELS\$1FAILED
<a name="APPIUM_PYTHON_TEST_PACKAGE_INSTALL_DEPENDENCY_WHEELS_FAILED"></a>

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](https://pypi.python.org/pypi/virtualenv) 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\$1bundle.zip**.

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

   ```
   $ unzip test_bundle.zip
   ```

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

1. Per disattivare l'ambiente virtuale, eseguire il comando seguente:

   ```
   $ deactivate
   ```

   Per ulteriori informazioni, consulta [Esegui automaticamente i test Appium in Device FarmIntegrazione dei test Appium con Device Farm](test-types-appium.md). 

## APPIUM\$1PYTHON\$1TEST\$1PACKAGE\$1PYTEST\$1COLLECT\$1FAILED
<a name="APPIUM_PYTHON_TEST_PACKAGE_PYTEST_COLLECT_FAILED"></a>

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](https://pypi.python.org/pypi/virtualenv) 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\$1bundle.zip**.

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

   ```
   $ unzip test_bundle.zip
   ```

1. Per installare i file wheel, eseguire il comando seguente:

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

1. 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 ====================
   ```

1. Per disattivare l'ambiente virtuale, eseguire il comando seguente:

   ```
   $ deactivate
   ```

   Per ulteriori informazioni, consulta [Esegui automaticamente i test Appium in Device FarmIntegrazione dei test Appium con Device Farm](test-types-appium.md). 

## APPIUM\$1PYTHON\$1TEST\$1PACKAGE\$1DEPENDENCY\$1WHEELS\$1INSUFFICIENT
<a name="APPIUM_PYTHON_TEST_PACKAGE_DEPENDENCY_WHEELS_INSUFFICIENT"></a>

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\$1bundle.zip**.

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

   ```
   $ unzip test_bundle.zip
   ```

1. Controlla la lunghezza del *requirements.txt* file e il numero di file *.whl* dipendenti nella directory wheelhouse:

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

   Se il numero di file *.whl* dipendenti è inferiore al numero di righe non vuote del *requirements.txt* file, devi assicurarti di quanto segue: 
   + Esiste un file *.whl* dipendente corrispondente a ciascuna riga del *requirements.txt* file.
   + Non ci sono altre righe nel *requirements.txt* file che contengono informazioni diverse dai nomi dei pacchetti di dipendenza.
   + Nessun nome di dipendenza viene duplicato su più righe del *requirements.txt* file, in modo che due righe del file possano corrispondere a un *.whl* file dipendente.

   AWS Device Farm non supporta righe nel *requirements.txt* file che non corrispondono direttamente ai pacchetti di dipendenza, come le righe che specificano le opzioni globali per il `pip install` comando. Consulta [il formato del file dei requisiti](https://pip.pypa.io/en/stable/reference/requirements-file-format/#global-options) per un elenco di opzioni globali.

   Per ulteriori informazioni, consulta [Esegui automaticamente i test Appium in Device FarmIntegrazione dei test Appium con Device Farm](test-types-appium.md). 