亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

移動平臺測試自動化工具Appium試用筆記(二)

發布時間:2020-07-03 11:04:55 來源:網絡 閱讀:544 作者:zhukev 欄目:開發技術

對不同的自動化工具做了初步的比較,個人總結下。

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框架開發的測試腳本

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

集贤县| 汝州市| 九寨沟县| 台北县| 和硕县| 永登县| 乌拉特中旗| 松潘县| 武城县| 永修县| 兴和县| 镇康县| 淳安县| 甘洛县| 怀安县| 石狮市| 冕宁县| 新竹市| 青冈县| 石台县| 淮北市| 赤壁市| 漯河市| 肥城市| 吉水县| 宣城市| 赣州市| 页游| 罗城| 石泉县| 板桥市| 东乡族自治县| 墨江| 兴业县| 五大连池市| 锡林郭勒盟| 镇赉县| 渭南市| 同江市| 伊吾县| 阿克|