Fehlerbehebung bei Appium-Python-Tests in AWS Device Farm - AWS Device Farm

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Fehlerbehebung bei Appium-Python-Tests in AWS Device Farm

Im folgenden Thema werden Fehlermeldungen aufgeführt, die beim Hochladen von Appium Python-Tests auftreten können, und Behelfslösungen für die einzelnen Fehler empfohlen.

APPIUM_PYTHON_TEST_PACKAGE_UNZIP_FAILED

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Warnung

Wir konnten Ihre ZIP Appium-Testdatei nicht öffnen. Prüfen Sie, ob die Datei gültig ist, und versuchen Sie es erneut.

Stellen Sie sicher, dass Sie das Paket für den Test fehlerfrei dekomprimieren können. Im folgenden Beispiel lautet der Name des Pakets test_bundle.zip.

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip test_bundle.zip
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Bei einem gültigen Appium Python-Paket sollte die Ausgabe wie folgt aussehen:

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

    Weitere Informationen finden Sie unter Arbeiten mit Appium und AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_DEPENDENCY_WHEEL_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Warnung

Wir konnten keine Wheel-Datei für die Abhängigkeiten in der Wheelhouse-Verzeichnisstruktur finden. Extrahieren Sie Ihr Testpaket und öffnen Sie dann das Verzeichnis „wheelhouse”; überprüfen Sie, ob sich im Verzeichnis mindestens eine Wheel-Datei befindet, und versuchen Sie es erneut.

Stellen Sie sicher, dass Sie das Paket für den Test fehlerfrei dekomprimieren können. Im folgenden Beispiel lautet der Name des Pakets test_bundle.zip.

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip test_bundle.zip
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Wenn das Appium-Python-Paket gültig ist, finden Sie mindestens eines .whl abhängige Datei wie die hervorgehobenen Dateien in wheelhouse Verzeichnis.

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

    Weitere Informationen finden Sie unter Arbeiten mit Appium und AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_INVALID_PLATFORM

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Warnung

Wir haben festgestellt, dass in mindestens einer Wheel-Datei eine Plattform angegeben ist, die nicht unterstützt wird. Extrahieren Sie Ihr Testpaket und öffnen Sie dann das Verzeichnis „wheelhouse”; überprüfen Sie, ob die Namen der Wheel-Dateien auf -any.whl oder -linux_x86_64.whl enden, und versuchen Sie es erneut.

Stellen Sie sicher, dass Sie das Paket für den Test fehlerfrei dekomprimieren können. Im folgenden Beispiel lautet der Name des Pakets test_bundle.zip.

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip test_bundle.zip
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Wenn das Appium-Python-Paket gültig ist, finden Sie mindestens eines .whl abhängige Datei wie die hervorgehobenen Dateien in wheelhouse Verzeichnis. Der Name der Datei kann unterschiedlich sein, aber er sollte enden mit -any.whl or -linux_x86_64.whl, das die Plattform spezifiziert. Andere Plattformen wie windows werden nicht unterstützt.

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

    Weitere Informationen finden Sie unter Arbeiten mit Appium und AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_TEST_DIR_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Warnung

Wir konnten das Verzeichnis „tests” nicht in Ihrem Testpaket finden. Extrahieren Sie Ihr Testpaket, überprüfen Sie, ob das Verzeichnis „tests” in dem Paket enthalten ist, und versuchen Sie es erneut.

Stellen Sie sicher, dass Sie das Paket für den Test fehlerfrei dekomprimieren können. Im folgenden Beispiel lautet der Name des Pakets test_bundle.zip.

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip test_bundle.zip
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Wenn das Appium-Python-Paket gültig ist, finden Sie den tests Verzeichnis innerhalb des Arbeitsverzeichnisses.

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

    Weitere Informationen finden Sie unter Arbeiten mit Appium und AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_INVALID_TEST_FILE_NAME

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Warnung

Wir konnten keine gültige Test-Datei in der Verzeichnisstruktur für die Tests finden. Extrahieren Sie Ihr Paket und öffnen Sie dann das Verzeichnis „tests”; überprüfen Sie, ob der Name mindestens einer Datei mit dem Schlüsselwort „test” beginnt oder darauf endet, und versuchen Sie es erneut.

Stellen Sie sicher, dass Sie das Paket für den Test fehlerfrei dekomprimieren können. Im folgenden Beispiel lautet der Name des Pakets test_bundle.zip.

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip test_bundle.zip
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Wenn das Appium-Python-Paket gültig ist, finden Sie den tests Verzeichnis innerhalb des Arbeitsverzeichnisses. Der Name der Datei kann anders sein, aber er sollte beginnen mit test_ oder endet mit _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

    Weitere Informationen finden Sie unter Arbeiten mit Appium und AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_REQUIREMENTS_TXT_FILE_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Warnung

Wir konnten die Datei „requirements.txt” nicht in Ihrem Testpaket finden. Extrahieren Sie Ihr Testpaket, überprüfen Sie, ob die Datei „requirements.txt” in dem Paket enthalten ist, und versuchen Sie es erneut.

Stellen Sie sicher, dass Sie das Paket für den Test fehlerfrei dekomprimieren können. Im folgenden Beispiel lautet der Name des Pakets test_bundle.zip.

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip test_bundle.zip
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Wenn das Appium-Python-Paket gültig ist, finden Sie den requirements.txt Datei im Arbeitsverzeichnis.

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

    Weitere Informationen finden Sie unter Arbeiten mit Appium und AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_INVALID_PYTEST_VERSION

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Warnung

Wir haben festgestellt, dass pytest in einer Version niedriger als 2.8.0 verwendet wird, der minimalen unterstützten Version. Bitte ändern Sie die Version von pytest in der Datei „requirements.txt” und versuchen Sie es erneut.

Stellen Sie sicher, dass Sie das Paket für den Test fehlerfrei dekomprimieren können. Im folgenden Beispiel lautet der Name des Pakets test_bundle.zip.

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip test_bundle.zip
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Du solltest das finden requirements.txt Datei im Arbeitsverzeichnis.

    . |-- 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. Sie können die Version von pytest abrufen, indem Sie den folgenden Befehl ausführen:

    $ grep "pytest" requirements.txt

    Die Ausgabe sollte folgendermaßen aussehen:

    pytest==2.9.0

    Die Version von pytest wird angezeigt, in diesem Beispiel 2.9.0. Wenn das Appium Python-Paket gültig ist, sollte pytest in der Version 2.8.0 oder höher verwendet werden.

    Weitere Informationen finden Sie unter Arbeiten mit Appium und AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_INSTALL_DEPENDENCY_WHEELS_FAILED

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Warnung

Wir konnten die abhängigen Wheel-Dateien nicht installieren. Extrahieren Sie Ihr Testpaket und öffnen Sie die Datei „requirements.txt” sowie das Verzeichnis „wheelhouse”; überprüfen Sie, ob die in der Datei „requirements.txt” angegebenen abhängigen Wheel-Dateien mit denen im Verzeichnis „wheelhouse” übereinstimmen, und versuchen Sie es erneut.

Wir empfehlen dringend, das Modul Python virtualenv für die Überprüfung von Paketen zu installieren. Das folgende Beispiel zeigt, wie Sie ein virtuelle Umgebung mit Python virtualenv erstellen und diese anschließend aktivieren:

$ virtualenv workspace $ cd workspace $ source bin/activate

Stellen Sie sicher, dass Sie das Paket für den Test fehlerfrei dekomprimieren können. Im folgenden Beispiel lautet der Name des Pakets test_bundle.zip.

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip test_bundle.zip
  2. Sie können die Installation von Wheel-Dateien testen, indem Sie den folgenden Befehl ausführen:

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

    Bei einem gültigen Appium Python-Paket sollte die Ausgabe wie folgt aussehen:

    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. Sie können die virtuelle Umgebung deaktivieren, indem Sie den folgenden Befehl ausführen:

    $ deactivate

    Weitere Informationen finden Sie unter Arbeiten mit Appium und AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_PYTEST_COLLECT_FAILED

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Warnung

Wir konnten im Verzeichnis „tests” keine Tests erfassen. Extrahieren Sie Ihr Testpaket, überprüfen Sie mit dem Befehl py.test --collect-only <path to your tests directory>, ob das Testpaket gültig ist, und versuchen Sie es erneut, wenn der Befehl keine Fehler zurückgibt.

Wir empfehlen dringend, das Modul Python virtualenv für die Überprüfung von Paketen zu installieren. Das folgende Beispiel zeigt, wie Sie ein virtuelle Umgebung mit Python virtualenv erstellen und diese anschließend aktivieren:

$ virtualenv workspace $ cd workspace $ source bin/activate

Stellen Sie sicher, dass Sie das Paket für den Test fehlerfrei dekomprimieren können. Im folgenden Beispiel lautet der Name des Pakets test_bundle.zip.

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip test_bundle.zip
  2. Sie können die Wheel-Dateien installieren, indem Sie den folgenden Befehl ausführen:

    $ pip install --use-wheel --no-index --find-links=./wheelhouse --requirement=./requirements.txt
  3. Sie können die Tests erfassen, indem Sie den folgenden Befehl ausführen:

    $ py.test --collect-only tests

    Bei einem gültigen Appium Python-Paket sollte die Ausgabe wie folgt aussehen:

    ==================== 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. Sie können die virtuelle Umgebung deaktivieren, indem Sie den folgenden Befehl ausführen:

    $ deactivate

    Weitere Informationen finden Sie unter Arbeiten mit Appium und AWS Device Farm.

APPIUM_PYTHON_TEST_PACKAGE_DEPENDENCY_WHEELS_INSUFFICIENT

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Warnung

Wir konnten im Wheelhouse-Verzeichnis nicht genügend Radabhängigkeiten finden. Bitte entpacken Sie Ihr Testpaket und öffnen Sie dann das Wheelhouse-Verzeichnis. Stellen Sie sicher, dass Sie alle Radabhängigkeiten in der Datei requirements.txt angegeben haben.

Stellen Sie sicher, dass Sie das Paket für den Test fehlerfrei dekomprimieren können. Im folgenden Beispiel lautet der Name des Pakets test_bundle.zip.

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip test_bundle.zip
  2. Überprüfen Sie die Länge des requirements.txt Datei sowie die Anzahl der .whl abhängige Dateien im Wheelhouse-Verzeichnis:

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

    Wenn die Anzahl von .whl abhängige Dateien sind geringer als die Anzahl der nicht leeren Zeilen in Ihrem requirements.txt Datei, dann müssen Sie Folgendes sicherstellen:

    • Es gibt ein .whl abhängige Datei, die jeder Zeile in der entspricht requirements.txt file.

    • Es gibt keine anderen Zeilen in requirements.txt Datei, die andere Informationen als die Namen der Abhängigkeitspakete enthält.

    • In der Datei werden keine Abhängigkeitsnamen in mehreren Zeilen dupliziert requirements.txt Datei, sodass zwei Zeilen in der Datei einer entsprechen können .whl abhängige Datei.

    AWSDevice Farm unterstützt keine Zeilen in requirements.txt Datei, die nicht direkt Abhängigkeitspaketen entspricht, wie z. B. Zeilen, die globale Optionen für den pip install Befehl angeben. Eine Liste der globalen Optionen finden Sie unter Anforderungsdateiformat.

    Weitere Informationen finden Sie unter Arbeiten mit Appium und AWS Device Farm.