真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Appium框架的知識點有哪些

本篇內(nèi)容主要講解“Appium框架的知識點有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Appium框架的知識點有哪些”吧!

站在用戶的角度思考問題,與客戶深入溝通,找到寶雞網(wǎng)站設計與寶雞網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、空間域名、雅安服務器托管、企業(yè)郵箱。業(yè)務覆蓋寶雞地區(qū)。

1、測試對象

Appium是一個開源工具,用于自動化iOS、Android設備和Windows桌面平臺上的原生、移動Web和混合應用。

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

"移動web應用"是用移動端瀏覽器訪問的應用(Appium支持iOS上的Safari、Chrome和Android上的內(nèi)置瀏覽器)。

"混合應用"帶有一個"webview"的包裝器——用來和Web內(nèi)容交互的原生控件。

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

2、支持平臺及語言

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

● appium支持多語言,采用C/S設計模式,只要滿足client能夠發(fā)送http請求給server即可

3、工作原理

APPIUM IOS端工作原理

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

Appium框架的知識點有哪些

APPIUM Android端工作原理

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

Appium框架的知識點有哪些

解釋:

整個箭頭指向為一個完成的指令循環(huán)

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

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

4、安裝工具

● 測試語言,如python

● appium客戶端

● appium服務端

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

5、環(huán)境搭建

(一)安裝Android SDK

1、Android SDK(Software Development Kit,軟件開發(fā)工具包)提供了 Android API 庫和開發(fā)工具構(gòu)建,測試和調(diào)試應用程序,可以看做用于開發(fā)和運行Android應用的一個軟件

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

3、測試設備使用安卓模擬器,這一步?jīng)Q不能跳過

(二)安裝 appium Server

1、appium官網(wǎng):https://pium.app/downloads/

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

3、安裝,并配置appium環(huán)境變量

(三)安裝 python-client

1、先安裝編程語言,比如python語言

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

6、應用及操作

①調(diào)用appium過程

1、配置手機設備參數(shù),告訴server端我想調(diào)起的是哪一臺手機設備

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

3、對抓取到的控件進行操作,比如點擊、填寫參數(shù)等

第一步,配置手機設備參數(shù)

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)

常見參數(shù)解釋:

● deviceName:指定啟動設備,比如Android Emulator、iPhone Simulator等

● automationName:指定自動化引擎,默認appium

● platformName:指定移動平臺,Android或者iOS

● platformVersion:指定平臺的系統(tǒng)版本。例如指定Android系統(tǒng)版本為4.2

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

● appPackage:待測試app的包名(package)信息

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

通過Android SDK內(nèi)置工具uiautomatorviewer.bat來查看手機應用的控件參數(shù)(該工具位于 /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框架的知識點有哪些

使用方法:

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定位

Appium框架的知識點有哪些

使用方法:

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

5、android uiautomator定位

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滾動至元素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):

發(fā)送按鍵碼(安卓僅有),按鍵碼可以上網(wǎng)址中找到

用法:driver.keyevent('4')

5. press_keycode

press_keycode(self, keycode, metastate=None):

發(fā)送按鍵碼(安卓僅有),按鍵碼可以上網(wǎng)址中找到

用法: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()

執(zhí)行結(jié)果判斷

在用例執(zhí)行完畢,需要判斷是否通過時,需要和你預期的結(jié)果進行對比,一般可以選擇斷言查找某個標志位是否出現(xiàn),或者某個元素的text值是否和預期相等,還可以截圖后跟參照圖片做對比等等。

到此,相信大家對“Appium框架的知識點有哪些”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!


新聞名稱:Appium框架的知識點有哪些
新聞來源:http://weahome.cn/article/pgsges.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部