首頁 運維 安全 Appium框架的知識點有哪些

Appium框架的知識點有哪些

May 13, 2023 pm 09:37 PM
appium

1、測試對象

Appium是一個開源工具,用於自動化iOS、Android裝置和Windows桌面平台上的原生、行動Web和混合應用程式。

"原生應用程式"指那些用iOS、Android或WindowsSDK編寫的應用程式。

"行動web應用程式"是使用行動裝置瀏覽器存取的應用程式(Appium支援iOS上的Safari、Chrome和Android上的內建瀏覽器)。

"混合應用程式"帶有一個"webview"的包裝器-用來和Web內容互動的原生控制項。

重要的是:Appium是跨平台的:它允許你用同樣的API對多平台寫入測試,做到在iOS、Android和Windows測試套件之間重複使用程式碼。

2、支援平台及語言

● appium是跨平台的,支援OSX,Windows以及Linux系統。它允許測試人員在不同的平台(iOS,Android)使用同一套API來寫自動化測試腳本,這大大增加了iOS和Android測試套件間程式碼的複用性

● appium支援多語言,採用C/S設計模式,只要滿足client能夠發送http請求給server即可

3、工作原理

APPIUM IOS端工作原理

#下面我們透過一張圖來看下IOS端APPIUM全過程工作原理:

Appium框架的知識點有哪些

##APPIUM Android端工作原理

#下面我們透過一張圖來看下android端APPIUM全過程工作原理:

Appium框架的知識點有哪些

解釋:

整個箭頭指向為完成的指令循環

webdriver script需要自動化測試人員自己寫對應的測試腳本

建議大家去了解下JSON wire protocol、instruments、UiAutomator

4、安裝工具

● 測試語言,如python

●appium客戶端

● appium服務端

● 行動設備,若使用虛擬機器則需進行安裝

5、環境建置

(一)安裝Android SDK

1、Android SDK(Software Development Kit,軟體開發工具包)提供了Android API 庫和開發工具構建,測試和調試應用程序,可以看做用於開發和運行Android應用的一個軟體

2、提供小工具,例如adb、aapt、uiautomatorview

3、測試設備使用安卓模擬器,這一步絕對不能跳過

(二)安裝appium Server

1、appium官網:https://pium.app/downloads/

2、下載appium安裝包(AppiumForWindows.zip,appium.dmg)

3、安裝,並設定appium環境變數

(三)安裝python-client

1、先安裝程式語言,例如python語言

2、安裝Appium-Client,python的話可使用pip安裝:pip install Appium-Python-Client

6、應用程式及操作

##①呼叫appium流程

1、設定手機設備參數,告訴server端我想調起的是哪一台手機設備

2、抓取手機上應用的控件,指定對應的控件來進行操作

3、對抓取到的控制進行操作,例如點擊、填寫參數等

第一步,配置手機設備參數

Appium 的Desired Capabilities 基本上配置如下:

Android environment

import unittest

from appium import webdriver

desired_caps = {}

desired_caps['platformName'] = 'Android'

desired_caps ['platformVersion'] = '4.2'

desired_caps['deviceName'] = 'Android Emulator'

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 Emulator、iPhone Simulator等

● automationName:指定自動化引擎,預設appium

● platformName:指定行動平台,Android或iOS

● platformVersion:指定平台的系統版本。例如指定Android系統版本為4.2

● appActivity:待測試app的Activity,注意,原生app的話要在activity前加個"."

● appPackage:待測試app的包名(package)資訊

第二步,抓取手機上應用的控制項

透過Android SDK內建工具uiautomatorviewer.bat來查看手機應用程式的控制參數(該工具位於/tools/ bin/ 目錄下)

1、id定位

#使用方法:Appium框架的知識點有哪些

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

2、name定位

#使用方法:Appium框架的知識點有哪些

el = self.driver.find_element_by_name('未接來電') el = self.driver.find_elements_by_name('未接來電')

3、class name 定位

Appium框架的知識點有哪些

Appium框架的知識點有哪些

Appium框架的知識點有哪些

#使用方法:

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

##4、Accessibility ID定位

使用方法:

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

5、android uiautomator定位

使用方法:

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捲動至元素destination_el

範例:driver. scroll(el1, el2)

用法:driver.scroll(el1,el2)

2.tap

tap(self, positions, duration=None):

模擬手指點擊(最多五個手指),可設定按住時間長度(毫秒)

範例:driver.tap([(100, 20), (100, 60), (100 , 100)], 500)

用法:driver.tap([(x,y),(x1,y1)],500)

3. swipe

# swipe(self, start_x, start_y, end_x, end_y, duration=None):

從A點滑動至B點,滑動時間為毫秒

舉例:driver.swipe(100, 100 , 100, 400)

用法:driver.swipe(x1,y1,x2,y2,500)

4. keyevent

#keyevent(self, keycode, metastate= None):

發送按鍵碼(安卓只有),按鍵碼可以在網址中找到

用法:driver.keyevent('4')

5. press_keycode

press_keycode(self, keycode, metastate=None):

#發送按鍵碼(安卓只有),按鍵碼可以上網址中找到

##用法:driver.press_ keycode('4')

6.text

text(self):

傳回元素的文字值

##用法:element.text

7.click

click(self):

點選元素

用法:element.click()

8.get_attribute

get_attribute(self, name):

取得某元素的相關值

用法:element.get_attribute("name")#######9.size## ####size(self):######取得元素的大小(高與寬)#######用法driver.element.size######10. page_source###### #page_source(self):######取得目前頁面的來源######用法:driver.page_source######11.quit######quit(self):## ####退出腳本運行並關閉每個相關的視窗連接######範例:driver.quit()######執行結果判斷######在用例執行完畢,需要判斷是否通過時,需要和你預期的結果進行對比,一般可以選擇斷言查找某個標誌位是否出現,或者某個元素的text值是否和預期相等,還可以截圖後跟參照圖片做對比等等。 ###

以上是Appium框架的知識點有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1250
24