appium自动化测试_Appium自动化测试入门教程No.1—— Appium介绍
(1)特點(diǎn)
appium 是一個(gè)自動(dòng)化測(cè)試開(kāi)源工具,支持 iOS 平臺(tái)和 Android 平臺(tái)上的原生應(yīng)用,web應(yīng)用和混合應(yīng)用。
>>“移動(dòng)原生應(yīng)用”是指那些用iOS或者 Android SDK 寫(xiě)的應(yīng)用(Application簡(jiǎn)稱(chēng)app)。
>>“移動(dòng)web應(yīng)用”是指使用移動(dòng)瀏覽器訪問(wèn)的應(yīng)用(appium支持iOS上的Safari和Android上的 Chrome)。
>>“混合應(yīng)用”是指原生代碼封裝網(wǎng)頁(yè)視圖——原生代碼和 web 內(nèi)容交互。比如,像 Phonegap,可以幫助開(kāi)發(fā)者使用網(wǎng)頁(yè)技術(shù)開(kāi)發(fā)應(yīng)用,然后用原生代碼封裝,這些就是混合應(yīng)用。
重要的是,appium是一個(gè)跨平臺(tái)的工具:它允許測(cè)試人員在不同的平臺(tái)(iOS,Android)使用同一套API來(lái)寫(xiě)自動(dòng)化測(cè)試腳本,這樣大大增加了iOS和Android測(cè)試套件間代碼的復(fù)用性。
(2)Appium與Selenium
Appium類(lèi)庫(kù)封裝了標(biāo)準(zhǔn)Selenium客戶(hù)端類(lèi)庫(kù),為用戶(hù)提供所有常見(jiàn)的JSON格式selenium命令以及額外的移動(dòng)設(shè)備控制相關(guān)的命令,如多點(diǎn)觸控手勢(shì)和屏幕朝向。
Appium客戶(hù)端類(lèi)庫(kù)實(shí)現(xiàn)了Mobile JSON Wire Protocol(一個(gè)標(biāo)準(zhǔn)協(xié)議的官方擴(kuò)展草稿)和W3C WebDriver spec(一個(gè)傳輸不可預(yù)知的自動(dòng)化協(xié)議,該協(xié)議定義了MultiAction 接口)的元素。
Appium服務(wù)端定義了官方協(xié)議的擴(kuò)展,為appium 用戶(hù)提供了方便的接口來(lái)執(zhí)行各種設(shè)備動(dòng)作,例如在測(cè)試過(guò)程中安裝/卸載App。這就是為什么我們需要appium特定的客戶(hù)端,而不是通用的Selenium 客戶(hù)端。當(dāng)然,appium 客戶(hù)端類(lèi)庫(kù)只是增加了一些功能,而實(shí)際上這些功能就是簡(jiǎn)單的擴(kuò)展了Selenium 客戶(hù)端,所以他們?nèi)匀豢梢杂脕?lái)運(yùn)行通用的Selenium會(huì)話(huà)。
(3)支持多平臺(tái)、多語(yǔ)言
Appium是跨平臺(tái)的,可以用在OSX,Windows以及Linux桌面系統(tǒng)上運(yùn)行。
Appium選擇了Client/Server的設(shè)計(jì)模式。只要client能夠發(fā)送http請(qǐng)求給server,那么的話(huà)client用什么語(yǔ)言來(lái)實(shí)現(xiàn)都是可以的,這就是appium及Selenium(WebDriver)如何做到支持多語(yǔ)言的原因;
Appium擴(kuò)展了WebDriver的協(xié)議,沒(méi)有自己重新去實(shí)現(xiàn)一套。這樣的好處是以前的WebDriver API能夠直接被繼承過(guò)來(lái),以前的Selenium(WebDriver)各種語(yǔ)言的binding都可以拿來(lái)就用,省去了為每種語(yǔ)言開(kāi)發(fā)一個(gè)client的工作量;
(4)Appium工作原理
在安裝和介紹appium之前,非常有必要介紹一下appium是如何工作的。
通過(guò)上面一張圖簡(jiǎn)單展示了appium的工具原理。
首先,appium支持多語(yǔ)言,因?yàn)樗槍?duì)流的幾種語(yǔ)言分別開(kāi)發(fā)的相應(yīng)的appium庫(kù)。好處就是我們可以選擇自己熟悉的語(yǔ)言編寫(xiě)appium腳本。
其次,appium支持多平臺(tái),包括MAC和Windows。它針對(duì)這兩大平臺(tái)開(kāi)發(fā)了appium-Server。
最后,appium又同時(shí)支持Android 和 iOS兩個(gè)操作系統(tǒng)。
這就使得appium變得非常靈活。
當(dāng)我在MAC平臺(tái)上,通過(guò)Python(python-client )編寫(xiě)了一個(gè)appium自動(dòng)化腳本并執(zhí)行,請(qǐng)求會(huì)首先到 appium.dum (MAC下的appium-Server),appium-Server通過(guò)解析,驅(qū)動(dòng)iOS設(shè)備來(lái)執(zhí)行appium自動(dòng)化腳本。
或者,我在Windows平臺(tái)上,通過(guò)Java( java-client )編寫(xiě)了一個(gè)appium自動(dòng)化腳本并執(zhí)行,請(qǐng)求會(huì)首先到 appiumForWindow.zip(Window下的appium-Server),appium-Server通過(guò)解析,驅(qū)動(dòng)Android虛擬機(jī)或真機(jī)來(lái)執(zhí)行appium腳本。
所以,你會(huì)看到appium的強(qiáng)大之處就在于此。
(5)你都需要安裝什么?
這才是你最關(guān)心的問(wèn)題,使用appium都需要安裝些什么?其實(shí),從appium工作原理你就應(yīng)該知道需要裝什么了。
編程語(yǔ)言:
Python , Java ......
appium client:
參考 3、支持多平臺(tái)、多語(yǔ)言 的列表,根據(jù)你選擇的語(yǔ)言來(lái)選擇對(duì)應(yīng)的 appium-client。
appium Server:
參考 4、appium工作原理 的介紹,根據(jù)你的系統(tǒng)平臺(tái)選擇 對(duì)應(yīng)的 appium-server。
測(cè)試運(yùn)行環(huán)境
你需要一個(gè)Android模擬器,或 一個(gè) Android 手機(jī),或 一臺(tái) iPhone 手機(jī)。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的appium自动化测试_Appium自动化测试入门教程No.1—— Appium介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java的min函数_Java语言实现包
- 下一篇: linux 监控mysql脚本_Linu