知乎首發(fā)地址:https://zhuanlan.zhihu.com/p/141439504
一、什么是Capability和session
Capability的功能是配置Appium會話腕扶。他們告訴Appium服務(wù)器您想要自動化的平臺和應(yīng)用程序斤蔓。DesiredCapabilities是一組設(shè)置的鍵值對的集合,其中鍵對應(yīng)設(shè)置的名稱,而值對應(yīng)設(shè)置的值。(如:"platformName": "Android")Desired Capabilities主要用于通知Appium服務(wù)器建立需要的Session。
會話Session:Appium的客戶端和服務(wù)端之間進(jìn)行通信都必須在一個Session的上下文中進(jìn)行梢什。客戶端在發(fā)起通信的時候首先會發(fā)送一個叫作“Desired Capabilities”的JSON對象給服務(wù)器朝聋。服務(wù)器收到該數(shù)據(jù)后嗡午,會創(chuàng)建一個session并將session的ID返回到客戶端,之后客戶端可以用該session的ID發(fā)送后續(xù)的命令冀痕。
二荔睹、常用Capability配置講解
如果有了解過Capability的人會發(fā)現(xiàn)一個問題,其實(shí)他主要分成了三部分:公共部分言蛇、ios部分僻他、android部分,如果你android想用ios的那是不可能的腊尚,so吨拗,老老實(shí)實(shí)去了解每個平臺有哪些,他們的作用是什么婿斥。下面我們介紹一些公用常用的,紅色標(biāo)記的為常用的選項(xiàng)劝篷。
官方文檔:http://appium.io/docs/cn/writing-running-appium/caps/#android
1、Appium服務(wù)器初始化參數(shù)
下面紅框圈出來的是我們常用的一些鍵值對民宿。
2娇妓、Android獨(dú)有的Capability
還有很多,截圖不全活鹰。
3哈恰、IOS獨(dú)有的Capability
還有很多鍵值對坟桅,可以參考官方文檔:
三、使用Appium創(chuàng)建一次會話
通過設(shè)置Capability蕊蝗,創(chuàng)建與Android設(shè)備應(yīng)用的會話session。
1赖舟、啟動appium服務(wù)
Host:127.0.0.1(如果是其他主機(jī)蓬戚,則填相應(yīng)的IP地址)
端口:4723(固定值)
點(diǎn)擊start server v1.7.1
2、創(chuàng)建New Session Window
方式1:File->New Session window
方式2:點(diǎn)擊上圖圈的按鈕
3宾抓、New Session Window設(shè)置
Automatic Server 本地AppiumServer服務(wù)
Custom Server:例如子漩,如果要針對運(yùn)行在網(wǎng)絡(luò)中另一臺計(jì)算機(jī)上的Appium服務(wù)器啟動Inspector會話,這很有用石洗。
Sauce Labs:如果您無法訪問機(jī)器上的iOS模擬器幢泼,則可以利用Sauce Labs帳戶在云中啟動Appium會話。
TestObject:您還可以利用TestObject的真實(shí)設(shè)備云來進(jìn)行真機(jī)測試讲衫。
4缕棵、啟動會話
點(diǎn)擊上圖右下角的Start Session,啟動一個新的會話涉兽,如果你的android模擬器或者真機(jī)已經(jīng)連接上ADB招驴,則可以直接抓取到設(shè)備的頁面,如下圖(itools中啟動了枷畏,并安裝了qq):
啟動成功之后就可以使用 Inspector來進(jìn)行元素空間獲取了别厘。 注意:默認(rèn)的元素定位有一些不準(zhǔn),需要切換到第二個坐標(biāo)點(diǎn)定位選項(xiàng)后再切換回來才能準(zhǔn)確定拥诡,后續(xù)就可以針對這些頁面元素進(jìn)行自動化腳本的開發(fā)啦触趴。
附圖移動端測試的知識腦圖,可以完善我們測試的知識體系渴肉,如果知友對這部分內(nèi)容感興趣冗懦,可以持續(xù)關(guān)注小編的賬號。
除此之外宾娜,小編還錄制了不少這方面的技術(shù)視頻批狐,知友如果有需要,可以私聊本小編獲取哦前塔!
歡迎關(guān)注作者嚣艇,如果覺得寫的還不錯,就給點(diǎn)個贊同华弓、喜歡食零、收藏(后續(xù)持續(xù)更新)。
【全文手打 如需轉(zhuǎn)載 請標(biāo)注此出處】