설치 프로그램 목록 Appium을 기동하기 위해서는 아래와 같이 4가지 프로그램 설치가 필요합니다. 1) JDK(Java Development Kit) 2) Android SDK 3) Node.js 4) Appium 1) JDK 설치 1. Oracle의 홈페이지에 가서 JDK 를 다운로드하여 설치합니다. (JDK 다운을 위해서 오라클 회원가입이 필요합니다.) 링크 : Java Downloads | Oracle 2. 왼쪽 하단의 윈도우 버튼을 클릭하여 "고급" 이라는 단어를 입력하여 "고급 시스템 설정 보기" 를 클릭합니다. 3. 고급 탭에서 맨 아래에 시스템 환경변수를 클릭합니다. 4. 새로 만들기 버튼을 클릭하여 뜨는 팝업 창에 하기와 같이 입력하고 확인 버튼을 클릭합니다. 참고로 변수 값은 설치하는 ..
이전 포스팅에서는 Locator의 종류를 설명했습니다. 이번 시간에는 Locator 사용방법을 설명드리겠습니다. Selenium WebDriver에서 요소 찾기는 Selenium WebDriver 및 WebElement 클래스에서 제공하는 findElement() 및 findElements() 메서드를 사용하여 수행됩니다. 1. findElement() 메소드는 한개의 Web Element(웹요소) 를 동작하는데 사용합니다. 예 : driver.findElement(By.LocatorStrategy(“Locator Value”) 2. findElements() 메소드는 웹 페이지내의 Web Elements(웹요소들)을 동작하는데 사용합니다. 이 메소드는 목록 인터페이스를 통해 WebElement(웹요소)..
Appium은 네이티브, 하이브리드 및 웹 애플리케이션의 자동화된 테스트를 수행하기 위한 오픈 소스 도구입니다. Appium은 표준 API를 사용하여 iOS 및 Android 플랫폼에서 테스트 케이스 생성을 허용하는 크로스 플랫폼 특성 및 기본적으로 Selenium에서 요소를 추출하고 Selenium의 WebDriver를 통해 iOS 및 Android 앱과 적극적으로 상호 작용하기 위해 내부적으로 JSON Wire Protocol을 사용합니다 . 서버-클라이언트 아키텍처를 통해 REST API를 사용하는 웹 서버는 클라이언트에 직접 연결되어 명령을 수신하고 지정된 모바일 장치를 통해 추가로 실행합니다. Appium은 Node.js로 작성된 HTTP 서버이기 때문에 주어진 명령을 실행한 결과를 번거로움 없..
Locator 란? 웹 페이지 내에서 웹 요소를 고유하게 식별할 수 있는 주소라고 할 수 있습니다. Locator는 작업을 수행하는데 필요한 웹 요소에 대해 Selenium에 알려주는 웹 요소의 HTML 속성입니다. 쉽게 설명하자면 이렇습니다. 온라인으로 물건을 구매한다고 가정을 하겠습니다. 열심히 온라인으로 구매할 물건을 검색하여 최저가의 물건을 찾았고, 배송지를 입력하고 결제를 합니다. 내가 살 물건은 어떤 행위를 해야할 대상입니다. 해당 대상을 찾았으면 배송지가 어디인지를 입력해야 하는데 그 배송지는 Locator라고 볼 수 있습니다. 해당 Locator 를 찾으면 결제 즉, 행동입니다. 그 행동은 클릭이 될 수 있고 글을 입력할 수 있는 것 등이 될 수 있습니다. 그러면 Locator는 종류가 무..
wait 는 말 그대로 '기다리라' 는 뜻입니다. 여기에는 2가지 타입이 있습니다. 바로 implicitly wait 과 explicitly wait 입니다. 하지만 여기서 implicitly wait 과 explicitly wait 를 배우기 전에 time.sleep 을 배우겠습니다. time.sleep time.sleep 은 물리적인 시간을 기다리는 명령어입니다. 사용하는 방법은 time.sleep(초) 를 사용하여 구글 웹페이지가 열린 후 1초, 5.5초, 10초를 기다립니다. import time from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrom..
테스트 자동화에서 가장 많이 사용하는 기능 5가지를 선정하라면, 하기와 같다. get( ) wait( ) find_element( ) send_keys( ) click( ) 1. get( ) get 명령은 새 브라우저를 시작하고 크롬 웹드라이버 에서 주어진 URL을 엽니다 . 단순히 문자열을 지정된 URL로 사용하고 테스트 목적으로 엽니다. Selenium IDE를 사용한다면 open 명령어와 비슷합니다. 예시: driver.get("https://google.com"); '드라이버'는 모든 작업을 수행할 Chrome 웹 드라이버이며 위의 명령을 실행한 후 다음과 같이 표시됩니다. wait() wait 는 말 그대로 ‘기다리라’는 뜻이다. implicitly wait 또는 explicitly wait 를..
webdriver.ChromeOptions() 함수를 실행할 때 크롬 드라이버의 경로만 매개변수로 지정 해줍니다. 여기에 chrome_options 매개변수를 추가로 입력하면 브라우저 크기, 시크릿모드, headless 모드 등 다양한 옵션을 설정할 수 있습니다. 아래는 대표적으로 많이 사용하는 옵션들로 맨 하단에 참고 부분에는 좀 더 많은 옵션들을 확인할 수 있습니다. headless : headless 모드 설정 disable-gpu : gpu를 사용 안하도록 설정 lang=ko_KR : 한국어로 실행되도록 설정 start-maximized : 브라우저 최대화 window-size=1920,1080 : 1920*1080 브라우저 크기로 오픈 incognito : 시크릿모드 disable-popup-b..
'Selenium webdriver 로 웹페이지 띄우기' 를 진행하며 chrome webdriver를 실행했는데, 아래와 같은 warning이 뜨는 경우가 있습니다. DeprecationWarning: executable_path has been deprecated, please pass in a Service object 이런 경우 service 키워드를 사용하면 됩니다. from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager chrome_options = webdriver.ChromeOptions() dr..
Selenium webdriver로 웹페이지 띄우기(1) 에서는 chromedriver를 직접 다운 받아서 폴더에 넣고 경로를 지정해서 웹페이지 띄우는 방법을 보여드렸습니다. chromedriver를 다운 받는 것은 어느 사이트를 보던 흔하게 있는 예제였는데요, 제가 이번에 보여드릴 예제는 webdriver-manager 라는 패키지를 설치함으로서 chromedriver 설치 및 경로 지정 없이 사용하는 방법을 알려드리겠습니다. 먼저, 새로운 프로젝트를 만들거나 혹은 지난 시간에 했던 프로젝트에 새로운 python 파일을 만듭니다. 저는 새로운 프로젝트를 만들었습니다. (새로운 프로젝트 생성 시, selenium 을 다시 설치하셔야 합니다.) 지난 시간에 selenium 설치하는 방법을 터미널을 통해 패..
지난 시간에는 Selenium 설치방법 에 대해 알아봤습니다. 웹페이지를 브라우저로 열기 위해서는 크롬의 경우 chromedriver, 파이어폭스의 경우 geckodriver와 같은 webdriver 프로토콜이 필요합니다. (자세한 설명은 selenium 웹페이지에서 보시면 나와 있으니 궁금하신 분은 검색으로...) 거의 모든 예시는 chrome 브라우저를 가지고 들으며, 실제적으로 많이 사용하기 때문에 저 또한 chrome 브라우저를 통해 보여드리겠습니다. chromedriver를 통해 웹페이지를 띄우는 방법은 2가지가 있습니다. 일단 첫번째는 많이들 사용하는 방법으로 chromedriver를 다운 받아서 경로를 지정하여 호출하는 방법입니다. 1. 구글에서 chromedriver를 입력하시면, 아래와 ..
- Total
- Today
- Yesterday
- testautomation
- Python
- warning
- podcast
- Conference
- Appium
- nodejs
- apk
- testuautomation
- Quality Assurance
- 2022
- testing
- trend
- 미러링
- Android
- WIFI
- QA
- DesiredCapabilities
- EMULATOR
- AOS
- AVD
- Windows
- Software Testing
- MacOS
- Selenium
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |