Appium 초보자를 위한 튜토리얼

⚡ 스마트 요약

Appium 튜토리얼 Android iOS 모바일 앱 테스트는 네이티브, 하이브리드 및 웹 앱을 두 플랫폼 모두에서 단일 도구로 자동화할 수 있는 오픈 소스 UI 자동화 프레임워크를 소개합니다. Selenium호환 API. 이 가이드에서는 그 방법을 설명합니다. Appium 작업, 설치 단계, 검사기, 에뮬레이터 연결 및 Java 계산기 테스트 케이스.

  • 📱 핵심 정의: Appium 네이티브 앱, 하이브리드 앱, 웹 앱을 지원하는 오픈 소스 모바일 UI 자동화 프레임워크입니다. Android 하나의 API를 통해 iOS와 연동됩니다.
  • 🔌 HTTP 서버 모델: Appium Node.js HTTP 서버로 실행되어 WebDriver JSON 와이어 명령을 플랫폼별 자동화 호출로 변환합니다.
  • 🧰 툴링 스택: 필수 요건은 다음과 같습니다. Android SDK, JDK, Eclipse, TestNG, Selenium 서버 JAR, Appium 클라이언트 라이브러리 및 Appium 데스크톱
  • 🔍 검사관 및 기록관: Appium Inspector는 요소 계층 구조를 검사하고 상용구 스크립트를 생성하는 반면, UIAutomator Viewer는 Windows 대체.
  • Java 테스트 워크플로우: DesiredCapabilities, RemoteWebDriver를 사용하세요. TestNG 네이티브 앱을 실행하고 유효성을 검사하기 위한 어노테이션 Android 계산기 같은 앱들.

Appium 튜토리얼 Android 및 iOS 모바일 앱 테스트

Appium?

Appium 는 무료로 배포되는 오픈 소스 모바일 애플리케이션 UI입니다. 테스트 뼈대. Appium 네이티브, 하이브리드 및 웹 애플리케이션 테스트를 지원하며 물리적 장치뿐만 아니라 에뮬레이터 및 시뮬레이터에서도 자동화를 지원합니다. 단일 API를 통해 크로스 플랫폼 애플리케이션 테스트를 제공합니다. Android 및 iOS 테스트 스크립트.

Appium 이 아니 모바일 기기 운영체제에 대한 의존성. 프레임워크는 이를 래핑하고 변환합니다. Selenium WebDriver 명령어를 UIAutomation(iOS) 또는 UIAutomator로 전달합니다.Android명령어는 기본 운영 체제 버전이 아닌 장치 유형에 따라 달라집니다.

Appium 모든 언어를 지원합니다 Selenium 클라이언트 라이브러리 — Java, 오브젝티브-C, JavaScript Node.js, PHP, Ruby를 사용하여 Python, C#수록.

어떻게합니까 Appium 작업?

  • Appium HTTP 서버는 다음 언어로 작성되었습니다. Node.js를 iOS를 구동하는 플랫폼 및 Android WebDriver JSON 와이어 프로토콜을 사용하는 세션입니다. 시작하기 전에 시스템에 Node.js가 미리 설치되어 있어야 합니다. Appium 서버.
  • 인셀덤 공식 판매점인 Appium 다운로드 및 설치가 완료되면 로컬 컴퓨터에 REST API를 노출하는 서버가 설정됩니다.
  • 서버는 클라이언트로부터 연결 및 명령 요청을 수락하고 모바일 기기에서 명령을 실행합니다.Android 또는 iOS).
  • HTTP 응답을 보냅니다. 요청을 실행하려면, Appium 애플리케이션 UI를 구동하기 위해 네이티브 모바일 자동화 프레임워크를 호출합니다.
    • iOS용 Apple 악기(악기는 다음에서만 사용 가능) Xcode OS X v10.5 이상에서 3.0 이상 버전이 필요합니다.
    • Google UIAutomator용 Android API 레벨 16 이상.
    • Selendroid 을 통한 Android API 레벨 15 이하.

사용을 위한 필수 조건 Appium

  1. 설치 Android SDK (스튜디오) [(링크)].
  2. 설치 JDK (Java 개발 키트) [(링크)].
  3. 설치 Eclipse [(링크)].
  4. 설치 TestNG 을 통한 Eclipse [(링크)].
  5. 설치 Selenium 서버 JAR [(링크)].
  6. Appium 클라이언트 라이브러리 [(링크)].
  7. APK 앱 정보 on Google 놀다 [(링크)].
  8. Node.js를 (필수 사항은 아님 - 언제) Appium 서버가 설치되었고, Node.exe와 NPM이 현재 버전에 포함되어 있습니다. Appium 번역).
  9. 설치 Appium 데스크탑.

설치 Appium 데스크탑

Appium Desktop은 오픈 소스 GUI 애플리케이션으로, 프로그램을 설치하고 실행합니다. Appium 서버입니다. 사용에 필요한 모든 필수 구성 요소가 포함되어 있습니다. Appium 이 서버는 앱에 대한 기본 정보를 표시하는 인스펙터와 모바일 애플리케이션 자동화를 위한 보일러플레이트 코드를 생성하는 레코더를 함께 제공합니다.

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

Appium 공식 사이트 다운로드 페이지

단계 2) 럭셔리 Windows.exe 파일을 선택하고 다운로드하세요. 파일 크기는 약 162MB이며, 인터넷 속도에 따라 다운로드 시간이 달라질 수 있습니다.

왼쪽 메뉴에서 Windows Appium 데스크톱 설치 프로그램

단계 3) 다운로드한 .exe 파일을 클릭하세요.

달리기 Appium 데스크톱 설치 프로그램 실행 파일

단계 4) 에 Windows 이 기기에는 설치 마법사가 없습니다. Appium .exe 파일을 직접 실행하세요. .exe 파일을 클릭하면 몇 분 동안 다음 시작 화면이 나타납니다.

Appium 데스크톱 로딩 애니메이션

럭셔리 macOS.dmg 파일을 설치해야 합니다.

단계 5) 서버 시작 창이 열립니다. 기본 호스트와 포트(변경 가능)가 자동으로 입력되고 다음 정보가 표시됩니다. Appium 현재 사용 중인 버전입니다.

Appium 호스트 및 포트가 표시되는 서버 시작 창

단계 6) 서버 시작지정된 호스트와 포트에서 새 서버가 시작되고 서버 로그 출력이 콘솔에 나타납니다.

Appium 서버 시작 후 로그 출력

단계 7) 새 세션 창.

새 세션 창 열기 Appium 데스크탑

단계 8) 원하는 기능을 입력하고 세션을 시작하세요.

시작하려면 원하는 기능을 입력하세요. Appium 세션

Appium 검사관

받는 유사 Selenium IDE 녹화 및 재생 도구, Appium ~을 가지고있다 검사관 테스트 기록 및 재생용 도구입니다. DOM을 검사하여 네이티브 애플리케이션 동작을 기록하고 재생하며, 지원되는 모든 언어로 테스트 스크립트를 생성합니다. 참고: Appium 검사관은 지원되지 않습니다. Microsoft Windows: 의 위에 Windows 그것은 시작합니다 Appium 서버에서 요소를 검사하려고 시도했지만 실패했습니다. UIAutomator Viewer는 요소 검사를 위한 권장 대체 도구입니다. Windows.

시작하는 단계 Appium 맥 컴퓨터에서 Inspector 사용:

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

  1. 테스트를 위해 로컬 드라이브에서 소스 파일 또는 .app 파일을 선택하십시오.
  2. "앱 경로" 확인란을 선택하면 "선택" 버튼이 활성화됩니다.

단계 2) "선택" 버튼을 클릭하여 로컬 드라이브에서 테스트 파일을 찾아 선택하십시오.

Appium Mac에서 검사기 앱 경로 선택

단계 3) 맥 컴퓨터에서 iOS 시뮬레이터를 실행하세요.

단계 4) 클릭 실행 오른쪽 상단 모서리에 있는 버튼을 누르세요. 그러면 파란색 아이콘이 나타납니다. 이 아이콘을 클릭하면 열립니다. Appium 검사관 및 시뮬레이터는 사전 선택된 애플리케이션을 사용합니다.

실행 Appium iOS 시뮬레이터를 사용한 검사기

단계 5) 일단 출시되면, Appium 인스펙터는 요소의 계층 구조를 열 구조로 보여줍니다. 사용자는 탭, 스와이프 등의 동작을 적용할 수도 있습니다.

Appium 인스펙터 요소 계층 보기

단계 6) 중지 녹음을 종료합니다.

첨부하다 Android 에뮬레이터 Appium

단계 1) 설치 Android 시스템에 SDK가 설치되어 있습니다.

제어판 > 시스템 및 보안 > 시스템을 엽니다. 왼쪽 패널에서 클릭합니다. 고급 시스템 설정시스템 속성 팝업 창에서 다음을 클릭합니다. Advnaced 탭을 누른 다음 환경 변수.

환경 변수를 엽니다 Windows

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

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

환경 변수에 ANDROID_HOME을 설정하세요

단계 3) 시작 Android 에뮬레이터를 사용하거나 연결하세요. Android 장치를 시스템에 연결하세요. USB 디버깅이 활성화되어 있는지 확인하세요. Android 기기: 기기 설정 > 개발자 옵션 > "USB 디버깅" 활성화로 이동하세요.

단계 4) 명령 프롬프트를 열고 다음 위치로 이동하십시오. Android SDK의 \platform-tools\ 디렉토리(예: D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).

단계 5) 실행 adb devices 명령어를 입력하세요. 연결된 장치가 명령 프롬프트 창에 목록에 나타납니다. 전체 명령어는 다음과 같습니다. adb -s emulator-5554 install <Location of .apk file>.

adb devices 명령어 출력 결과: 연결된 에뮬레이터

단계 6) 실행 adb start-server 명령어를 입력하면 ADB 서버가 시작됩니다. Appium 이를 사용하여 당신에게 명령을 보낼 것입니다. Android 장치.

단계 7) 로 이동 Appium 시스템의 디렉터리를 선택하고 시작하세요. Appium 클릭하여 Appium.exe 파일.

단계 8) 기본 IP 주소나 포트 번호를 변경하지 마십시오. 클릭하세요. 실행. 너의 Appium 콘솔은 아래와 같이 127.0.0.1:4723에서 시작됩니다.

Appium 콘솔이 127.0.0.1:4723에서 실행 중입니다.

단계 9) 스타트. 그만큼 Appium 서버가 이제 시스템에서 실행 중입니다.

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

단계 1) ADT를 다운로드하세요 Eclipse 플러그인을 사용하거나 ADT 번들을 별도로 다운로드하세요. 여기에서 확인하세요.

단계 2) 엽니다 Eclipse 새 프로젝트 > 패키지 > 클래스를 생성합니다.

단계 3) 가져 오기 Selenium 도서관과 TestNG 새 프로젝트에 참여합니다.

단계 4) 간단한 테스트 프로그램을 작성하세요. 계산기 앱 두 숫자를 더한 값입니다.

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.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 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");
        // Package name of the app (get it from an APK info app)
        capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
        // Launcher activity of the app (get it from an APK info app)

        // Create a RemoteWebDriver instance and connect to the Appium server
        // Launches the Calculator app on the Android device using the capabilities above
        driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    }

    @Test
    public void testCal() throws Exception {
        // Locate the keys on the calculator 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 calculator output by tag name
        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 관리자에서 에뮬레이터를 선택한 다음 실행을 클릭합니다. TestNG이 프로그램은 선택한 에뮬레이터에서 Calculator.app을 실행하고 결과를 표시합니다. Eclipse 콘솔을 사용하여 TestNG 뼈대.

의 한계 Appium

  1. Appium 테스트를 지원하지 않습니다. Android 4.2보다 낮은 버전.
  2. 하이브리드 앱 테스트에 대한 지원이 제한적입니다. 예를 들어 웹 뷰와 네이티브 뷰 간의 전환 동작을 양방향으로 테스트할 수 없습니다.
  3. 실행을 지원하지 않습니다. Appium 검사관 켜짐 Microsoft Windows.

일반적인 오류 및 문제 해결 단계 Appium

오류 문제 해결 단계
오류: 다음 필수 기능이 제공되지 않았습니다. deviceName, platformName 원하는 기능을 추가하세요 deviceName platformName 부터 Appium 스크립트. 예를 들면: capabilities.setCapability("deviceName", "Emulator"); capabilities.setCapability("platformName", "Android");
오류: adb를 찾을 수 없습니다. ANDROID_HOME 환경 변수를 다음과 같이 설정하세요. Android SDK 루트 디렉터리 경로입니다. 시스템 환경 변수의 Path 항목에 SDK 루트 디렉터리를 설정하십시오.
오류: org.openqa.selenium.SessionNotCreatedException: 새 세션을 생성할 수 없습니다. 올바른 앱 경로를 설정하고 다시 시작하세요. Appium 서버.
DOM 요소를 찾는 방법 또는 xpath 모바일 애플리케이션에서? UIAutomator Viewer를 사용하여 DOM 요소를 검사하세요. Android 분야의 다양한 어플리케이션에서 사용됩니다.

자주 묻는 질문

Selenium 웹 브라우저를 자동화합니다. Appium 모바일 애플리케이션을 자동화합니다. Appium WebDriver 프로토콜을 재사용합니다. Selenium 사용자들은 빠르게 적응하지만, Appium 또한 네이티브 앱, 하이브리드 앱 및 모바일 웹 앱을 구동합니다. Android iOS는 플랫폼별 자동화 엔진을 통해 지원합니다.

Appium 모든 언어를 지원합니다. Selenium WebDriver 클라이언트(다음 포함) Java, Python, JavaNode.js, Ruby, C#, PHP 및 Objective-C로 작성된 스크립트입니다. 이를 통해 Appium 언어 변경을 강요하지 않고도 다양한 엔지니어링 팀에 적응할 수 있습니다.

예. Appium 이 테스트 시스템은 기기에 설치된 네이티브 앱, 웹 뷰가 내장된 하이브리드 앱, 그리고 Chrome이나 Safari에서 실행되는 모바일 웹 앱을 모두 테스트합니다. 단일 WebDriver 기반 API가 세 가지 유형 모두를 지원하므로 플랫폼 간 테스트 유지 관리가 간소화됩니다.

AI가 개선됩니다 Appium 자체 복구 로케이터, 시각적 검증 및 AI 생성 테스트 단계를 통해 테스트 스위트를 검증합니다. AI 엔진은 앱 업데이트 전반에 걸쳐 로케이터의 변동을 감지하고 안정적인 XPath 대안을 추천하며 불안정한 테스트를 자동으로 분류하여 엔지니어가 유지 관리보다는 실제 결함 해결에 집중할 수 있도록 합니다.

네. AI 기반 모바일 테스트 도구는 앱 화면을 분석하고, 상호작용 요소를 식별하며, 결과물을 생성합니다. Appium 원하는 기능과 로케이터를 포함하는 스크립트를 생성합니다. 그런 다음 테스터가 스크립트를 검토하고 개선하여 반복적인 작업을 줄이고 새로운 팀의 온보딩 속도를 높입니다. Appium 오토메이션.

이 게시물을 요약하면 다음과 같습니다.