본문 바로가기

728x90

분류 전체보기

(49)
AWS 인스턴스 환경 세팅 절차 Selenium 자동화로 구현하기 테스트를 하다보면 가끔 국내 환경 외 국외 환경을 봐야 하는 경우가 있습니다. (미국, 일본, 대만 등..) 이럴때 AWS 무료 인스턴스 환경을 세팅하여 간단하게 확인 후 다시 종료를 하는 작업을 반복하는데요. 이걸 자동화로 구현하면 괜찮을 거 같아서 구현 시도해보았습니다. (예전에 환경 세팅 후 종료하지 않아서 4만원인가 결제했던 아픈 기억이 떠오릅니다 ㅠㅠ) AWS EC2 URL로 진입 후 최대창으로 변경합니다. 최대창으로 변경하지 않으면 추후 버튼이 우측이 아닌 하단에서 노출되어 스크롤 하는 동작을 줄이기 위해 변경하였습니다. driver.get('https://console.aws.amazon.com/ec2/v2/home') driver.maximize_window() time.sleep(2) 로..
Pytest로 자동화 테스트 결과 확인하기 (With PyCharm) Python에서 제공하는 프레임워크 중 테스트 목적으로 사용할 수 있는 Pytest가 있습니다. Pytest를 사용하면 함수별로 테스트 자동화 결과를 확인할 수 있어서 유용하게 사용할 수 있습니다. PyCharm을 사용하면 더 편리하게 사용할 수 있기 때문에 Pycharm 사용을 추천합니다. PyCharm 라이브러리 추가 화면에서 pytest를 검색해서 설치합니다. 라이브러리 추가하는 절차는 이전에 설명한 글이 있어서 공유드립니다. https://autoshovel.tistory.com/3 Python 라이브러리 사용하기 (With PyCharm) Python 라이브러리를 사용하기 위해 pip로 해당 라이브러리를 설치해야 하는데 Pycharm 툴을 사용하면 편리하게 설치가 가능합니다. Pycharm 내 ..
Selenium 텍스트 입력창 지우는 방법들 (Clear, Keys..) Selenium 자동화 코드 작성 중 자주 사용하는 코드가 있는데 바로 텍스트 입력된 내용 삭제하는 코드입니다. 텍스트를 입력한 다음 삭제하거나 기존에 입력된 텍스트를 다른 텍스트로 바꾸기 위해 삭제하기도 하는데요. 이 때 사용할 수 있는 코드들을 정리하였습니다. 1. send_keys(Keys.CONTROL, 'a', Keys.BACKSPACE) 키보드 키 중 Ctrl + A 으로 전체 선택 후 BackSpace 키보드 키로 지우는 방법입니다. 컴퓨터 사용시 가장 자주 사용하는 단축키를 참고하여 사용하기 때문에 어렵지 않게 이해할 수 있습니다. Mac 사용자의 경우에는 CONTROL 대신 COMMAND를 사용하시면 됩니다. 테스트를 반복 수행시 간헐적으로 동작하지 않는 단점이 있습니다. Windows ..
Katalon Studio 실행 중 Wrong Syntax Error 발생시 해결법 테스트 자동화 툴인 Katalon Studio를 사용하는 중 Android 연결 기기가 있는데도 Test Case를 실행시키면 Wrong syntax Error로 인해 실행이 실패하는 경우가 있습니다. Mobile Recorder에서는 연결된 기기 목록이 나와서 정상 동작하는데 Test Case만 실행하면 동작하지 않아서 애를 먹었는데요 ㅠㅠ (여기서는 잡히는데 왜..!!!) 열심히 구글링 하던 중 해결방법을 드디어 찾았습니다!! 바로 Project Setting에서 Android 기기를 잡아주는 방법이었습니다. 1. Project > Settings > Desired Capabilities > Mobile > Android에서 원하는 기기를 선택 2. Add 버튼을 눌러 property 하나 생성 3...
Selenium으로 밴드웹 자동 로그인 해보기 Selenium을 사용하여 밴드웹 초기화면에서 로그인 성공까지 자동화를 구현하였습니다. ID가 있는 경우 ID를 우선적으로 사용하였고 없는 경우 Class_name 과 xpath를 적절하게 사용하여 구현하였습니다. 인터넷 환경에 따라 로딩이 느릴 수 있다고 생각하여 동작별로 2초 간격을 추가하였습니다. 로그인 화면은 대부분 비슷하게 구현이 되어있기 때문에 네이버나 다른 사이트 로그인에서도 참고하면 자동 로그인 기능을 사용할 수 있습니다. from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from webdriver_manager..
SSL 인증서 유효기간 확인 방법 자기가 관리하는 페이지의 SSL 인증서 유효기간을 확인할 때가 있습니다. (인증서 유효기간 놓치면 대참사가....) 유효기간을 확인할 수 있는 다양한 방법이 있는데 몇가지 소개합니다. 1. 브라우저 내에서 확인하는 방법 브라우저 좌측 상단 버튼 클릭 > "이 연결을 안전합니다." 텍스트 클릭 > "인증서가 유효함" 텍스트 클릭 인증서 뷰어 화면에서 유효성 기간 영역에 만료일을 확인할 수 있습니다. 2. 검증 사이트를 통해 확인하는 방법 https://www.ssllabs.com/ssltest/ 사이트 접속하여 확인하고 싶은 URL 입력시 인증서 만료일을 확인할 수 있습니다. 해당 사이트에서는 TLS 지원 여부나 다른 기타 정보들을 확인할 수 있는 장점이 있습니다. 3. curl 명령어 사용하여 확인하는 ..
Selenium 대기 방식 실행 시간 비교해보기 (Wait, Sleep) Selenium에서 요소를 찾기 위해 시간이 필요하기 때문에 대기 기능을 사용합니다. 이론으로는 장단점을 많이 공부했지만 실행시간이 얼마나 차이 나는지 비교해보기 위해 간단한 코드를 작성하여 테스트하였습니다. 비교대상은 자주 사용하는 대기 기능 3가지입니다. time.sleep Implicit wait Explicit wait 실행 시간을 비교하기 위한 시나리오는 아래와 같으며 각 time은 5초로 설정하고 비교하였습니다. (동일한 시나리오 3번 반복 실행) 네이버 메인 홈으로 크롬 브라우저 열기 (https://www.naver.com) 회원가입 버튼 클릭 약관 모두 동의 후 확인 버튼 클릭 1. time.sleep 가장 편리하게 사용하는 방식이지만 특정 조건 없이 강제로 시간을 소요해서 대기하기 때문..
Charles Tool로 응답값 변조하기 - Rewrite Charles로 Map Local, Map Remote 기능을 사용하면 원하는 데이터로 변조할 수 있는데 Rewrite 기능을 사용해서도 변조할 수 있습니다. 이번에는 Rewrite 기능을 사용하여 변조해보려고 합니다. Rewrite는 변조하고 싶은 API값 우측 클릭으로는 메뉴가 노출되지 않아 직접 입력을 해야 합니다. 메뉴는 Tools 탭에 위치에 있습니다. 지난번에 작성했던 Map Local, Map Remote 설명글 처럼 이번에도 예시와 함께 설명드리려고 합니다. 예시 1) 밴드앱에서 미션 인증 횟수 변조해보기 밴드앱에서 미션 인증하는 기능이 있는데 미션 인증 횟수를 변조할 수 있습니다. 변조하기 전 화면에서는 한번도 인증하지 않아서 0일 인증으로 노출됩니다. 해당 화면 진입시 호출되는 API ..

728x90