市場需求和智能機(jī)的高速發(fā)展使得移動(dòng)瑞軟作功能越來越復(fù)雜移動(dòng)端的技術(shù)方案也日趨多祥化,這讓做好移動(dòng)端應(yīng)用面臨著更多挑戰(zhàn)。移動(dòng)App,測試需要大量的人力物力,耗時(shí)且測試過程復(fù)雜,手動(dòng)對App進(jìn)行測試是不可取的,般都借助測試工具進(jìn)行測試。移動(dòng)App測試工具有很多,本節(jié)介紹幾個(gè)常見的移動(dòng)App自動(dòng)化測試工具。
1. Appium
Aplm是一個(gè)開源、跨平臺的自動(dòng)化測試框架,它使用WebDrver協(xié)議驅(qū)動(dòng)Adrid設(shè)備:i0s 設(shè)備和Windows應(yīng)用程序。下面對Apipm測試對象、支持平臺及語言、工作原理進(jìn)行介紹。
(1)測試對象
Appium支持ios平臺和Android平臺上的原生應(yīng)用、Web應(yīng)用和混合應(yīng)用。
①移動(dòng)原生應(yīng)用:單純用;oS或者Android開發(fā)語言編寫的、針對具體某類移動(dòng)設(shè)備、可直接被安裝到設(shè)備里的應(yīng)用,這類程序一般可通過應(yīng)用商店獲取。
②移動(dòng)Web應(yīng)用:移動(dòng)瀏覽器訪問的應(yīng)用(Appium支持iOS.上的Safari和Android上的Chrome )。
③混合應(yīng)用:原生代碼封裝網(wǎng)頁視圖的應(yīng)用程序,如淘寶客戶端?;旌蠎?yīng)用使用網(wǎng)頁技術(shù)開發(fā),用原生代碼進(jìn)行封裝。
(2)支持平臺及語言
Appium支持Windows和Linux系統(tǒng),允許測試人員在不同的平臺(iOS、Android) 使用同一套API來編寫自動(dòng)化測試腳本,增加了ios和Android測試套件間代碼的復(fù)用性。
Appium采用C/S(clientServer)設(shè)計(jì)模式,實(shí)現(xiàn)Client(客戶端)發(fā)送HTTP請求到Server(服務(wù)端);支持多種語言,如Python、Java、 JavaScript、 Objective _C、PHP等。
(3)工作原理
使用Apim執(zhí)行APP自動(dòng)化測試時(shí),在Appium客戶端編寫測試腳本并執(zhí)行該腳本,腳本會(huì)請求到Apipmp服務(wù)端,Apium 服務(wù)端對腳本進(jìn)行解析,驅(qū)動(dòng)ioS設(shè)備或Android 設(shè)備執(zhí)行腳本,完成自動(dòng)化測試。其工作原理如圖7-3所示。
圖7-3 Appium 工作原理
下面結(jié)合圖7-3介紹Apim工作原理,具體如下。
①使用Apimn支持的編程語言在客戶端編寫測試腳本。
②啟動(dòng)Appium的服務(wù)端,默認(rèn)Server(服務(wù)端)端口為4723, Appium支持標(biāo)準(zhǔn)的JsonWireProtocol協(xié)議。Appium Server(服務(wù)端)接收WebDriver客戶端標(biāo)準(zhǔn)請求,解析請求內(nèi)容,調(diào)用對應(yīng)的框架響應(yīng)操作。
③Appium服務(wù)端會(huì)把請求轉(zhuǎn)發(fā)給監(jiān)聽手機(jī)端口4724的中間件Bootstrap,并接收Appium的命令,調(diào)用UI Automator的命令執(zhí)行相對應(yīng)的操作。
④Bootstrap將執(zhí)行的結(jié)果返回給Appium服務(wù)端。
⑤AppiumServer(服務(wù)端)再將結(jié)果返回給Appium客戶端。
猜你喜歡:常用自動(dòng)化測試技術(shù)介紹
10款常見常用的自動(dòng)化測試工具推薦
功能測試、性能測試和自動(dòng)化測試有什么區(qū)別?
黑馬程序員軟件測試培訓(xùn)