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 Android 측 작동 원리
그림을 통해 Android 측 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-client1. 먼저 Python 언어와 같은 프로그래밍 언어를 설치합니다. 2. Python의 경우 pip를 사용하여 설치할 수 있습니다. : pip install Appium-Python-Client 6. 애플리케이션 및 작업①appium 프로세스 호출1. 모바일 장치 매개변수를 구성하고 호출할 모바일 장치를 서버에 알려줍니다2. 휴대폰에서 애플리케이션을 실행하고 해당 컨트롤을 지정합니다3. 캡처된 컨트롤을 클릭, 매개변수 입력 등 조작합니다.첫 번째 단계는 휴대폰 장치 매개변수를 구성하는 것입니다기본 구성 Appium의 원하는 기능은 다음과 같습니다.#Android 환경import unittestfrom appium import webdriverdesired_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'] = packagedesired_caps['appActivity'] = Activityself.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 위치 지정 사용 방법: driver.find_element_by_id('com.android.contacts:id/ three')2. 이름 위치 지정 사용 방법 :
el = self.driver.find_element_by_name('부재중 전화') el = self.driver.find_elements_by_name('부재중 전화')
3. 클래스 이름 위치 지정
사용법:
els = self.find_element_by_class_name ('android.widget.ImageButton') els = self.driver.find_elements_by_class_name('android.widget.ImageButton')
4. 접근성 ID 위치 지정
사용법:
el = self.driver .find_element_by_accessibility_id(' 3') el = self.driver.find_elements_by_accessibility_id('三')
5.android uiautomator positioning
사용 방법:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!