QA(6)
-
[QA] NotionAPI to SlackAPI 긁어서 파이썬으로 슬랙 주기적으로 보내기 with PythonAnywhere
목적 이렇게 Daily로 일정 Sync를 하면서 업무를 Check 하는 중인데요. 이걸 매일 Sync하는 QA Engineer는 매일 들어와서 확인을 하지만, 현재 QA팀의 리소스가 얼마나 있는지 다른 유관부서 및 이해관계자들은 쉽게 인지하기가 힘든 게 사실입니다. 그래서 생각을 해보았는데요! 보통의 같이 협업을 하는 사람들은 대부분 실시간으로 Slack 을 사용을 하고 있었습니다. 그래서 Slack 에 QA팀의 현재 일감 진행 상황이나 일이 무엇이 있는지 Slack으로 공유를 하게되면 QA의 리소스 관리도 도움이 되고, QA요청 할 때도 Slack 에서 일정을 파악하고 Communication 을 할 수 있습니다. 실제로 이렇게 일감을 공유하는 것을 도입을 했을 때 협업 시 이미 QA팀의 업무 일정..
2023.06.29 -
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 -
C# 원하는 비율대로 특정 문자를 배치하기
OX퀴즈 OX 값을 원하는 비율로 생성하여 배열에 넣는다. 목표 1. O or X 값만 넣는다. 2. 비율은 사용자가 입력한 비율로 생성된다. 3. or X 값은 랜덤 순서로 배열에 존재 한다. 원하는 비율만큼 O X 값을 배열에 넣는다. private void CreateLists(int cnt, float rate) { _lists = new List(); List _list = new List(); int _count = cnt; float _rate = rate; char o = 'O'; char x = 'X'; for (int i = 0; i
2021.10.21