appium tutorial testing android
Appium에서 시작하기위한 첫 번째 프로그램을 사용하여 Windows에 Appium을 설치하고 설정하는 방법 :
Appium은 오픈 소스입니다. 테스트 자동화 도구 사용 모바일 애플리케이션 테스트 . 사용자는 표준 WebDriver 라이브러리를 사용하여 다양한 유형의 모바일 애플리케이션 (예 : 네이티브, 하이브리드 및 모바일 웹)을 테스트 할 수 있습니다.
모바일 앱에는 세 가지 유형이 있습니다.
- 원주민: iOS, Android 또는 Windows SDK를 사용하여 빌드 된 기본 앱. 플랫폼에 따라 다릅니다. 플랫폼 및 / 또는 장치에서 작동하도록 제작되었습니다.
- 잡종: 하이브리드 앱은 HTML, CSS 및 iOS 용 UIWebView 및 Android 앱용 'webview'위에 기본 애플리케이션의 래퍼를 사용하여 개발 된 웹 애플리케이션입니다.
- 모바일 웹 앱 : 모바일 웹 앱은 모바일 브라우저를 사용하여 액세스하는 앱입니다.
이 Appium 시리즈의 자습서 목록
튜토리얼 # 1 : 초보자를위한 Appium 자습서 (이 자습서)
튜토리얼 # 2 : Appium 소개 : Appium이란 무엇이며 아키텍처
튜토리얼 # 3 : Windows 용 Appium 다운로드, 설치 및 설정
튜토리얼 # 4 : Appium의 시스템으로 모바일 장치 구성
튜토리얼 # 5 : Appium을 사용하여 Android 장치에서 기본 앱 자동화
튜토리얼 # 6 : Android 장치의 Chrome 브라우저에서 웹 앱을 자동화하는 방법
학습 내용 :
- Appium이 모바일 앱 자동화를위한 인기있는 도구 인 이유는 무엇입니까?
- Windows에서 Appium 도구 설정
- Eclipse IDE로 Appium 설정
- 초기 시대의 한계
- Appium으로 작업하는 동안 직면 한 과제
- 결론
Appium이 모바일 앱 자동화를위한 인기있는 도구 인 이유는 무엇입니까?
Appium은 '크로스 플랫폼 도구'입니다. 즉, 동일한 API를 사용하여 여러 플랫폼 (iOS, Android, Windows)에서 테스트를 작성할 수 있습니다. 사용 appium , 태블릿, 휴대 전화 등과 같은 실제 기기에서도 자동화 된 테스트를 실행합니다.
가장 널리 사용되는 도구 휴대폰 및 태블릿에서 모바일 앱의 회귀 테스트를 위해. Appium은 모바일 앱 회귀 테스트를 쉽게 만듭니다. 특히 새로운 기능으로 자주 업데이트되는 대형 모바일 앱의 경우.
Windows에서 Appium 도구 설정
전제 조건 : 다음은 Appium을 사용하여 모바일 앱 테스트를 자동화하는 데 필요한 소프트웨어 및 하드웨어 목록입니다.
- PC에 JDK, Appium Server, Eclipse, Android SDK가 설치되어 있어야합니다.
- APK : 사례 ContactManager.apk에서 자동화 할 모바일 애플리케이션
- 테스트 장치 : 이 경우에 Moto G
- 항아리 : Java 클라이언트 jar 및 Selenium Jar.
- 테스트 장치 용 USB 드라이버 : 이 경우에 Moto G
1 단계: Java Development Kit ( JDK )
2 단계: Java 설정 환경 변수 경로
3 단계 : Android SDK 다운로드 및 설치 여기 및 API 업데이트
API를 업데이트하려면 Eclipse 열기-> Eclipse 메뉴에서 Window 클릭-> Android SDK 관리자 선택
아래 스크린 샷에 표시된대로 API를 업데이트합니다.
4 단계 : 이제 Windows 용 Appium을 설치해야합니다. 가다 여기 Windows 용 Appium을 다운로드하십시오.
5 단계 : I 여기에서 nstall Node JS : Node JS 다운로드
6 단계 : 설정 ANDROID_HOME 경로뿐만 아니라 JAVA_HOME 통로
Android SDK 경로에있는 도구 및 플랫폼 도구의 경로를 지정하십시오.
이러한 폴더는 adt-bundle-windows-x86_64-20140702 sdk
이제 환경 변수를 업데이트해야합니다 (아래 스크린 샷 참조).
(노트 :크게 보려면 이미지를 클릭하십시오)
도구 및 플랫폼 도구로 경로를 업데이트합니다 (Android SDK에있는 폴더).
경로의 항목은 다음과 같습니다.
C : Program Files nodejs ; % ANDROID_HOME % tools; % ANDROID_HOME % platform-tools
7 단계 : adb에 액세스
Win + R 키 조합을 누릅니다.
유형 CMD . 이제 CMD 유형‘ adb ’. adb에 액세스 할 수 있습니다.
Appium을 사용한 자동화를위한 모바일 장치 준비
USB를 통해 모바일 테스트 장치를 PC에 연결합니다. 앱을 자동화하기 전에 휴대폰에서 개발자 모드를 활성화하십시오.
Android 휴대폰 또는 태블릿에서 개발자 모드 / 옵션을 활성화하는 단계 :
1) 설정을 열고 '정보'옵션을 탭하고 '소프트웨어 정보'를 탭하고 '더보기'를 탭합니다.
두) 개발자 옵션을 활성화하려면 '빌드 번호'를 7 번 탭합니다.
삼) 설정으로 돌아가서 '개발자 옵션'설정이 있는지 확인합니다.
4) 개발자 옵션을 누르고 다음 화면의 메뉴에서 USB 디버깅 옵션을 켭니다.
더 많은 도움이 필요하면 다음을 따르십시오. 링크 .
5) PC에 모바일 테스트 장치 용 USB 드라이버를 다운로드하여 설치합니다.
6) adb 터미널 유형 'adb devices'
C : Users NEERAJ> adb 장치
연결된 장치의 목록
TA93305G0L 장치
시스템에 연결된 장치 목록이 표시됩니다. 자동화를위한 샘플 앱으로 App Contact Manager.apk를 사용할 것입니다. 다운로드 및 설치 Manager.apk에 문의 장치에서.
Appium을 사용하여 Android 앱 자동화 시작
이제 실행 appium.exe PC에서.
Appium이 실행 중이어야하며 Android 설정에서 다음 매개 변수와 장치 이름을 전달해야합니다.
노트 : 일반 설정 아이콘에서 포트 번호 또는 아무것도 변경하지 마십시오. Appium Server가 시작되면 서버 주소와 포트 주소가 기본적으로 설정됩니다. 포트 주소는 기본적으로 4723입니다.
Android 설정에서 사용자는 APK가있는 APK 경로, 앱 경로 확인, 패키지 및 실행 활동을 설정해야합니다.
- 안드로이드 폰을 PC에 연결하고 USB 디버깅 모드를 켭니다.
- 명령 프롬프트를 엽니 다.
- 입력 명령 adb logcat .
- 안드로이드 폰에서 앱을 엽니 다. 즉시 Ctrl + C 명령 프롬프트에서
com.example.android.contactmanager 패키지 이름이고 com.example.android.contactmanager.ContactManager Contact Manager 앱의 활동 이름입니다.
위의 스크린 샷에서는 Appium, 즉 패키지, 시작 활동, 모바일 장치 이름에 필요한 모든 정보를 채웠습니다.
UIAutomatorViewer를 사용하여 요소를 찾는 방법?
1) 앱을 자동화하려면 먼저 상호 작용해야하는 앱 요소를 찾아야합니다.
이를 위해 우리는 UIAutomatorViewer
두) App이 설치된 장치를 PC에 연결
삼) 터미널로 이동합니다.
유형 ‘adb 장치’
C : Users NEERAJ> adb 장치
연결된 장치의 목록
TA93305G0L 장치
PC에 연결된 장치 목록이 표시됩니다.
4) 모바일 장치에서 자동화하려는 앱을 엽니 다.
5) 열다 UIAutomatorViewer 다음 경로로 이동하십시오.
adt-bundle-windows-x86_64-20140702 sdk tools
6) 따라서 앱이 실행되고 UIAutomaterViewer 장치 스크린 샷을 클릭합니다.
7) 이 옵션은 앱에 표시되는 모든 요소의 모든 세부 정보와 함께 앱의 스크린 샷을 찍습니다.
테스트 시나리오에 대한 연락처 추가 버튼을 클릭하십시오.
자주 묻는 informatica 인터뷰 질문 및 답변
위의 스크린 샷에서 로케이터를 사용할 수 있습니다. By.name ( '연락처 추가')
위의 스크린 샷에서 By.className (“android.widget.EditText”))를 Contact Name의 로케이터로 사용할 수 있습니다.
By.name ( '저장') 저장 버튼의 로케이터로 사용할 수 있습니다.
Appium에서 앱 자동화를위한 첫 번째 프로그램
아래 스크립트를 실행하면 Contact Manager 응용 프로그램이 실제 장치에서 실행되고 모든 로그가 Appium 콘솔에 표시되어 위 스크립트에 의해 호출되는 모든 작업을 보여줍니다.
importjava.io.File; importjava.net.MalformedURLException; import java.net.URL; importjava.util.List; importorg.openqa.selenium.By; importorg.openqa.selenium.WebDriver; importorg.openqa.selenium.WebElement; importorg.openqa.selenium.remote.CapabilityType; importorg.openqa.selenium.remote.DesiredCapabilities; importorg.openqa.selenium.remote.RemoteWebDriver; importorg.testng.annotations.*; public class appium { WebDriver driver; @BeforeClass public void setUp() throws Exception { //location of the app File app = new File('C:\Users\NEERAJ\Downloads', 'ContactManager.apk'); //To create an object of Desired Capabilities DesiredCapabilities capability = new DesiredCapabilities(); //OS Name capability.setCapability('device','Android'); capability.setCapability(CapabilityType.BROWSER_NAME, ''); //Mobile OS version. In My case its running on Android 4.2 capability.setCapability(CapabilityType.VERSION, '4.2'); capability.setCapability('app', app.getAbsolutePath()); //To Setup the device name capability.setCapability('deviceName','Moto G'); capability.setCapability('platformName','Android'); //set the package name of the app capability.setCapability('app-package', 'com.example.android.contactmanager-1'); //set the Launcher activity name of the app capability.setCapability('app-activity', '.ContactManager'); //driver object with new Url and Capabilities driver = new RemoteWebDriver(new URL('http://127.0.0.1:4723/wd/hub'), capability); } @Test public void testApp() throws MalformedURLException{ System.out.println('App launched'); // locate Add Contact button and click it WebElementaddContactButton = driver.findElement(By.name('Add Contact')); addContactButton.click(); //locate input fields and type name and email for a new contact and save it ListtextFields = driver.findElements(By.className('android.widget.EditText')); textFields.get(0).sendKeys('Neeraj Test'); textFields.get(1).sendKeys('9999999999'); textFields.get(2).sendKeys('testemail@domain.com'); driver.findElement(By.name('Save')).click(); //insert assertions here } }
Eclipse IDE로 Appium 설정
Appium에 필요한 소프트웨어 :
- JDK, Appium 서버, Eclipse, Android SDK
- 항아리 : 자바 클라이언트 jar 및 Selenium Jars.
- APK : 자동화 할 응용 프로그램
- 실제 장치 : 이 경우에 SAMSUNG Note3
- 실제 장치 용 USB 드라이버 : 이 경우에 SAMSUNG Kies
1 단계: 설치 자바 개발 키트 (JDK)
2 단계: 설정 자바 환경 변수 경로
터미널로 이동하여 다음을 입력하십시오.
.bash_profile 열기
ANDROID_HOME 경로 및 JAVA_HOME 경로 설정
3 단계 : Android SDK 설치 / MAC의 ADB
도구, Extras 및 해당 API 레벨 패키지 (이 경우 Android 4.4.2 API 19)를 설치해야합니다.
(노트 :크게 보려면 이미지를 클릭하십시오)
4 단계 : 다운로드 및 epochs 설치 서버
참고 1 : 일반 설정 아이콘에서 아무것도 설정할 필요가 없습니다. Appium Server가 설치되면 서버 주소와 포트 주소가 기본적으로 설정됩니다. 포트 주소는 4723입니다. 사용자는 필요한 경우 서버 주소를 변경할 수 있습니다.
노트 2: Android 설정에서 사용자는 APK가있는 APK 경로, 앱 경로 확인, 패키지 및 실행 활동을 설정해야합니다.
.Apk 파일 패키지 이름 및 실행기 활동 이름을 찾는 방법 :
응용 프로그램의 패키지 이름과 시작 관리자 활동 이름을 찾는 방법에는 여러 가지가 있습니다. 여기서 터미널은 패키지 및 실행기 활동 이름을 가져 오는 데 사용됩니다.
터미널로 이동하여 다음을 입력하십시오.
aapt 덤프 배지
아래 화면에서 'Enter'를 누르십시오.
사용자가 Appium Server에서 패키지 이름을 지정한 다음 Launcher 활동 이름을 지정한 경우 활동 이름이 자동으로 표시 될 때까지 기다리십시오.
이 경우 Launcher 활동 이름은 다음과 같습니다.
' com.amazon.mShop.android.home.HomeActivity.”
Android 휴대폰 또는 태블릿에서 개발자 모드 / 옵션을 활성화하는 단계
1 단계:개발자 옵션 활성화
1) 탭 메인 메뉴 상.
두) 이동 설정 .
삼) ‘ 전화 정보 ‘을 탭합니다.
4) 아래로 스크롤하여‘ 빌드 번호' 일곱 (7) 회 . ( 빌드 번호는 다를 수 있습니다. ). 세 번째 탭 후 사용자는 재미있는 대화 상자를 볼 수 있습니다. 당신은 개발자입니다 ”. 대화 상자가 표시 될 때까지 계속 탭하십시오.
5) 이제 화면에서 개발자 옵션을 확인할 수 있습니다.
2 단계:USB 디버깅 켜기
1) 이동 개발자 옵션 .
두 ) 고르다 USB 디버깅 .
삼) 그것은 표시 할 수 있습니다 팝업 메시지가 표시되면 간단히 딸깍 하는 소리 확인 .
3 단계:해당 실제 장치 용 USB 드라이버를 다운로드하여 설치합니다. 이 경우에 SAMSUNG Kies입니다.
UIAutomatorViewer를 사용하여 요소를 찾는 방법?
1) 장치에서 요소를 찾기 전에 첫 번째 단계는 장치를 컴퓨터에 연결하는 것입니다.
장치 연결을 확인하려면 아래 단계를 따르십시오.
- 이동 단말기 .
- 유형‘ adb 장치 '
시스템에 연결된 장치 목록이 표시됩니다.
두) 실제 장치에서 자동화해야하는 앱을 엽니 다 (여기에서 amazon 앱이 자동화 됨).
삼) 다음 디렉토리로 이동하여 엽니 다. UIAutomatorViewer :
사용자 -> 도서관 -> 기계적 인조 인간 -> sdk -> 도구 -> uiautomatorviewer.bat
전자: users / bikram.badatya / Library / Android / sdk / tool /
4) UIAutomatorViewer에서 기기 스크린 샷 .
5) 클릭시 기기 스크린 샷, 자세한 정보와 함께 장치 이미지가 UIAutomator 창의 왼쪽에 표시됩니다.
6) 페이지의 요소를 클릭하면 해당 요소에 대한 관련 정보가 오른쪽에 표시됩니다.
7) 클릭 메인 메뉴 버튼을 눌러 모든 속성을 표시합니다.
Amazon 앱을 시작하기위한 Appium 테스트
1) Appium Server를 시작합니다.
2) Android 설정.
3) 서버 주소 및 포트 주소에 대한 일반 설정 :
4) 시작 버튼을 클릭하십시오 .
Amazon 애플리케이션을 시작하는 코드 조각 :
package com.AppiumDemo; //Library to create the path to APK import java.io.File; //Library used to verify if URL is malformed import java.net.MalformedURLException; //Library used to create URL for the Appium server import java.net.URL; import java.util.concurrent.TimeUnit; //Libraries for import selenium WebDriver import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; //Libraries for configuring Desired Capabilities import org.openqa.selenium.remote.DesiredCapabilities; //Library for import TestNG import org.testng.annotations.Test; //Libraries for import Appium Drivers import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver; public class LauchAmazon { private static AndroidDriver driver; //static WebDriver driver; @Test public void setup() throws MalformedURLException, InterruptedException{ // Path to File appDir = new File('//Users//bikram.badatya//Library//Android//sdk//platform-tools//'); //Path to to Amazon apk File> File app = new File(appDir, 'Amazon.apk'); //To create an object of Desired Capabilities DesiredCapabilities capabilities = new DesiredCapabilities(); //To set Command Timeout in appium server.Its optional you can set in appium Server itself. capabilities.setCapability('no',true); capabilities.setCapability('newCommandTimeout', 100000); // Name of the OS: Android, iOS or FirefoxOS capabilities.setCapability('platformName', 'Android'); //set the name of the connected device.you have to give same name in both server and the code capabilities.setCapability('deviceName','41001fd89730a000'); //Mobile OS version. My device is running Android 4.4.2 capabilities.setCapability('AndroidVersion','4.4.2'); //set the package name of the app capabilities.setCapability('appPackage', 'com.amazon.mShop.android'); //set the Launcher activity name of the app capabilities.setCapability ('appActivity','com.amazon.mShop.android.home.HomeActivity'); // Name of mobile web browser to automate. It should be an empty string, as we are automation an app. capabilities.setCapability('browserName', ''); //driver object with new Url and Capabilities driver = new AndroidDriver위의 스크립트가 실행되면 Amazon 애플리케이션이 실제 장치에서 시작되고 Appium 콘솔에 메시지 목록이 표시됩니다.
중요한 명령
1) adb 서버를 종료하려면 :
adb 킬 서버
두) adb 서버를 시작하려면 :
adb 시작 서버
삼) JAVA_Home 경로와 ANDROID_Home 경로를 설정하려면
.bash_profile 열기
4) APK에서 패키지 이름과 Android Launcher 이름을 얻으려면 (다른 방법)
aapt 덤프 배지 .apk 이름
전자- aapt 덤프 배지
/users/bikram.badatya/Library/Android/sdk/platform-tools/Amazon.apk
5) 실제 장치에 APK를 설치하려면
adb 설치 .apk 이름
6) 실제 장치에서 APK를 제거하려면
adb 제거
전자 - adb uninstall com.amazon.mShop.android
초기 시대의 한계
- 17 미만의 Android API 레벨을 지원하지 않습니다.
- 토스트 메시지는 지원되지 않습니다.
- IOS 플랫폼에서 스크립트 실행이 매우 느립니다.
- 제스처 지원이 제한됨
Appium으로 작업하는 동안 직면 한 과제
#1) 응용 프로그램을 시작하는 데 필요한 실행기 활동 이름을 얻으려면 'apkInfo'라는 추가 apk를 설치해야하고 특정 코드 줄을 작성해야하는 등 많은 방법을 따를 수 있습니다. 그러나이 문서에서는 다음 명령은 실행기 활동 이름을 가져 오는 데 사용됩니다.
즉 aapt 덤프 배지 .apk 이름
#두) Android SDK 관리자에서 설정하는 동안 제거해야하는 다음 패키지에 집중해야합니다. 그렇지 않으면 응용 프로그램이 시작되지 않습니다.
#삼) 특히 MAC에서는 .bash_profile에 Java_HomePath 및 Android HomePath를 설정해야하므로 반복해서 설정할 필요가 없습니다.
# 4) 에뮬레이터를 사용하여 애플리케이션을 시작하면 실제 장치에 비해 더 많은 시간이 소요됩니다. 따라서 실제 장치를 사용하는 것이 좋습니다.
결론
새로운 트렌드와 모바일 앱에 대한 더 많은 수요로 인해 모든 주요 회사는 모바일 앱에서 비즈니스를 시작하기 위해 마이그레이션하고 있습니다. 따라서 고품질 모바일 앱을 출시하기 위해 모바일 앱의 자동화 테스트가 업계의 최신 트렌드입니다.
Appium은 단순성과 사용 편의성으로 인해 iOS 또는 Android 용 모바일 앱의 자동화 테스트를 위해 전 세계에서 가장 널리 사용되는 도구 중 하나입니다.
저자 정보 : 이 게시물은 STH 팀원 Neeraj가 작성했습니다. 그는 현재 테스트에서 선임 소프트웨어 개발 엔지니어로 일하고있는 열정적 인 소프트웨어 테스터이며 웹 및 모바일 애플리케이션 테스트를 즐깁니다.
자세히 알아 보려면 여기를 확인하세요. Appium Studio 도구를 사용한 모바일 자동화.
추천 도서
- 모바일 UI 테스트 자습서 (iOS 및 Android 앱의 GUI 테스트)
- 2021 년 최고의 Android 및 iOS 용 모바일 테스트 도구 TOP 15
- 모바일 앱 베타 테스트 서비스 (iOS 및 Android 베타 테스트 도구)
- 모바일 테스트가 힘든 이유는 무엇입니까?
- 클라우드에서 Appium Studio로 실제 iOS 및 Android 장치 연결
- 최고의 소프트웨어 테스트 도구 2021 (QA 테스트 자동화 도구)
- 모바일 앱 테스트 자습서 (30 개 이상의 자습서가 포함 된 전체 가이드)
- 모바일 테스트 작업을 빠르게하는 방법 – 모바일 테스트 경력 가이드 (부품 1)