APPIUM 튜토리얼 Android 및 iOS 모바일 앱 테스트
Appium?
APPIUM은 무료로 배포되는 오픈소스 모바일 애플리케이션 UI입니다. 지원 뼈대. Appium 네이티브, 하이브리드 및 웹 애플리케이션 테스트를 허용하고 물리적 장치와 에뮬레이터 또는 시뮬레이터 모두에서 자동화 테스트를 지원합니다. 크로스 플랫폼 애플리케이션 테스트를 제공합니다. 즉, 단일 API가 두 가지 모두에 대해 작동합니다. Android 및 iOS 플랫폼 테스트 스크립트.
그것은이 아니 모바일 기기 OS에 대한 종속성. APPIUM에는 번역하는 프레임워크 또는 래퍼가 있기 때문입니다. Selenium UIAutomation(iOS) 또는 UIAutomator(Android) OS 유형이 아닌 장치 유형에 따른 명령입니다.
Appium 모든 언어를 지원합니다. Selenium 클라이언트 라이브러리는 다음과 같습니다. Java, 오브젝티브-C, JavaScript node.js, PHP, Ruby, Python, 씨#, 등
APPIUM은 어떻게 작동합니까?
- Appium 다음을 사용하여 작성된 'HTTP 서버'입니다. Node.js 플랫폼과 드라이브 iOS 및 Android Webdriver JSON 와이어 프로토콜을 사용하는 세션. 따라서 초기화하기 전에 Appium 서버, Node.js가 시스템에 사전 설치되어 있어야 합니다.
- 인셀덤 공식 판매점인 Appium 다운로드하여 설치하면 REST API를 노출하는 서버가 우리 컴퓨터에 설정됩니다.
- 클라이언트로부터 연결 및 명령 요청을 수신하고 모바일 장치에서 해당 명령을 실행합니다(Android / iOS).
- HTTP 응답으로 다시 응답합니다. 다시 말하지만, 이 요청을 실행하기 위해 모바일 테스트 자동화 프레임워크를 사용하여 앱의 사용자 인터페이스를 구동합니다. 다음과 같은 프레임워크:-
- iOS용 Apple 악기(악기는 다음에서만 사용 가능) Xcode OS X v3.0 이상을 사용하는 경우 10.5 이상)
- Google UIAutomator Android API 레벨 16 이상
- Selendroid 을 통한 Android API 레벨 15 이하
APPIUM을 사용하기 위한 전제 조건
- ANDROID SDK 설치(Studio)[(링크)]-
- JDK 설치(Java 개발 키트) [(링크)]
- 설치 Eclipse [(링크)]
- TestNg를 설치하세요 Eclipse [(링크)]
- 설치 Selenium 서버 JAR [(링크)]
- Appium 클라이언트 라이브러리[(링크)]
- Google Play의 APK 앱 정보 [(링크)]
- js(필수 아님 – 언제든지 Appium 서버가 설치되면 기본적으로 "Node.exe" 및 NPM이 함께 제공됩니다. 현재 버전에 포함되어 있습니다. Appium.)
- 설치 Appium 데스크탑
설치 Appium 데스크탑
Appium Studio는 설치할 수 있는 오픈 소스 GUI 앱입니다. Appium 섬기는 사람. 설치 및 사용에 필요한 모든 필수 구성 요소가 번들로 제공됩니다. Appium 섬기는 사람. 또한 앱에 대한 기본 정보를 얻을 수 있는 검사기가 있습니다. 모바일 앱을 자동화하기 위한 상용구 코드를 생성하는 레코더가 함께 제공됩니다.
단계 1) We Buy Orders 신청서를 클릭하세요. http://appium.io/ 그리고 다운로드를 클릭하세요 Appium.
단계 2) 럭셔리 Windows, exe 파일을 선택하고 다운로드하십시오. 파일 크기는 약 162MB이며 인터넷 속도에 따라 다운로드하는 데 시간이 걸립니다.
단계 3) 다운로드한 exe를 클릭합니다.
단계 4) 에 Windows 기계, 설치할 필요가 없습니다 Appium. exe에서 직접 실행됩니다. exe를 클릭하면 몇 분 동안 다음 이미지가 표시됩니다.
Mac의 경우 dmg를 설치해야 합니다.
단계 5) 다음으로 서버 시작 창이 나타납니다. 변경할 수 있는 기본 호스트 및 포트 옵션이 채워집니다. 또한 버전에 대해서도 언급합니다. Appium 사용 중입니다.
단계 6) 서버 시작 버튼을 클릭하면 지정된 호스트 및 포트에서 새 서버가 시작됩니다. 서버 로그 출력이 표시됩니다.
단계 7) 새 세션 창 클릭.
단계 8) 원하는 기능을 입력하고 세션을 시작할 수 있습니다.
APPIUM 검사관
유사하게 Selenium IDE 기록 및 재생 도구, Appium 녹음 및 재생을 위한 'Inspector'가 있습니다. DOM을 검사하여 기본 애플리케이션 동작을 기록 및 재생하고 원하는 언어로 테스트 스크립트를 생성합니다. 그러나 현재는 지원되지 않습니다. Appium 검사관 Microsoft Windows. 에 Windows, 그것은 Appium 서버가 요소를 검사하지 못합니다. 그러나 UIAutomator 뷰어는 요소 검사를 위한 옵션으로 사용할 수 있습니다.
시작하는 단계 Appium Mac 컴퓨터의 검사기:-
단계 1) 다운로드하고 시작하세요 Appium 기본 IP 주소 0.0.0.0 및 포트 4725를 사용하는 서버입니다.
- 테스트할 로컬에서 소스 파일 또는 .app 파일을 선택합니다.
- '앱 경로' 체크박스를 체크하면 '선택' 버튼이 활성화됩니다.
단계 2)이제 '선택' 버튼을 클릭하면 로컬 드라이브에서 테스트 파일을 찾아 선택할 수 있는 옵션이 제공됩니다.
단계 3) Mac 컴퓨터에서 시뮬레이터를 시작하십시오.
단계 4) 오른쪽 상단의 'Launch' 버튼을 클릭하면 파란색 아이콘이 활성화됩니다. 다시 이 파란색 아이콘을 클릭하면 Appium 미리 선택된 응용 프로그램을 사용하는 검사관 및 시뮬레이터.
단계 5)– 귀하의 실행 Appium Inspector는 열별 구조로 요소 계층을 표시합니다. 또한 사용자는 탭, 스와이프 등의 버튼을 사용하여 작업을 적용할 수 있습니다.
단계 6) 녹화를 중지하려면 '중지' 버튼을 클릭하세요.
연결 Android 에뮬레이터 Appium
단계 1) 설치 Android 시스템의 SDK.
제어판 >> 시스템 및 보안 >> 시스템으로 이동하고 왼쪽 패널에서 '고급 시스템 설정'을 클릭합니다. '시스템 속성' 팝업에서 '고급' 탭을 클릭한 후 '환경 변수' 버튼을 클릭하세요.
단계 2) 이제 '환경 변수' 팝업에서 '경로'를 두 번 클릭하고 SDK 디렉토리를 가리키는 ANDROID_HOME 변수를 설정합니다. 경로에 전체 SDK 폴더 경로를 추가합니다.
예 –
C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk
단계 3) 시작하세요 Android 에뮬레이터 또는 첨부 파일 Android 장치를 시스템에 연결하세요(다음이 있는지 확인하세요). Android 디버깅 옵션이 활성화되었습니다. Android 장치. 디버깅 옵션을 확인하려면. 장치 설정 >> 개발자 옵션 >> "디버깅 옵션" 확인)으로 이동하세요.
단계 4) 명령 프롬프트를 열고 다음으로 이동하십시오. Android SDK의 \platform-tools\ 디렉토리(예: D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).
단계 5)– 'adb devices' 명령을 실행하세요. 명령 프롬프트 창에 나열된 연결된 장치를 볼 수 있습니다. (CMD에서 '>adb devices' 쓰기 - 이 명령은 연결된 에뮬레이터 인스턴스를 나열합니다. 예: adb –s Emulator-5554 install )
단계 6)– 'adb start-server' 명령을 실행하세요. 다음에서 사용할 ADB 서버가 시작됩니다. Appium 당신에게 명령을 보내려면 Android 장치.
단계 7) 이제 Appium 시스템의 디렉토리 및 시작 Appium 클릭하여 Appium.exe 파일.
단계 8) IP 주소나 포트 번호를 변경하지 말고 '실행' 버튼을 클릭하세요. 당신의 Appium 콘솔은 아래와 같이 127.0.0.1:4723에서 시작됩니다.
단계 9) '시작' 버튼을 클릭하세요. Appium 서버가 시스템에서 실행되기 시작했습니다.
네이티브용 APPIUM 테스트 케이스 Android 앱(계산기)
단계 1)) ADT eclipse 플러그인을 다운로드하거나 ADT를 별도로 번들로 다운로드하세요 LINK
단계 2) 엽니다 Eclipse 새 프로젝트 만들기 >> 패키지 >> 클래스
단계 3) 수입 Selenium 도서관과 테스트 중 새 프로젝트 내부에서.
단계 4) 이제 'Calculator.app'에 대한 두 숫자를 더하는 작은 테스트 프로그램을 만들어보세요.
package src_Appium; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; //import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.annotations.*; public class Calculator { WebDriver driver; @BeforeClass public void setUp() throws MalformedURLException{ //Set up desired capabilities and pass the Android app-activity and app-package to Appium DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("BROWSER_NAME", "Android"); capabilities.setCapability("VERSION", "4.4.2"); capabilities.setCapability("deviceName","Emulator"); capabilities.setCapability("platformName","Android"); capabilities.setCapability("appPackage", "com.android.calculator2"); // This package name of your app (you can get it from apk info app) capabilities.setCapability("appActivity","com.android.calculator2.Calculator"); // This is Launcher activity of your app (you can get it from apk info app) //Create RemoteWebDriver instance and connect to the Appium server //It will launch the Calculator App in Android Device using the configurations specified in Desired Capabilities driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } @Test public void testCal() throws Exception { //locate the Text on the calculator by using By.name() WebElement two=driver.findElement(By.name("2")); two.click(); WebElement plus=driver.findElement(By.name("+")); plus.click(); WebElement four=driver.findElement(By.name("4")); four.click(); WebElement equalTo=driver.findElement(By.name("=")); equalTo.click(); //locate the edit box of the calculator by using By.tagName() WebElement results=driver.findElement(By.tagName("EditText")); //Check the calculated value on the edit box assert results.getText().equals("6"):"Actual value is : "+results.getText()+" did not match with expected value: 6"; } @AfterClass public void teardown(){ //close the app driver.quit(); } }
Appium 서버 및 Android 'AVD Manager'의 에뮬레이터를 클릭하고 실행 >>을 클릭하세요. TestNG. 위 프로그램은 선택된 에뮬레이터에서 'Calculator.app'을 실행하고 결과는 아래에 표시됩니다. Eclipse 콘솔을 사용하여 TestNG 뼈대.
APPIUM 사용 제한 사항
- Appium 테스트를 지원하지 않습니다 Android 4.2보다 낮은 버전
- 하이브리드 앱 테스트에 대한 지원이 제한됩니다. 예: 웹 앱에서 네이티브로 또는 그 반대로 애플리케이션의 전환 동작을 테스트할 수 없습니다.
- 실행을 지원하지 않습니다 Appium 검사관 켜짐 Microsoft Windows.
일반적으로 발생하는 오류 및 문제 해결 단계 Appium
오류 | 문제 해결 단계 |
---|---|
오류:- 다음 원하는 기능이 필요하지만 제공되지 않았습니다: 장치 이름, 플랫폼 이름 | 원하는 기능 추가: APPIUM 스크립트의 장치 이름, 플랫폼 이름. 예: capabilities.setCapability("deviceName", "Emulator"); capabilities.setCapability("platformName", "Android"); |
오류: adb를 찾을 수 없습니다. ANDROID_HOME 환경 변수를 다음과 같이 설정하세요. Android SDK 루트 디렉터리 경로입니다. | '경로' 열의 시스템 '환경 변수'에서 SDK 루트 디렉터리 경로를 설정해야 할 수 있습니다. |
오류:org.openqa.selenium.SessionNotCreatedException: 새로운 세션을 생성할 수 없습니다. | 올바른 앱 경로를 설정하고 앱을 다시 시작해야 합니다. Appium 서버. |
DOM 요소를 찾는 방법 또는 xpath 모바일 애플리케이션에서? | DOM 요소를 찾으려면 'UIAutomatorviewer'를 사용하세요. Android 응용 프로그램. |