您好,登錄后才能下訂單哦!
對不同的自動化工具做了初步的比較,個人總結下。
1. Appium 使用的Driver是在Selenium Webdriver的基礎上進行封裝,底層會根據不同的平臺決定調用ios的UIAutomation還是Android的UIAutomator. 也就是說用戶使用的webdriver相應的方法會根據不同的平臺轉換成對應的UIAutomaxxxx的方法。所以用戶使用Appium的Driver時候就可以像使用Webdriver一樣。
2. Android下面的測試支持框架根據出現時間的先后有兩個:Test Instrumentation和UIAutomator. 個人認為兩者最重要的一個區別是Test Instrumentation框架是不能跨應用,而UIAutomator是可以跨應用的。 也就是說如果你在測試當前應用的時候需要調用照相機去拍照,前者是控制不了的。
3. 自動化測試工具Robotium是基于Test Instrumentation的,所以Robotium是不能跨應用的
4. UIAutomator就是基于UIAutomator框架的,所以可以跨應用
5. Appium是基于UIAutomator和Test Instrumentation的,所以可以跨應用
6. Robotium中只有一個solo類就處理了所有的事情,比如:
public void testAddNote() throws Exception {
solo.clickOnMenuItem("Add note");
//Assert that NoteEditor activity is opened
solo.assertCurrentActivity("Expected NoteEditor activity", "NoteEditor");
//In text field 0, add Note 1
solo.enterText(0, "Note 1");
solo.goBack();
//Clicks on menu item
solo.clickOnMenuItem("Add note");
//In text field 0, add Note 2
solo.enterText(0, "Note 2");
//Go back to first activity named "NotesList"
solo.goBackToActivity("NotesList");
//Takes a screenshot and saves it in "/sdcard/Robotium-Screenshots/".
solo.takeScreenshot();
boolean expected = true;
boolean actual = solo.searchText("Note 1") && solo.searchText("Note 2");
//Assert that Note 1 & Note 2 are found
assertEquals("Note 1 and/or Note 2 are not found", expected, actual);
}
7. UIAutomator主要是用幾個類進行控制:"UiDevice,UiSelector,UiScrollable,UiObjectUiCollection.
public void testDemo() throws UiObjectNotFoundException {
getUiDevice().pressHome();
// 進入設置菜單
UiObject settingApp = new UiObject(new UiSelector().text("MAJC Box"));
settingApp.click();
//休眠3秒
try {
Thread.sleep(3000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// 進入語言和輸入法設置
UiScrollable settingItems = new UiScrollable( new UiSelector().scrollable(true));
settingItems.setAsHorizontalList();
UiObject languageAndInputItem = settingItems.getChildByText(
new UiSelector().textContains("192.168.1.174"), "MAJC Box\n192.168.1.174", true);
languageAndInputItem.clickAndWaitForNewWindow();
UiObject btnSetup = new UiObject(new UiSelector().resourceId("com.incasedata.app:id/btn_setting_up"));
btnSetup.clickAndWaitForNewWindow();
UiObject btnNext = new UiObject(new UiSelector().resourceId("com.incasedata.app:id/btn_next"));
btnNext.clickAndWaitForNewWindow();
//UiObject imgView = new UiObject(new UiSelector().resourceId("com.incasedata.app:id/user_avatar"));
//imgView.clickAndWaitForNewWindow();
UiObject txtUserName = new UiObject(new UiSelector().resourceId("com.incasedata.app:id/edit_account"));
txtUserName.setText("MAJCBOXISTHEBESTTOOLSFORYOUTOUSERPLEASEGOAHEAD");
}
8. 易測云可以接受Robotium框架開發的測試腳本
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。