廣東省東莞陽(yáng)光網(wǎng)seo推廣優(yōu)化外包價(jià)格
關(guān)于Appium V2
Appium V2 beta版本在2021年發(fā)布,從2022年1月1號(hào)開始,Appium核心團(tuán)隊(duì)不會(huì)再維護(hù)Appium 1.x版本了,所有近期官方發(fā)布的平臺(tái)驅(qū)動(dòng)(如Android平臺(tái)的UIAutomator,IOS平臺(tái)的XCUITest)不再兼容Appium 1.x,需要基于Appium V2版本。
讓我們一起看看Appium V2相比Appium 1.x發(fā)生了哪些變化
關(guān)于Appium V2的變化
將平臺(tái)驅(qū)動(dòng)獨(dú)立了出來
·在Appium V2版本中驅(qū)動(dòng)和Appium Server是分開的,驅(qū)動(dòng)可以分開安裝和升級(jí),比如Android平臺(tái)的UIAutomator、IOS平臺(tái)的XCUITest等
引入插件生態(tài)
Appium V2中將一些非核心部分組件功能轉(zhuǎn)移到了插件中,并且能夠通過插件的模式能夠擴(kuò)展更多的新功能,比如通過官方的images插件可以使用圖像識(shí)別來定位元素,使用第三方插件appium-device-farm能夠集中管理設(shè)備
嚴(yán)格遵循W3C協(xié)議
類似于Selenium 4中引入的W3C協(xié)議,Appium V2中嚴(yán)格遵循W3C協(xié)議。在Appium V2編寫測(cè)試腳本時(shí)填寫capabilities需要指定appium:前綴,比如:
{ "platformName": "Android","appium:automationName": "uiautomator2","appium:deviceName": "emulator-5554","appium:appPackage": "com.lemon.lemonban","appium:appActivity": "com.lemon.lemonban.activity.WelcomeActivity"
}
具體哪些屬于標(biāo)準(zhǔn)W3C協(xié)議中的capabilities可以查看文檔https://www.w3.org/TR/webdriver/#capabilities
其中platformName是屬于標(biāo)準(zhǔn)的W3C協(xié)議中的capabilities,不需要添加前綴
非標(biāo)準(zhǔn)的W3C協(xié)議中的capabilities需要添加appium:前綴
使用前準(zhǔn)備工作:
Appium V2版本目前需要基于nodejs環(huán)境進(jìn)行安裝,并且對(duì)nodejs的版本也有對(duì)應(yīng)的要求:
Node.js version in the SemVer range ^14.17.0 || ^16.13.0 || >=18.0.0
NPM version >= 8 (NPM is usually bundled with Node.js, but can be upgraded independently)
這里我們選擇直接從nodejs的官網(wǎng)https://nodejs.org/en下載最新的版本:
Step1:安裝Appium V2
npm install -g appium@next
目前Appium V2還未最終正式發(fā)布,還屬于rc(Release Candidate-發(fā)布候選版)版本,在安裝時(shí)必須要使用appium@next參數(shù)進(jìn)行安裝。當(dāng)Appium V2正式發(fā)布之后我們可以使用appium參數(shù)來安裝。
安裝完畢之后檢測(cè)appium版本號(hào):
appium -v
輸出結(jié)果為:
2.0.0-rc.3
當(dāng)Appium V2安裝好之后,即可通過Appium Extension CLI(Appium擴(kuò)展命令行)模式來擴(kuò)展安裝各種平臺(tái)驅(qū)動(dòng)和插件了。
Step2:安裝Appium driver
以Android平臺(tái)為例,安裝UIAutomator2驅(qū)動(dòng):
appium driver install uiautomator2 //Appium擴(kuò)展命令行模式
安裝完畢之后可以查看安裝好的驅(qū)動(dòng):
appium driver list
輸出結(jié)果為:
Step3:啟動(dòng)Appium Server
使用appium命令即可啟動(dòng):
appium默認(rèn)會(huì)以4723端口啟動(dòng),并且在啟動(dòng)的時(shí)候會(huì)在本地加載已安裝好的驅(qū)動(dòng)。
Step4:安裝Appium客戶端庫(kù)
選擇編程語言的對(duì)應(yīng)的Appium客戶端庫(kù),如Python對(duì)應(yīng)的是Appium-Python-Client,通過pip進(jìn)行安裝;Java對(duì)應(yīng)的是Java-client,通過Maven或者Gradle進(jìn)行安裝。
這里需要注意,如果之前的項(xiàng)目用到了相關(guān)的庫(kù),需要將其進(jìn)行升級(jí)以適配最新的Appium V2。
Step5:編寫測(cè)試腳本
這里以python為例:
from appium import webdrivercaps = {"platformName": "Android","automationName": "uiautomator2","deviceName": 'emulator-5554',"appPackage": "com.lemon.lemonban","appActivity": "com.lemon.lemonban.activity.WelcomeActivity","noReset": True
}
appium_server_url = 'http://127.0.0.1:4723'
driver = webdriver.Remote(appium_server_url, caps)
需要注意的是:Appium Server在1.x版本時(shí)期的訪問地址是:http://127.0.0.1/wd/hub, 但是在V2版本上不需要后綴/wd/hub了,如果還用之前的地址訪問會(huì)出現(xiàn)404。
最后感謝每一個(gè)認(rèn)真閱讀我文章的人,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
這些資料,對(duì)于【軟件測(cè)試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴上萬個(gè)測(cè)試工程師們走過最艱難的路程,希望也能幫助到你!???