appium(6)
-
Appium 이미지 인식 후 버튼 클릭 python (pyautoGUI)
문제되는 부분 모바일 자동화를 하게 된다면 마주하게 될 사항인 보안 영역입니다. Inpector 를 통해서 Element 를 잡을 수는 있지만 로드가 될 때마다 패드 순서가 바뀌는 영역인데요. 이런 부분은 우리가 흔히 작성하는 방식인 Xpath 로는 알 수가 없습니다. 위의 화면을 봤을 때 Number Pad 중 숫자1을 선택해보았을 때의 화면인데요. property 에서 해당 element가 숫자1이라는 것을 알수가 없습니다. 해결하는 방법 여러가지 방법이 있겠지만 저는 이미지를 인식해서 인식을 해보자라는 생각을 했습니다. 그래서 바로 찾아본 게 유명한 PyAutoGUI 라는 Library 를 이용해보았습니다. 제가 생각한 Flow 는 아래와 같습니다. 그리고 이것을 실행하기 위해 먼저 각각 선..
2022.10.06 -
(QA) AWS Device Farm Python을 이용하여 Appium 원격 자동화
AWS Device Farm 이란? 💡 AWS Device Farm은 테스트 인프라를 프로비저닝하고 관리하지 않아도 다양한 데스크톱 브라우저 및 실제 모바일 디바이스에서 테스트를 진행하여 웹 및 모바일 앱 품질을 향상시키는 애플리케이션 테스트 서비스입니다. 테스트를 통해 여러 데스크톱 브라우저나 실제 디바이스에서 동시에 테스트를 실행함으로써 테스트 도구 실행 속도를 높이고 비디오 및 로그를 생성하여 앱과 관련된 문제를 빠르게 식별할 수 있습니다. 시작하기 저는 AWS Device Farm 에 기존에 작성을 해두었던 자동화 Code들을 AWS Device Farm에 올려서 원격으로 여러 테스트기기를 병렬로 실제 디바이스에서 동시에 테스트를 실행하기 위한 가이드 입니다. 위에서 언급된 비디오 로그를 확인할 ..
2022.09.20 -
[MacOS] Appium 기본 환경설정
Mac OS 전용 JDK 설치 합니다. 저의 경우 M1맥북이기 때문에 Arm 으로 다운로드를 받았습니다. - Arm 64 DMG Installer 설치를 완료한 후 설치가 제대로 되었는지 확인합니다. java -version .bash_profile에 JAVA_HOME 을 추가합니다. sudo vim ~/.bash_profile 명령어 입력 후 맥북의 비밀번호를 입력하면 아래와 같이 파일이 생성됩니다. 이 문서에 아래 내용을 입력하고 저장합니다. export JAVA_HOME=$(/usr/libexec/java_home) export PATH=$JAVA_HOME/bin:$PATH 내용을 붙혀넣기한 후 ESC 를 한 번 누르고 :wq 를 입력해 저장합니다. source ~/.bash_profile echo..
2022.09.13 -
셀레니움 화면에 찾는게 있는지 없는지 체크하는 법 (how to check element is present or not in selenium)
여러가지 찾는 방법이 있겠지만 대표적으로는 아마 두 가지 방식으로 처리를 할 것입니다. 첫 번째 방법으로는 try catch 를 이용하여 selenium exceptions 중에서 NoSuchElementException 을 통해서 처리하는 방법이 있을 것 입니다. try: driver.implicitly_wait(3) # 다음 버튼 클릭 nextBtn = driver.find_element(By.XPATH, android_script.TUTORIAL_POPUP) nextBtn.click() except NoSuchElementException: pass # 무언가 처리 하겠죠? 하지만 위의 방법을 사용하게되면 저의 경험으로는 Timeout이 발생하기 까지 대기를 하게 될 것이고 대기를 하는 동안 만..
2022.09.06 -
안드로이드 앱피움 가이드 (Appium Guide for Android)
Android Appium 실행 순서 정리 미리 모든 환경이 설정되어있다는 가정하에 작성을 하고 있습니다. Appium Server 실행 Android AVD 실행 저는 터미널 명령어로 실행을 하는 방법으로 진행을 했습니다. emulator -list-avds # 검색 결과 나온 이름 저장 emulator -avd 만약 zsh: command not found emulator 라고 발생이 된다면 Android_Home 이나 Java_Home 환경 설정이 제대로 되어있지 않아서 일겁니다. 만약 bash_profile 에는 제대로 저장이 되어있는데도 똑같이 위와 같이 command not found 라면 sudo vim ~/.zshrc # 스크롤 내려서 제일 아래 # bash_profile 에 저장했던 an..
2022.02.21 -
[Mac OS] address already in use 0.0.0.0: xxxx Appium 해결 방법
가끔 포트를 열어서 실행하여 사용하는 툴을 사용할 경우 아래와 같은 오류를 만날 수 있습니다. [Appium] Welcome to Appium v1.22.2 [HTTP] Could not start REST http interface listener. The requested port may already be in use. Please make sure there is no other instance of this server running already. Fatal Error: listen EADDRINUSE: address already in use 0.0.0.0:4723 at Server.setupListenHandle [as _listen2] (net.js:1320:16) at listenInC..
2022.02.20