2022. 9. 20. 18:04ㆍQA
AWS Device Farm 이란?
시작하기
저는 AWS Device Farm 에 기존에 작성을 해두었던 자동화 Code들을 AWS Device Farm에 올려서
원격으로 여러 테스트기기를 병렬로 실제 디바이스에서 동시에 테스트를 실행하기 위한 가이드 입니다.
- 위에서 언급된 비디오 로그를 확인할 수 있는 것도 장점이기 때문에 활용을하면 좋을 것 같습니다.
따라하기
install Python virtualenv
pip3 install virtualenv
virtualenv 를 사용하는 이유는 격리된 가상 공간에서 설정을 하면 기존 로컬과 꼬이지 않는 장점이 있습니다.
💡 virtualenv 란
virtualenv 를 설치해줍니다.
virtualenv workspace
cd workspace
source bin/activatet
저는 unittest를 사용해서 개발을 했지만 우선 aws sample에서는 pytest를 사용하나 봅니다.
각자 구현한 방식대로 설치하면 될 것 같습니다.
pip3 install pytest
pip3 Appium-Python-Client
Device Farm은 tests 디렉토리를 찾아서 수행을 하는 방식인 것 같습니다.
find tests/
아래 처럼 폴더를 구성해서 테스트할 package 를 설정해줍니다.
tests/
tests/my-first-tests.py
테스트할 목록을 보여주는 명령어입니다.
py.test --collect-only tests/
create a zipped test package file
Python3
zip -r test_bundle.zip tests/ requirements.txt
가장 중요한 upload할 zip 파일을 만들어주는 부분입니다.
AWS Device Farm에 테스트 파일을 업로드할 때 requirements.txt 파일이 포함 된 zip 파일 기준으로
업로드를 요구하는데요. 자동화 코드가 포함되어있는 tests 디렉토리와 requirements.txt 를 zip합니다.
upload zip file to device farm
만약 아래와 같은 오류가 나타난다면 zip file 내부에 requirements.txt 파일이 없어서 발생한 것 입니다.
아마도 오탈자가 있어서 발생했을 가능성이 큽니다.
Something went wrong, please try again. We could not find the requirements.txt file in the *root* of your test package. Please unzip your test package, verify that the requirements.txt file is in the root of your package, and try again.
파일이 업로드 성공되었다면 아래와 같이 보여질 것 입니다.
이제 [다음] 버튼을 눌러 Device를 선택하는 화면으로 넘어갑니다.
또 다음으로 넘기면 device state를 설정하는 화면이 나옵니다.
저 같은 경우에는 kr로 설정을해야만 하는 상황이어서 Device locale 을 변경해주었습니다.
기타 설정을 모두 완료하면 아래와 같이 proejct가 생성이 됩니다.
자동화가 실행되고 있는 모습입니다.
(제가 테스트로 올린 파일은 마지막 부분에 fail이 발생하는 코드여서 fail이 뜨는 모습입니다.
'QA' 카테고리의 다른 글
[QA] NotionAPI to SlackAPI 긁어서 파이썬으로 슬랙 주기적으로 보내기 with PythonAnywhere (0) | 2023.06.29 |
---|---|
Appium 이미지 인식 후 버튼 클릭 python (pyautoGUI) (0) | 2022.10.06 |
[MacOS] Appium 기본 환경설정 (0) | 2022.09.13 |
셀레니움 화면에 찾는게 있는지 없는지 체크하는 법 (how to check element is present or not in selenium) (0) | 2022.09.06 |
C# 원하는 비율대로 특정 문자를 배치하기 (0) | 2021.10.21 |