一诚隙、背景:
? ? ? ?由zhangzhao大神開發(fā)的Fatkmonkey已經(jīng)開源一段時(shí)間了,并且已經(jīng)看到了很多同學(xué)在TesterHome上反饋問題與總結(jié)使用經(jīng)驗(yàn),我們也在產(chǎn)品項(xiàng)目中開始使用了Fastmonkey并取得了一些效果驾中,F(xiàn)askmonkey本身也還在不斷優(yōu)化中玲躯,下面也總結(jié)我們使用中的一些小經(jīng)驗(yàn),比如:如何實(shí)現(xiàn)自動(dòng)登錄等减拭。
為什么要使用自動(dòng)登錄呢蔽豺?我們都知道在進(jìn)行App Monkey測(cè)試過程中因?yàn)楦鞣N原因如:隨機(jī)點(diǎn)擊了登出按鈕、登錄過期拧粪、App重啟了等造成用戶登出無法進(jìn)入應(yīng)用進(jìn)行測(cè)試修陡,這時(shí)自動(dòng)登錄功能就會(huì)起作用了,依此方法也可以進(jìn)行
二可霎、工具準(zhǔn)備:
1.Fastmonkey工程代碼:用于自動(dòng)登錄功能配置魄鸦,如何下載及配置Faskmonkey請(qǐng)參考我之前的文章《使用Fastmonkey進(jìn)行Monkey測(cè)試實(shí)踐》
2.Appium-desktop工具: appium ui自動(dòng)化的Mac桌面應(yīng)用程序,由于其內(nèi)建了App UI元素查看器(inspector)方便查看我們App的UI元素控件的屬性值癣朗,F(xiàn)askmonkey工程中將會(huì)用到拾因。
三、修改Fastmonkey工程
1.打開Fastmonkey工程代碼如下圖:
2.修改【XCTestWDMonkey.swift】與【XCTestWDMonkeyController.swift】文件:
去掉monkey.addXCTestAppLogin(interval: 50, application: app)調(diào)用登錄模塊前面的注釋【//】,將登錄調(diào)用模塊開啟如下圖:
3.修改【MonkeyXCTest.swift】文件中的監(jiān)聽事件函數(shù)addXCTestAppLogin
?此函數(shù)主要用于監(jiān)聽Monkey運(yùn)行中出現(xiàn)的UI元屬绢记,比如【密碼】輸入的出現(xiàn)或者【登錄】按鈕的出現(xiàn)扁达,將tag值改為UI元屬的xpath值(獲取App的UI元素控件屬性步驟),當(dāng)監(jiān)控到【密碼】或者【登錄】出現(xiàn)后再調(diào)用相應(yīng)的處理模塊庭惜。
4.修改處理模塊MonkeyXCTestPrivate.swift文件
修改如【手機(jī)號(hào)】罩驻、【密碼】、【登錄】等或增減需要控制的UI元素的Xpath值护赊。注意:是一段代碼對(duì)應(yīng)一個(gè)UI元素的處理代碼惠遏,可以按照相應(yīng)規(guī)律增減相應(yīng)的代碼:
var element = try? XCTestWDFindElementUtils.filterElement
保存完成后即可,至此Fastmonkey就具有自動(dòng)登錄配置功能了骏啰。
四节吮、獲取App的UI元素控件Xpath值
使用Appium-desktop工具來獲取I元素控件屬性,關(guān)于appium-desktop的下載與安裝這里不再熬述了判耕,請(qǐng)百度一下相關(guān)文檔透绩,注意請(qǐng)使用最新版的Appium-desktop,防止因?yàn)榘姹静患嫒莩霈F(xiàn)異常壁熄。
1.啟動(dòng)Appium-desktop
2.點(diǎn)擊【Start Server】按鈕啟動(dòng)Appium Server帚豪,再點(diǎn)擊【放大鏡】圖標(biāo)開啟Inspector配置窗口。
2.輸入Inspector配置信息:
? ? ? 根據(jù)自己App與手機(jī)版本進(jìn)行修改狸臣,主要修改deviceName,?platformVersion,?bundleId(應(yīng)用的BundleID)昌执、udid(iPhone ID)其他不用修改烛亦,如果想詳細(xì)了解這些字段的意義,可點(diǎn)擊配置窗口左下角的【Desired Capabilities Documentation】鏈接查看官方詳細(xì)文檔:
樣例配置信息如下:
{
? "automationName": "XCUITest",
? "platformName": "iOS",
? "platformVersion": "10.3.3",
? "deviceName": "iPhone 6",
? "bundleId": "com.xxx.xxx",
? "noReset": true,
? "udid": "7840df1f8fb29c8e347xxxxxxxxxxxxxxxxxxxxxx"
}
2.點(diǎn)擊【Start Session】按鈕懂拾,啟動(dòng)UI Inspector窗口
注意:如果是第一次啟動(dòng)有時(shí)不成功能煤禽,需要等待一會(huì)兒,如果還是報(bào)錯(cuò)岖赋,請(qǐng)重啟一下手機(jī)檬果,并確認(rèn)一下配置是正確的,并再試一次唐断。
在窗口左邊列出了手機(jī)的屏幕快照汁汗,點(diǎn)選相應(yīng)的元素如手機(jī)號(hào)輸入框,右邊會(huì)列出元素的xpath值栗涂,注意:如果此元素的xpath是為空字符串請(qǐng)選擇他父控件