Appium을 통하여 Mobile Web을 실행할 때, 코드 몇줄의 실행이면 끝입니다. desired capabilities라는 JSON 객체 설정하는 방법은 이전 포스팅에서 정리를 하였습니다. 코드를 간단하게 살펴보면, XXX Android 버전 11 디바이스의 크롬 브라우저를 사용하는 것을 desired_caps에 정의 합니다. Senium Webdriver를 활용해 Remote 하는 주소인 http://127.0.0.1:4723/wd/hub 즉, Appium 서버 주소를 입력하여 줍니다. 그리고 네이버 주소를 들어가고, driver 종료를 해라라는 뜻입니다. from appium import webdriver desired_caps = dict( deviceName= 'XXX', platformNa..
Appium 테스트 드라이버에게 내 단말 및 환경 세팅을 알려주기 위해 desired capabilities라는 JSON 객체를 사용합니다. desired capability는 Appium 에 단말(Android/iOS) 정보 및 앱 정보를 입력해줘야 합니다. * desired capability 파라미터 - platformName : 사용할 모바일 OS - platformVersion : 사용할 모바일 플랫폼 버전 - deviceName : 사용할 모바일 단말 이름 (adb devices > adb 연결된 장치 이름) - appActivity : 패키지에서 최초 실행할 앱 액티비티 (ex. .DialtactsActivity) - app : Appium 기동할 앱의 위치 - appPackage : 패키지..
보통 Appium을 이용해 디바이스에서 테스트하려면 USB 케이블로 연결하지만 Wi-Fi를 이용해 연결하는 방법도 있습니다. 1. 안드로이드 디바이스와 PC(Mac)이 동일한 네트워크 환경인지 확인 연결하려는 디바이스와 PC(Mac)이 같은 Wi-Fi (네트워크)에 있는지 확인해야 합니다. abd devices를 이용해 현제 USB로 연결되어 있는 Android Device를 확인합니다. 만약 2대의 Device를 Wi-Fi로 연결하려면 한대씩 USB에 연결 후 작업해야 합니다 adb devices 2. 안드로이드 디바이스의 port 변경 adb tcpip를 이용해 port를 등록합니다. port는 보통 5000번대를 사용하는데 저는 5555를 사용하겠습니다. adb tcpip 5555 3. 안드로이드 ..
Appium 은 Appium.io에서 GUI로 다운 받을 수 있지만, NPM Node Package를 통해서 설치도 가능합니다. 보통은 GUI를 사용하지만, 경우에 따라서는 명령어를 통하여 사용하는 방법이 유용한 경우가 있습니다. (이 방법은 나중에 포스팅 하겠습니다.) 1) 왼쪽 하단의 윈도우 버튼을 클릭하여 cmd 를 입력하여 "명령 프롬프트" 를 클릭합니다. 2) npm install -g appium 명령어를 입력하고 엔터를 칩니다. ※ -g라는 옵션은 최신버전이라는 뜻입니다. Tip!! 경우에 따라서 npm 버전이 낮은 경우 하기와 같은 이미지가 나옵니다. 이때는 npm install -g npm 명령어를 입력하여 최신버전의 npm으로 업데이트 하면됩니다. 3) appium 시작하는 명령어를 하..
1. Mac에서 Terminal 을 실행 시킵니다. 2. 설치되어 있는 Python 버전 확인을 합니다. ls -l /usr/local/bin/python* 위의 명령어를 실행하면 하기와 같이 python 버전과 위치가 나옵니다. 3. 파이썬 버전 변경하기 현재 python 3.9가 설치되어 있기 때문에 아래와 같이 입력을 해줍니다. 만약 python 3.10이 설치되어 있으면, 3.9대신 3.10으로 넣으면 됩니다. ln -s -f /usr/local/bin/python3.9 /usr/local/bin/python 4. 확인하기 터미널을 종료하고 다시 실행 시켜서 하기와 같이 명령어를 입력하고 엔터를 치면, python 3.9 버전으로 변경되어 있는 것을 볼 수 있습니다. python --version
이전 포스팅에서는 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 를..
- Total
- Today
- Yesterday
- testuautomation
- apk
- Appium
- MacOS
- Quality Assurance
- DesiredCapabilities
- 미러링
- testing
- testautomation
- Python
- nodejs
- trend
- QA
- warning
- AVD
- EMULATOR
- Android
- AOS
- Software Testing
- podcast
- 2022
- Windows
- WIFI
- Selenium
- Conference
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |