理論就不多介紹了,直接上實戰
慕測官網:http://www.mooctest.net/user/main
測試核心思想
用代碼來模擬人手點,根據需求文檔測試每一個app裏的組件
環境配置(博客資源裏有,不過版本可能有點低)
前提:需要(jdk1.8以上(版本太高容易與其它軟件不兼容),
nodejs,appium,android-sdk)
系統變量
首先要自己增加變量ANDROID_HOME,內容爲android-sdk所在目錄。
這裏是安裝在F盤的Mobiletest目錄下。
進入系統變量裏面的path:
·配置android-sdk的變量:
分別是android-sdk子目錄下的tools和paltform-tools。
·配置appium的變量
需要的是appium目錄下的node_modules裏的bin目錄。
(官網地址:https://bitbucket.org/appium/appium.app/downloads/)
選擇AppiumForWindows版本號.zip
·配置nodejs變量(版本應不宜過高,與appium不兼容,儘量選擇6-7版本)
(官網地址:https://nodejs.org/zh-cn/download/releases/)
測試一下是否可用
需要eclipse含mooctest插件
資源中有,也可以進慕測官網下載
雷電模擬器(相當於一個手機)
當然也可以選擇使用真機(要求:Android8以下,不同軟件要求版本可能更低)
需要uiautomatorviewer.bat 進行截圖
這個在android-sdk的tools下(博客資源壓縮包裏也有)
需要先在終端中運行appium,才能打開成功(一般是兩個窗口)
點擊其中一個進行截圖
成功案例
右側會有一些相關元素可以用相關API方法來進行定位
API示例(提供一些常用並且有效的)
1.adb devices :檢測手機是否來連接
2.id定位
driver.findElementById(“id”).click();(一般優先id,獲取準確且查找較快)
例如:driver.findElementById(“com.jingdong.app.mall:id/btb”).click();
id獲取方法:利用uiautomater截屏,獲取resource id;
id獲取注意:如果多個元素id相同選擇其它方法
3.複合定位
driver.findElementByXPath(“//類名[@text=’’][@index=’’][@content-desc=’’]”).click();
例如:
driver.findElementByXPath("//android.widget.TextView[@text=’’][@index=’’][@content-desc=’’]").click();
對應項元素爲空時可以直接省略
4.座標定位:
TouchAction touch = new TouchAction(driver);
touch.press(980,1040).release().perform();//座標(980,1040)
5.模擬輸入操作(只需把click方法改成sendKeys)
driver.findElementById("").sendKeys("");
6.清除輸入框內容(該指令只會一個一個刪,有點慢)
driver.findElementById("").clear("");
7.強制返回
driver.sendKeyEvent(AndroidKeyCode.BACK);
8.確認
driver.sendKeyEvent(AndroidKeyCode.ENTER);
9.模擬用戶滑動
driver.swipe(600, 1600, 600, 1000, 1000);
(600,1600)、(600,1000)是獲取的兩個座標,最後的1000是時間間隔1000ms,輸入兩個座標值的X軸數值相同則是上下滑動屏幕,Y軸數值相同則是左右滑動屏幕
詳細步驟
打開appium(先),
打開截圖工具uiautomatorviewer.bat,
打開雷電模擬器
打開eclipse
1.登錄慕測官網複製密鑰
2.eclipse中打開填入密鑰
下載該軟件的腳本代碼(也可以去官方自行下載)
(附)如果失敗就去官網自行下載(一般失敗了就是密鑰不管用了,分數也提交不上)
下載成功
3.在Main裏面進行腳本的編寫(注意項目名就是你要測的軟件的拼音或英文)
在這裏進行編寫
4.APK下載方法
4.1運行代碼
選擇你要下載的軟件(英文或拼音)
注意觀察終端appium會運行起來
安裝完成它會自動幫你點擊該軟件
並且會顯示提交成功後的分數
問題:error null(沒有提交上去)
原因:網速太慢或其它
解決:可以保存代碼重新輸入密鑰再進行提交
也可以進入C:\mooctest\projects看看有沒有null的文件進行刪除
4.2直接點擊官網的apk下載
完成後直接點擊會自動安裝到模擬器
5.點擊官網的需求
根據需求在eclipse中編寫代碼
5.1ui插件截圖獲取元素相關內容來準確定位
5.2在eclipse中編寫代碼
注意點:每次運行後需要再次等appium初始化(需要一點時間),不然會報錯