AWS Device Farm의 Appium Python 웹 애플리케이션 테스트 문제 해결 - AWS Device Farm

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Device Farm의 Appium Python 웹 애플리케이션 테스트 문제 해결

다음 항목에서는 Appium Python 웹 응용 프로그램 테스트를 업로드하는 동안 발생하는 오류 메시지를 나열하고 각 오류를 해결하기 위한 해결 방법을 권장합니다.

APPIUM_WEB_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_WEB_PYTHON_TEST_PACKAGE_DEPENDENCY_WHEEL_MISSING

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

주의

wheelhouse 디렉토리 트리에서 종속성 wheel 파일을 찾을 수 없습니다. 테스트 패키지의 압축을 푼 다음 wheelhouse 디렉터리를 열고 디렉터리에 wheel 파일이 하나 이상 있는지 확인한 다음 다시 시도하세요.

오류 없이 테스트 패키지의 압축을 풀 수 있는지 확인하세요. 다음 예제에서 패키지 이름은 test_bundle.zip입니다.

  1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

    $ unzip test_bundle.zip
  2. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

    $ tree .

    Appium Python 패키지가 유효하면 wheelhouse 디렉토리에서 강조 표시된 파일과 같은 .whl 종속 파일을 하나 이상 찾을 수 있습니다.

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

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

주의

지원하지 않는 플랫폼으로 지정된 wheel 파일이 하나 이상 발견되었습니다. 테스트 패키지의 압축을 푼 다음 wheelhouse 디렉토리를 열고 wheel 파일 이름이 -any.whl 또는 -linux_x86_64.whl로 끝나는지 확인한 다음 다시 시도하세요.

오류 없이 테스트 패키지의 압축을 풀 수 있는지 확인하세요. 다음 예제에서 패키지 이름은 test_bundle.zip입니다.

  1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

    $ unzip test_bundle.zip
  2. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

    $ tree .

    Appium Python 패키지가 유효하면 wheelhouse 디렉토리에서 강조 표시된 파일과 같은 .whl 종속 파일을 하나 이상 찾을 수 있습니다. 파일 이름은 다를 수 있지만 플랫폼을 지정하는 -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_WEB_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_WEB_PYTHON_TEST_PACKAGE_INVALID_TEST_FILE_NAME

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

주의

tests 디렉터리 트리에서 유효한 테스트 파일을 찾을 수 없습니다. 테스트 패키지의 압축을 푼 다음 테스트 디렉터리를 열고 하나 이상의 파일 이름이 “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_WEB_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_WEB_PYTHON_TEST_PACKAGE_INVALID_PYTEST_VERSION

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

주의

pytest 버전이 지원하는 최소 버전인 2.8.0보다 낮은 것으로 확인되었습니다. requirements.txt 파일에서 pytest 버전을 변경한 후 다시 시도하세요.

오류 없이 테스트 패키지의 압축을 풀 수 있는지 확인하세요. 다음 예제에서 패키지 이름은 test_bundle.zip입니다.

  1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

    $ unzip test_bundle.zip
  2. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

    $ tree .

    작업 디렉토리에서 requirement.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_WEB_PYTHON_TEST_PACKAGE_INSTALL_DEPENDENCY_WHEELS_FAILED

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

주의

종속성 wheel을 설치하지 못했습니다. 테스트 패키지의 압축을 푼 다음 requirements.txt 파일과 wheelhouse 디렉터리를 열고 requirements.txt 파일에 지정된 종속성 wheel이 wheelhouse 디렉터리 내의 종속성 wheel과 정확히 일치하는지 확인한 다음 다시 시도하세요.

패키징 테스트를 위해 Python virtualenv를 설정하는 것이 좋습니다. 다음은 Python virtualenv를 사용하여 가상 환경을 만든 다음 활성화하는 예제 흐름입니다.

$ virtualenv workspace $ cd workspace $ source bin/activate

오류 없이 테스트 패키지의 압축을 풀 수 있는지 확인하세요. 다음 예제에서 패키지 이름은 test_bundle.zip입니다.

  1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행하세요.

    $ unzip test_bundle.zip
  2. wheel 파일 설치를 테스트하려면 다음 명령을 실행할 수 있습니다.

    $ 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_WEB_PYTHON_TEST_PACKAGE_PYTEST_COLLECT_FAILED

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

주의

tests 디렉터리에서 테스트를 수집하지 못했습니다. “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. wheel 파일을 설치하려면 다음 명령을 실행할 수 있습니다.

    $ 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과 함께 작업 단원을 참조하세요.