Android 및 iOS 모바일 앱 테스트를 위한 APPIUM 튜토리얼

Appium은 무엇입니까?

APPIUM은 무료로 배포되는 오픈소스 모바일 애플리케이션 UI입니다. 지원 뼈대. Appium은 네이티브, 하이브리드 및 웹 애플리케이션 테스트를 허용하고 물리적 장치와 에뮬레이터 또는 시뮬레이터 모두에서 자동화 테스트를 지원합니다. 크로스 플랫폼 애플리케이션 테스트를 제공합니다. 즉, 단일 API가 Android 및 iOS 플랫폼 테스트 스크립트 모두에서 작동합니다.

그것은이 아니 모바일 장치 OS에 대한 의존성. APPIUM에는 번역하는 프레임워크 또는 래퍼가 있기 때문입니다. 셀레니움 OS 유형이 아닌 장치 유형에 따라 UIAutomation(iOS) 또는 UIAutomator(Android) 명령에 대한 Webdriver 명령입니다.

Appium은 Java, Objective-C와 같은 Selenium 클라이언트 라이브러리가 있는 모든 언어를 지원합니다. 자바 스크립트 node.js, PHP, Ruby, Python, 씨#,

APPIUM은 어떻게 작동합니까?

  • Appium은 다음을 사용하여 작성된 'HTTP 서버'입니다. Node.js 플랫폼을 구축하고 Webdriver JSON 와이어 프로토콜을 사용하여 iOS 및 Android 세션을 구동합니다. 따라서 Appium Server를 초기화하기 전에 Node.js가 시스템에 사전 설치되어 있어야 합니다.
  • Appium이 다운로드되어 설치되면 REST API를 노출하는 서버가 시스템에 설정됩니다.
  • 클라이언트로부터 연결 및 명령 요청을 받아 모바일 장치(Android/iOS)에서 해당 명령을 실행합니다.
  • HTTP 응답으로 다시 응답합니다. 다시 말하지만, 이 요청을 실행하기 위해 모바일 테스트 자동화 프레임워크를 사용하여 앱의 사용자 인터페이스를 구동합니다. 다음과 같은 프레임워크:-
    • iOS용 Apple 악기(악기는 다음에서만 사용 가능) Xcode OS X v3.0 이상에서는 10.5 이상)
    • Android API 레벨 16 이상용 Google UIAutomator
    • Android API 레벨 15 이하용 Selendroid

APPIUM을 사용하기 위한 전제 조건

  1. ANDROID SDK 설치(스튜디오)[(링크)]-
  2. JDK(Java 개발 키트) 설치 [(링크)]
  3. 설치 Eclipse [(링크)]
  4. TestNg 설치 Eclipse [(링크)]
  5. Selenium 서버 JAR 설치 [(링크)]
  6. Appium 클라이언트 라이브러리[(링크)]
  7. Google Play의 APK 앱 정보 [(링크)]
  8. Node.js (필수 아님 - Appium 서버가 설치될 때마다 기본적으로 "Node.exe" 및 NPM이 함께 제공됩니다. 현재 버전의 Appium에 포함되어 있습니다.)
  9. Appium 데스크탑 설치

Appium 데스크탑 설치

Appium Studio는 Appium Server를 설치하기 위한 오픈 소스 GUI 앱입니다. Appium Server를 설치하고 사용하기 위한 모든 사전 요구 사항이 번들로 제공됩니다. 또한 앱에 대한 기본 정보를 얻을 수 있는 검사기가 있습니다. 모바일 앱을 자동화하기 위한 상용구 코드를 생성하는 레코더가 함께 제공됩니다.

단계 1) We Buy Orders 신청서를 클릭하세요. http://appium.io/ Appium 다운로드를 클릭하세요.

Appium 데스크탑 설치

단계 2) Windows의 경우 exe 파일을 선택하여 다운로드하세요. 파일 크기는 약 162MB이며 인터넷 속도에 따라 다운로드하는 데 시간이 걸립니다.

Appium 데스크탑 설치

단계 3) 다운로드한 exe를 클릭합니다.

Appium 데스크탑 설치

단계 4) Windows 시스템에서는 Appium을 설치할 필요가 없습니다. exe에서 직접 실행됩니다. exe를 클릭하면 다음과 같은 내용이 표시됩니다.wing 몇 분 동안 이미지.

Appium 데스크탑 설치

Mac의 경우 dmg를 설치해야 합니다.

단계 5) 다음으로 서버 시작 창이 나타납니다. 변경할 수 있는 기본 호스트 및 포트 옵션이 채워집니다. 또한 사용 중인 Appium 버전도 언급되어 있습니다.

Appium 데스크탑 설치

단계 6) 서버 시작 버튼을 클릭하면 지정된 호스트 및 포트에서 새 서버가 시작됩니다. 서버 로그 출력이 표시됩니다.

Appium 데스크탑 설치

단계 7) 새 세션 창 클릭.

Appium 데스크탑 설치

단계 8) 원하는 기능을 입력하고 세션을 시작할 수 있습니다.

Appium 데스크탑 설치

APPIUM 검사관

Selenium IDE 기록 및 재생 도구와 유사하게 Appium에는 기록 및 재생을 위한 '검사기'가 있습니다. DOM을 검사하여 기본 애플리케이션 동작을 기록 및 재생하고 원하는 언어로 테스트 스크립트를 생성합니다. 그러나 현재 Appium Inspector는 지원되지 않습니다. Microsoft 윈도우. Windows에서는 Appium Server를 시작하지만 요소를 검사하지 못합니다. 그러나 UIAutomator 뷰어는 요소 검사를 위한 옵션으로 사용할 수 있습니다.

Mac 컴퓨터에서 Appium Inspector를 시작하는 단계:-

단계 1) 기본 IP 주소 0.0.0.0 및 포트 4725를 사용하여 Appium 서버를 다운로드하고 시작합니다.

  1. 테스트할 로컬에서 소스 파일 또는 .app 파일을 선택합니다.
  2. '앱 경로' 확인을 확인하세요.box '선택' 버튼을 활성화합니다.

단계 2)이제 '선택' 버튼을 클릭하면 로컬 드라이브에서 테스트 파일을 찾아 선택할 수 있는 옵션이 제공됩니다.

APPIUM 검사관

단계 3) Mac 컴퓨터에서 시뮬레이터를 시작하십시오.

단계 4) 오른쪽 상단의 'Launch' 버튼을 클릭하면 파란색 아이콘이 활성화됩니다. 다시 이 파란색 아이콘을 클릭하면 미리 선택된 응용 프로그램이 포함된 Appium 검사기와 시뮬레이터가 열립니다.

APPIUM 검사관

단계 5)– Appium Inspector를 실행하면 요소 계층 구조가 열 단위 구조로 표시됩니다. 또한 사용자는 탭, 스와이프 등의 버튼을 사용하여 작업을 적용할 수 있습니다.

APPIUM 검사관

단계 6) 녹화를 중지하려면 '중지' 버튼을 클릭하세요.

Appium에 Android 에뮬레이터 연결

단계 1) 시스템에 Android SDK를 설치하십시오.

제어판 >> 시스템 및 보안 >> 시스템으로 이동하고 왼쪽 패널에서 '고급 시스템 설정'을 클릭합니다. '시스템 속성' 팝업에서 '고급' 탭을 클릭한 후 '환경 변수' 버튼을 클릭하세요.

Appium에 Android 에뮬레이터 연결

단계 2) 이제 '환경 변수' 팝업에서 '경로'를 두 번 클릭하고 SDK 디렉터리를 가리키는 ANDROID_HOME 변수를 설정하세요. 경로에 전체 SDK 폴더 경로를 추가합니다.

예 –

C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk

Appium에 Android 에뮬레이터 연결

단계 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 )

Appium에 Android 에뮬레이터 연결

단계 6)– 'adb start-server' 명령을 실행하세요. Appium에서 Android 장치에 명령을 보내는 데 사용되는 ADB 서버를 시작합니다.

단계 7) 이제 시스템의 Appium 디렉토리로 이동하고 Appium.exe 파일을 클릭하여 Appium을 시작하십시오.

단계 8) IP 주소나 포트 번호를 변경하지 말고 '실행' 버튼을 클릭하세요. Appium 콘솔은 아래와 같이 127.0.0.1:4723에서 시작됩니다.

Appium에 Android 에뮬레이터 연결

단계 9) '시작' 버튼을 클릭하면 Appium 서버가 시스템에서 실행되기 시작했습니다.

네이티브 Android 앱용 APPIUM 테스트 케이스(계산기)

단계 1)) ADT 다운로드 eclipse 플러그인 또는 별도로 번들로 제공되는 ADT 다운로드 여기를 눌러 더 많은 정보를 찾으세요.

단계 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();
}
}

'AVD Manager'에서 Appium Server 및 Android Emulator를 선택하고 실행 >> TestNG를 클릭합니다. 위 프로그램은 선택한 에뮬레이터에서 'Calculator.app'을 실행하고 결과는 아래에 표시됩니다. Eclipse TestNG 프레임워크를 사용하는 콘솔.

APPIUM 사용 제한사항

  1. Appium은 4.2 미만의 Android 버전에 대한 테스트를 지원하지 않습니다.
  2. 하이브리드 앱 테스트에 대한 지원이 제한됩니다. 예: 웹 앱에서 네이티브로 또는 그 반대로 애플리케이션의 전환 동작을 테스트할 수 없습니다.
  3. Appium Inspector 실행을 지원하지 않습니다. Microsoft 창.

Appium에서 일반적으로 발생하는 오류 및 문제 해결 단계

오류 문제 해결 단계
오류:- 다음wing 원하는 기능이 필요하지만 제공되지 않았습니다: 장치 이름, 플랫폼 이름 원하는 기능을 추가하세요: APPIUM 스크립트의 장치 이름, 플랫폼 이름. 예:capability.setCapability("장치 이름","에뮬레이터"); Capability.setCapability("플랫폼 이름","Android");
오류: adb를 찾을 수 없습니다. Android SDK 루트 디렉터리 경로로 ANDROID_HOME 환경 변수를 설정하세요. '경로' 열의 시스템 '환경 변수'에서 SDK 루트 디렉터리 경로를 설정해야 할 수 있습니다.
오류:org.openqa.selenium.SessionNotCreatedException: 새 세션을 생성할 수 없습니다. 올바른 앱 경로를 설정하고 Appium 서버를 다시 시작해야 합니다.
DOM 요소를 찾는 방법 또는 xpath 모바일 애플리케이션에서? Android 애플리케이션용 DOM 요소를 찾으려면 'UIAutomatorviewer'를 사용하세요.