반응형 자동화(Automation)17 Selenium_Wait 웹은 비동기적 특성을 가지고 있기 때문에, 웹 드라이버는 DOM의 real-time 상태를 추적하지 않습니다. 자동화를 실행하다보면, 웹 페이지를 이동한 후 지시한 element를 찾으려고 할때 해당 element를 찾을 수 없는 오류가 발생하는 경우가 종종 발생합니다. 이런 경우를 해결하기 위해서 wait를 사용하게 되는데요. 이번 포스팅에서는 wait를 정리해서 올려보고자 합니다. (1) 명시적 대기(Explicit wait) 명시적 대기는 설정한 조건이 통과될때까지 작성한 코드가 프로그램을 실행중지하거나 thread를 고정할 수 있게 해줍니다. 즉, 조건이 잘못된 값을 반환하는 동안에는 계속 시도하고 대기합니다. 명시적 대기 시간은 조건이 발생할때까지 대기할 수 있으므로 브라우저와 해당 DOM 및 .. 2022. 8. 5. Selenium_Scroll in Java 안녕하세요. 오랜만의 포스팅으로 돌아왔습니다. 이전에 마지막으로 작성했던 포스팅에서 모바일 화면으로 자동화처리를 하는 옵션에 대해 설명했었습니다. 그동안 모바일 에뮬레이션을 사용하다 보니, 스크롤 기능을 종종 사용할 필요성이 생겼었습니다. 종종 사용하게 되는 기능이라, 한번에 정리해서 기억해두고자 포스팅을 올려 정리해보겠습니다! 스크롤바는 화면의 가로 또는 세로로 이동할 수 있습니다. selenium에서는 웹드라이버에서 javascript method를 이용해 스크롤을 사용합니다. JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript(Script,Arguments); (1) 픽셀 단위 스크롤 executeScript("window.s.. 2022. 8. 1. Selenium_Mobile Emulation 모바일웹 페이지 자동화를 하기 위해, 모바일 에뮬레이션을 이용해서 모바일 화면으로 띄워주는 방법에 대해 포스팅을 하려고 합니다. 이전에 웹 자동화 Setting 포스팅 단계대로 셋팅을 한 뒤, 실행시키면 아래와 같은 웹 화면으로 자동화가 진행됩니다. 이때, 전체 화면이 아닌 모바일 에뮬레이션을 이용한 화면으로 보여주기 위해서는 setup단계에서 //mobile emulation 주석을 단 아래와 같은 코드를 추가시켜 주면 됩니다. package example; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebDriver; import org.ope.. 2022. 2. 2. Selenium_isDisplayed(), isSelected(), isEnabled() 안녕하세요! 오늘은 오랜만에 웹 자동화에 관한 selenium 포스팅에 대해 작성해보려고 합니다. 요즘 자동화를 자체적으로 공부 중인데 헷갈리는 메소드가 있어 정리하면서, 포스팅을 해보겠습니다. 오늘 제가 다룰 셀레니움 메소드는 isDisplayed()와 isSelected(), isEnabled() 세 개입니다. 세 개의 메소드가 비슷비슷한 의미를 갖고 있지만 역할이 조금씩 달라서 구분 방법에 대해 알려드리겠습니다. 먼저 isDisplayed() 메소드입니다. isDisplayed( ) 웹 요소의 페이지에서 표시되는지(display) 여부를 확인하는 데 사용됩니다. 활성화되었을 경우에는 true, 비활성화되어있을 경우에는 false를 반환합니다. isSelected( ) 웹 페이지에서 element가 .. 2021. 1. 23. 웹 자동화 Setting 3_TestNG 시작하기 오늘은 웹 자동화 셋팅의 마지막 단계인 TestNG를 이클립스에 설치하는 방법에 대해 설명해보겠습니다. 저는 웹 자동화의 annotation(주석)기능을 사용하기 위해서 TestNG를 사용하는데요. 먼저 , TestNG에 대해 알아보도록 하겠습니다. TestNG란? Junit과 NUnit에서 영감을 얻은 테스트 프레임워크입니다. 주요 기능은 다음과 같습니다. - 주석(Annotation) - 임의의 큰 스레드 풀에서 테스트를 실행가능 - 코드가 다중 스레드로부터 안전한지 테스트 - 유연한 테스트 구성 - 데이터 기반 테스트 지원(@DataProvider 사용) - 매개변수 지원 등 출처 : testng.org/doc/ TestNG - Welcome TestNG Now available Click for .. 2020. 11. 4. 웹 자동화 Setting 2_selenium setting 안녕하세요. 오늘은 selenium setting에 관한 포스팅을 작성해보겠습니다. 먼저, 웹 자동화를 할 IDE로 eclipse설치를 진행해줍니다. 1. Eclipse 설치 www.eclipse.org/downloads/packages/ 해당 이클립스 다운로드 페이지에 접속해서 이클립스 다운로드 파일을 실행시켜줍니다. 해당 IDE 선택 후, 계속해서 install합니다. 이렇게 하면 이클립스가 설치되어 열립니다. 이제 웹 자동화를 하기 위해 selenium에 대해 알아보겠습니다. Selenium이란? 웹 애플리케이션 테스트를 위한 portable framework이다. webdriver를 이용하며 브라우저를 제어하며 자동화를 가능하게 해준다. selenium을 사용하려면 각 브라우저에 맞는 웹 드라이버.. 2020. 10. 28. 웹 자동화 Setting 1 _ jdk 설치 웹 자동화를 하기전 먼저 준비되어야 할 셋팅 방법에 대해 소개하겠습니다. 자동화 환경을 만들어주기 위해 먼저 jdk 설치를 진행하겠습니다. 1. jdk 설치 www.oracle.com/java/technologies/javase-downloads.html 오라클 사이트에 들어가서 자신이 가진 컴퓨터에 따라 선택해서 설치해줍니다. 맥북이면 mac os installer를, 저는 window x64 installer를 설치했습니다. jdk 설치 후 환경변수를 저장해 편리한 사용을 할 수 있도록 하겠습니다. 2. '시스템 환경변수 편집' 검색 환경변수 > 환경변수 페이지로 넘어감 3. 새로 만들기 > 변수이름, 변수값 입력 후 확인버튼 클릭 변수 이름(N) : JAVA_HOME 변수값(V) : jdk 설치된 .. 2020. 10. 22. 이전 1 2 다음 반응형