자동화 (42) 썸네일형 리스트형 Selenium -> Playwright로 코드 변환하기 웹 자동화 하면 가장 유명한 게 Selenium 입니다.최근에는 Playwright가 나오면서 자동화 구현시 많이 이용하시는데요. 기존에 Selenium 코드를 Playwright로 변환하기 위해서 Selenium에서 자주 사용하는 코드들을 변환하는 방법을 소개합니다. 1. find_element Selenium에서 클릭 등 엘리먼트를 찾을 때 사용하는 find_element는 Playwright에서 locator로 전환해 사용합니다.주의할 점은 Playwright에서는 css select 처럼 class일 때는 "."을 ID일때는 "#"을 붙여서 사용해야 합니다. Seleniumdriver.find_element(By.CLASS_NAME, '클래스명').click() Playwrightdriver.lo.. Playwright 페이지 새 탭으로 열릴 때 자동화 코드 동작하는 방법 웹 자동화를 구현하다 보면 페이지가 이동되는 경우는 상당히 많습니다. 그 중 클릭을 할 때 해당 페이지에서 이동하지 않고 새 탭으로 열리는 경우도 꽤 많은데요.탭 간 전환 함수들을 공통 함수로 구현해두면 편리하게 함수를 호출하여 사용할 수 있습니다. 저의 경우 함수는 새 탭으로 이동하는 함수와 해당 탭을 닫는 함수 2개로 구분하여 사용하였습니다. 먼저 새 탭으로 이동하는 함수입니다.새 탭으로 활성화 상태를 이동하여 새 탭에서 이후 자동화 코드가 동작되도록 구현하였습니다.1초 대기는 새 탭 이동 후 로딩 시간이 필요하다고 판단하여 추가하였으며 상황에 따라 초를 늘리는 것도 추천드립니다.def newtab(driver): driver.wait_for_timeout(1000) # 1초 대기 pag.. pytest 결과 요약을 차트 형태로 확인하기 (pytest-html-reporter) pytest-html 플러그인 사용시 텍스트 위주 형태로 문서가 나오는 걸 확인할 수 있습니다. 해당 결과만으로도 깔끔하지만 좀 더 개선된 UI 형태로 확인할 수 있는 방법이 있는데 pytest-html-reporter 플러그인을 사용하는 방법입니다. pytest-html 처럼 동일하게 pytest-html-reporter 플러그인을 설치합니다. 실행 방법은 pytest-html과 비슷하게 추가 옵션 내용을 추가하면 됩니다. pytest "실행파일명" --html-report=./report 리포트 결과 파일명도 옵션에서 추가하여 변경이 가능합니다. 파일명을 수정하지 않는 경우 기본 파일명은 "pytest_html_report.html"로 생성됩니다. pytest "실행파일명" --html-report=.. 중고 할인 기프티콘 인기 목록 자동화로 확인하기 (기프티스타) 자주 이용하는 브랜드 메뉴가 있는 경우 정가보다 싸게 구매할 수 있는 중고 판매 기프티콘 앱을 사용합니다. (기프티스타) 최대 10% 이상 할인된 금액으로 구매할 수 있어 종종 항목들을 체크하는 경우가 있는데 이부분을 자동화로 구현해보면 재밌을 거 같아서 구현해보았습니다. 자주 사용하는 카테고리인 커피, 치킨/피자, 패스트푸드 항목을 선택하여 베스트상품 10개 목록을 추출하는 코드를 작성하였습니다. 우선 웹으로 계속 이용하기 위해 배너를 닫는 코드를 구현한 후 해당 카테고리로 이동할 수 있게 find_elements > class_name 코드를 이용하였습니다. 카테고리 항목 이동 제외하고는 모든 코드가 동일하기 때문에 함수를 사용하여 구현하였습니다. (카테고리 번호만 입력값으로 구분) def giftL.. Katalon Studio XPath Locator 다른 Locator으로 변경하기 Katalon Studio로 Object값을 통해 TC를 구현을 하다보면 Object RePository에 필요한 Object값을 확인할 수 있는데 안을 보다보면 XPath를 통해 Locator가 설정되어 있는 경우가 있습니다. Appium 및 Katalon Studio 문서를 봐도 XPath값은 추천하지 않아서 가능하면 변경이 필요합니다. (퍼포먼스 이슈로 인해 권장하지 않음) XPath값으로만 동작한다면 변경할 수 없겠지만 Object 상세를 진입하면 XPath인데도 다른 Property 데이터 항목들이 있어서 변경이 가능한 경우를 확인할 수 있습니다. 동작에는 이상이 없지만 권장하는 다른 항목으로 변경한 후 동작에 이상이 없는지 확인합니다. (변경한 이후 동작이 되지 않는 경우 다른 항목으로 변경하.. 밴드웹에서 밴드 글을 자동으로 써보기 밴드웹에서 로그인을 성공한 후 만들어진 밴드에 원하는 글을 자동으로 써보는 코드입니다. 정확한 밴드를 설정하는 방법을 찾기가 어려워 find_elements로 여러개를 찾은 후 그중 첫번째 항목으로 첫번째 밴드를 선택하는 코드로 작성하였습니다. driver.find_elements(By.CLASS_NAME, 'bandCover._link')[0].click() #첫번째 밴드 선택 time.sleep(2) Class_name을 보다보면 띄어쓰기로 되어 있을 때가 있는데 그 경우 띄어쓰기를 점(.)으로 변경한 후 코드를 동작하면 해당 element를 찾아서 코드를 실행합니다. 띄어쓰기를 점으로 변경하지 않으면 class_name을 찾을 수 없다는 에러가 뜨기 때문에 테스트 코드 작성시 항상 생각해두어야 하는.. Katalon Studio 조건문 내 verify 사용시 Fail 처리되지 않게 하기 Katalon Studio에서 스크립트 작성할 때 경우에 따라 해당 element가 있는 경우와 없는 경우를 모두 처리하기 위해 조건문을 사용하게 됩니다. - 페이지 진입시마다 영역이 다르게 나올 때 - 유저별로 다르게 검색 결과가 다르게 나올 때 - 노출 유무에 따라 다르게 자동화가 수행되어야 할 때 true, false 결과값에 따라 동작을 다르게 하는데 이때 false값인 경우 element를 찾지 못했기 때문에 해당 스크립트가 Fail 처리가 되어버립니다. 스크립트 내 조건문에서 사용한 verify 결과가 true, false 상관없이 Fail 처리 되지 않게 넘기고 싶을 때 사용하는 방법이 있습니다. 바로 FailureHanding.OPTIONAL 파라미터를 추가하시면 됩니다. verify 함수.. Pytest HTML 문서로 결과 확인하기 With PyCharm (pytest-html) Pytest로 테스트 코드를 작성한 후 실행하면 결과값을 콘솔창에서 확인이 가능한데요. pytest-html 플러그인을 사용하면 HTML 문서로 테스트 결과를 확인할 수 있습니다. PyCharm을 개발 툴로 사용하기 때문에 PyCharm 기준으로 설명드리려고 합니다. 1) PyCharm Packages 추가 화면에서 pytest-html 검색 후 Install Package 버튼 클릭하여 설치합니다. 2) PyCharm Run > Edit Configurations... 메뉴를 클릭하여 HTML 문서로 결과를 얻고 싶은 클래스나 함수를 선택합니다. 3) "Additional Arguments" 항목에 "--html=Reports/Report.html --self-contained-html"값을 입력합니다.. 이전 1 2 3 4 ··· 6 다음