>  기사  >  운영 및 유지보수  >  Appium 프레임워크의 지식 포인트는 무엇입니까?

Appium 프레임워크의 지식 포인트는 무엇입니까?

王林
王林앞으로
2023-05-13 21:37:121059검색

1. 테스트 개체

Appium은 iOS, Android 기기 및 Windows 데스크톱 플랫폼에서 기본, 모바일 웹 및 하이브리드 애플리케이션을 자동화하기 위한 오픈 소스 도구입니다.

"네이티브 애플리케이션"은 iOS, Android 또는 Windows SDK로 작성된 애플리케이션을 의미합니다.

"모바일 웹 애플리케이션"은 모바일 브라우저(Appium은 iOS의 Safari, Chrome, Android의 내장 브라우저를 지원함)로 액세스하는 애플리케이션입니다.

"하이브리드 앱"에는 웹 콘텐츠와 상호 작용하는 데 사용되는 기본 컨트롤인 "webview" 주위에 래퍼가 포함되어 있습니다.

중요: Appium은 크로스 플랫폼입니다. 동일한 API를 사용하여 여러 플랫폼에 대한 테스트를 작성하고 iOS, Android 및 Windows 테스트 제품군 간에 코드를 재사용할 수 있습니다.

2. 지원되는 플랫폼 및 언어 ​

● appium은 크로스 플랫폼이며 OSX, Windows 및 Linux 시스템을 지원합니다. 이를 통해 테스터는 동일한 API 세트를 사용하여 다양한 플랫폼(iOS, Android)에서 자동화된 테스트 스크립트를 작성할 수 있으므로 iOS와 Android 테스트 제품군 간의 코드 재사용성이 크게 향상됩니다.

● appium은 여러 언어를 지원하고 C/를 사용합니다. S 디자인 모드, 클라이언트가 서버에 http 요청을 보낼 수 있는 한

3. 작동 원리

APPIUM IOS 측 작동 원리

그림을 통해 IOS 측 APPIUM의 전체 프로세스 작동 원리를 살펴보겠습니다.

Appium 프레임워크의 지식 포인트는 무엇입니까?

APPIUM Android 측 작동 원리

그림을 통해 Android 측 APPIUM의 전체 프로세스 작동 원리를 살펴보겠습니다.

Appium 프레임워크의 지식 포인트는 무엇입니까?

설명:

전체 화살표는 완료된 명령 루프를 가리킵니다

webdriver 스크립트에는 자동화된 테스트가 필요합니다. 직원이 직접 해당 테스트 스크립트를 작성합니다

JSON 와이어 프로토콜, 도구, UiAutomator

4, 설치 도구

● Python과 같은 테스트 언어

● appium 클라이언트

●에 대해 모두 배우는 것이 좋습니다. appium 서버

● 모바일 기기의 경우 가상 머신을 사용하는 경우 설치가 필요합니다

5. 환경 설정

(1) Android SDK 설치

1. Android API 라이브러리를 제공합니다. 개발 도구 구성, 애플리케이션 테스트 및 디버깅은 Android 애플리케이션을 개발하고 실행하기 위한 소프트웨어라고 볼 수 있습니다

2. adb, aapt, uiautomatorview

3. 테스트 장비에는 Android 에뮬레이터를 사용합니다. 건너뛰지 마세요. Pass

(2) appium Server 설치

1. Appium 공식 홈페이지: https://pium.app/downloads/

2 appium 설치 패키지(AppiumForWindows.zip, appium.dmg)를 다운로드하세요.

3. appium 환경 변수 설치 및 구성

(3) python-client

1. 먼저 Python 언어와 같은 프로그래밍 언어를 설치합니다.

2. Python의 경우 pip를 사용하여 설치할 수 있습니다. : pip install Appium-Python-Client

6. 애플리케이션 및 작업

①appium 프로세스 호출

1. 모바일 장치 매개변수를 구성하고 호출할 모바일 장치를 서버에 알려줍니다

2. 휴대폰에서 애플리케이션을 실행하고 해당 컨트롤을 지정합니다

3. 캡처된 컨트롤을 클릭, 매개변수 입력 등 조작합니다.

첫 번째 단계는 휴대폰 장치 매개변수를 구성하는 것입니다

기본 구성 Appium의 원하는 기능은 다음과 같습니다.

#Android 환경

import unittest

from appium import webdriver

desired_caps = {}

desired_caps['platformName'] = 'Android'

desired_caps['platformVersion'] = '4.2'

desired_caps['deviceName'] = '안드로이드 에뮬레이터'

desired_caps['app'] = PATH('../../../apps/selendroid-test-app.apk')

desired_caps['appPackage'] = package

desired_caps['appActivity'] = Activity

self.driver = webdriver.Remote('http://localhost:4723/wd/hub', Desired_caps)

공통 설명 매개변수:

● deviceName: Android 에뮬레이터, iPhone 시뮬레이터 등과 같은 시작 장치를 지정합니다.

● AutomationName: 자동화 엔진을 지정합니다. 기본값은 appium입니다.

● platformName: 모바일 플랫폼, Android 또는 iOS를 지정합니다.

● platformVersion: 플랫폼의 시스템 버전을 지정합니다. 예를 들어 Android 시스템 버전을 4.2로 지정합니다.

● appActivity: 테스트할 앱의 활동입니다. 기본 앱의 경우 활동 앞에 "."를 추가합니다.

● appPackage: 패키지 이름(패키지) 정보

두 번째 단계, 모바일 애플리케이션 컨트롤 가져오기

Android SDK 내장 도구 uiautomatorviewer.bat를 통해 모바일 애플리케이션의 제어 매개변수 보기(도구는 /tools/bin에 있음) / 디렉터리)

1. ID 위치 지정

Appium 프레임워크의 지식 포인트는 무엇입니까?

사용 방법:

driver.find_element_by_id('com.android.contacts:id/ three')

2. 이름 위치 지정

Appium 프레임워크의 지식 포인트는 무엇입니까?

사용 방법 :

el = self.driver.find_element_by_name('부재중 전화') el = self.driver.find_elements_by_name('부재중 전화')

3. 클래스 이름 위치 지정

Appium 프레임워크의 지식 포인트는 무엇입니까?

사용법:

els = self.find_element_by_class_name ('android.widget.ImageButton') els = self.driver.find_elements_by_class_name('android.widget.ImageButton')

4. 접근성 ID 위치 지정

Appium 프레임워크의 지식 포인트는 무엇입니까?

사용법:

el = self.driver .find_element_by_accessibility_id(' 3') el = self.driver.find_elements_by_accessibility_id('三')

5.android uiautomator positioning

Appium 프레임워크의 지식 포인트는 무엇입니까?

사용 방법:

el=self.driver.find_element_by_android_uiautomator('new UiSelector().description(별표 기호) ")')

els=self.driver.find_elements_by_android_uiautomator('new UiSelector().clickable(false)')

세 번째 단계, 컨트롤 조작

1.scroll

scroll(self,origin_el,destination_el) :

origin_el 요소에서 목적지_el 요소로 스크롤

예: 드라이버.scroll(el1, el2)

사용법: 드라이버.scroll(el1,el2)

2.tap

tap(self, position , 기간=없음 ):

손가락 클릭 시뮬레이션(최대 5개 손가락), 유지 시간(밀리초) 설정 가능

예: drivers.tap([(100, 20), (100, 60), (100 , 100)] , 500)

사용법: drivers.tap([(x,y),(x1,y1)],500)

3.swipe

swipe(self, start_x, start_y, end_x, end_y, 기간=없음) :

A지점에서 B지점으로 슬라이드합니다. 슬라이딩 시간은 밀리초입니다.

예:driver.swipe(100, 100, 100, 400)

사용법:driver.swipe(x1,y1,x2,y2,500)

4.keyevent

keyevent(self, keycode, Metastate=None):

키 코드 보내기(Android만 해당), 키 코드는 웹사이트에서 확인할 수 있습니다

사용법: drivers.keyevent('4' )

5.press_keycode

press_keycode(self, keycode, Metastate=None):

키코드 보내기(Android만 해당), 키코드는 웹사이트에서 확인할 수 있습니다

Usage: drivers.press_keycode('4')

6 .text

text(self):

요소의 텍스트 값을 반환합니다

사용법: element.text

7.click

click(self):

요소 클릭

사용법: element.click ( )

8.get_attribute

get_attribute(self, name):

요소의 관련 값 가져오기

Usage: element.get_attribute("name")

9.size

size(self):

요소의 크기 가져오기(높이 및 너비)

Usagedriver.element.size

10.page_source

page_source(self):

현재 페이지의 소스 가져오기

Usage: drivers.page_source

11.quit

quit(self):

스크립트를 종료하고 관련된 각 창 연결을 닫습니다

예:driver.quit()

실행 결과 판단

Use Case가 실행된 후 실행 여부를 판단해야 합니다. 통과한 경우 예상한 결과를 비교해야 합니다. 비교를 위해 일반적으로 특정 플래그가 나타나는지 또는 특정 요소의 텍스트 값이 예상한 것과 같은지 여부를 주장하도록 선택할 수 있습니다. 또한 스크린샷을 찍어 비교할 수도 있습니다. 참고 사진 등을 첨부하여

위 내용은 Appium 프레임워크의 지식 포인트는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제