AWS Device Farm での Appium Python テストのトラブルシューティング - AWS Device Farm

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Device Farm での Appium Python テストのトラブルシューティング

次のトピックでは、Appium Python テストのアップロード中に発生するエラーメッセージを挙げ、各エラーを解決するための推奨回避策を伝えます。

APPIUM_PYTHON_TEST_PACKAGE_UNZIP_FAILED

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

警告

Appium テストZIPファイルを開くことができませんでした。ファイルが有効であることを確認して、もう一度お試しください。

エラーなしでテストパッケージを解凍できることを確かめてください。次の例では、パッケージの名前は「test_bundle.zip」です。

  1. テストパッケージを作業ディレクトリにコピーし、次のコマンドを実行します:

    $ unzip test_bundle.zip
  2. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

    $ tree .

    有効な Appium Python パッケージでは、次のような出力が生成されます:

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

    詳細については、「Appium と AWS Device Farm の使用」を参照してください。

APPIUM_PYTHON_TEST_PACKAGE_DEPENDENCY_WHEEL_MISSING

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

警告

wheelhouse ディレクトリツリーに依存ホイールファイルが見つかりませんでした。テストパッケージを解凍して wheelhouse ディレクトリを開き、少なくとも 1 つのホイールファイルがディレクトリにあることを確認して、もう一度やり直してください。

エラーなしでテストパッケージを解凍できることを確かめてください。次の例では、パッケージの名前は「test_bundle.zip」です。

  1. テストパッケージを作業ディレクトリにコピーし、次のコマンドを実行します:

    $ unzip test_bundle.zip
  2. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

    $ tree .

    Appium Python パッケージが有効な場合は、少なくとも 1 つの .whl 内の強調表示されたファイルなどの依存ファイル 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

    詳細については、「Appium と AWS Device Farm の使用」を参照してください。

APPIUM_PYTHON_TEST_PACKAGE_INVALID_PLATFORM

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

警告

サポートされていないプラットフォームを指定した wheel ファイルが少なくとも 1 つ見つかりました。テストパッケージを解凍して wheelhouse ディレクトリを開き、ホイールファイルの名前が -any.whl または -linux_x86_64.whl で終わっていることを確認して、もう一度やり直してください。

エラーなしでテストパッケージを解凍できることを確かめてください。次の例では、パッケージの名前は「test_bundle.zip」です。

  1. テストパッケージを作業ディレクトリにコピーし、次のコマンドを実行します:

    $ unzip test_bundle.zip
  2. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

    $ tree .

    Appium Python パッケージが有効な場合は、少なくとも 1 つの .whl 内の強調表示されたファイルなどの依存ファイル wheelhouse ディレクトリ。ファイルの名前は異なる場合がありますが、 で終わる必要があります -any.whl または -linux_x86_64.whl。プラットフォームを指定します。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

    詳細については、「Appium と AWS Device Farm の使用」を参照してください。

APPIUM_PYTHON_TEST_PACKAGE_TEST_DIR_MISSING

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

警告

テストパッケージ内にテストディレクトリが見つかりませんでした。テストパッケージを解凍し、tests ディレクトリがパッケージ内にあることを確認して、もう一度試してください。

エラーなしでテストパッケージを解凍できることを確かめてください。次の例では、パッケージの名前は「test_bundle.zip」です。

  1. テストパッケージを作業ディレクトリにコピーし、次のコマンドを実行します:

    $ unzip test_bundle.zip
  2. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

    $ tree .

    Appium Python パッケージが有効な場合は、tests 作業ディレクトリ内の ディレクトリ。

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

    詳細については、「Appium と AWS Device Farm の使用」を参照してください。

APPIUM_PYTHON_TEST_PACKAGE_INVALID_TEST_FILE_NAME

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

警告

tests ディレクトリツリーに有効なテストファイルが見つかりませんでした。テストパッケージを解凍して tests ディレクトリを開き、少なくとも 1 つのファイルの名前が「test」というキーワードで開始または終了していることを確認して、もう一度やり直してください。

エラーなしでテストパッケージを解凍できることを確かめてください。次の例では、パッケージの名前は「test_bundle.zip」です。

  1. テストパッケージを作業ディレクトリにコピーし、次のコマンドを実行します:

    $ unzip test_bundle.zip
  2. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

    $ tree .

    Appium Python パッケージが有効な場合は、tests 作業ディレクトリ内の ディレクトリ。ファイルの名前は異なる場合がありますが、 で始まる必要があります test_ または で終わる _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

    詳細については、「Appium と AWS Device Farm の使用」を参照してください。

APPIUM_PYTHON_TEST_PACKAGE_REQUIREMENTS_TXT_FILE_MISSING

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

警告

テストパッケージ内に requirements.txt ファイルが見つかりませんでした。テストパッケージを解凍し、requirements.txt ファイルがパッケージ内にあることを確認して、もう一度試してください。

エラーなしでテストパッケージを解凍できることを確かめてください。次の例では、パッケージの名前は「test_bundle.zip」です。

  1. テストパッケージを作業ディレクトリにコピーし、次のコマンドを実行します:

    $ unzip test_bundle.zip
  2. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

    $ tree .

    Appium Python パッケージが有効な場合は、requirements.txt 作業ディレクトリ内の ファイル。

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

    詳細については、「Appium と AWS Device Farm の使用」を参照してください。

APPIUM_PYTHON_TEST_PACKAGE_INVALID_PYTEST_VERSION

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

警告

サポートされる最低バージョン 2.8.0 より低い pytest バージョンが見つかりました。requirements.txt ファイル内の pytest バージョンを変更して、もう一度試してください。

エラーなしでテストパッケージを解凍できることを確かめてください。次の例では、パッケージの名前は「test_bundle.zip」です。

  1. テストパッケージを作業ディレクトリにコピーし、次のコマンドを実行します:

    $ unzip test_bundle.zip
  2. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

    $ tree .

    は、requirements.txt 作業ディレクトリ内の ファイル。

    . |-- 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. pytest のバージョンを取得するには、次のコマンドを実行します:

    $ grep "pytest" requirements.txt

    次のような出力があります:

    pytest==2.9.0

    pytest バージョンを示しており、この例では 2.9.0 です。Appium Python パッケージが有効な場合、pytest バージョンは 2.8.0 以上である必要があります。

    詳細については、「Appium と AWS Device Farm の使用」を参照してください。

APPIUM_PYTHON_TEST_PACKAGE_INSTALL_DEPENDENCY_WHEELS_FAILED

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

警告

依存ホイールのインストールに失敗しました。テストパッケージを解凍し、requirements.txt ファイルと wheelhouse ディレクトリを開き、requirements.txt ファイルで指定された依存ホイールが wheelhouse ディレクトリ内の依存ホイールと正確に一致することを確認して、もう一度やり直してください。

パッケージングテストのために Python virtualenv をセットアップすることを強くお勧めします。次に、Python virtualenv を使って仮想環境を作成し、それを起動する流れの例を示します:

$ virtualenv workspace $ cd workspace $ source bin/activate

エラーなしでテストパッケージを解凍できることを確かめてください。次の例では、パッケージの名前は「test_bundle.zip」です。

  1. テストパッケージを作業ディレクトリにコピーし、次のコマンドを実行します:

    $ unzip test_bundle.zip
  2. ホイールファイルのインストールをテストするには、次のコマンドを実行します:

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

    有効な Appium Python パッケージでは、次のような出力が生成されます:

    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. 仮想環境を無効にするには、次のコマンドを実行します:

    $ deactivate

    詳細については、「Appium と AWS Device Farm の使用」を参照してください。

APPIUM_PYTHON_TEST_PACKAGE_PYTEST_COLLECT_FAILED

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

警告

テストディレクトリでテストを収集できませんでした。テストパッケージを解凍して、py.test --collect-only <path to your tests directory> コマンドの実行が有効であることを確認し、コマンドがエラーを出力しなくなってからもう一度試してください。

パッケージングテストのために Python virtualenv をセットアップすることを強くお勧めします。次に、Python virtualenv を使って仮想環境を作成し、それを起動する流れの例を示します:

$ virtualenv workspace $ cd workspace $ source bin/activate

エラーなしでテストパッケージを解凍できることを確かめてください。次の例では、パッケージの名前は「test_bundle.zip」です。

  1. テストパッケージを作業ディレクトリにコピーし、次のコマンドを実行します:

    $ unzip test_bundle.zip
  2. ホイールファイルをインストールするには、次のコマンドを実行します:

    $ pip install --use-wheel --no-index --find-links=./wheelhouse --requirement=./requirements.txt
  3. テストを収集するには、次のコマンドを実行します:

    $ py.test --collect-only tests

    有効な Appium Python パッケージでは、次のような出力が生成されます:

    ==================== 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. 仮想環境を無効にするには、次のコマンドを実行します:

    $ deactivate

    詳細については、「Appium と AWS Device Farm の使用」を参照してください。

APPIUM_PYTHON_TEST_PACKAGE_DEPENDENCY_WHEELS_INSUFFICIENT

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

警告

wheelhouse ディレクトリツリーに十分なホイール依存関係が見つかりませんでした。テストパッケージを解凍し、wheelhouse ディレクトリを開いてください。requirements.txt ファイルにホイール依存関係がすべて指定されていることを確認してください。

エラーなしでテストパッケージを解凍できることを確かめてください。次の例では、パッケージの名前は「test_bundle.zip」です。

  1. テストパッケージを作業ディレクトリにコピーし、次のコマンドを実行します:

    $ unzip test_bundle.zip
  2. の長さを確認する requirements.txt ファイルと の数 .whl wheelhouse ディレクトリ内の依存ファイル:

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

    の数 .whl 依存ファイルが、 内の空でない行の数より少ない requirements.txt ファイル の場合は、以下を確認する必要があります。

    • がある .whl の各行に対応する 依存ファイル requirements.txt ファイルを開きます。

    • に他の行はありません requirements.txt 依存関係パッケージ名以外の情報を含む ファイル。

    • の複数の行に依存関係名が重複していない requirements.txt ファイル内の 2 行が 1 行に対応できるように ファイル .whl 依存ファイル。

    AWS Device Farm は の行をサポートしていません requirements.txt pip install コマンドのグローバルオプションを指定する行など、依存関係パッケージに直接対応しない ファイル。グローバルオプションのリストについては、「要件ファイルフォーマット」を参照してください。

    詳細については、「Appium と AWS Device Farm の使用」を参照してください。