中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

移動平臺測試自動化工具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

隆回县| 长顺县| 平舆县| 乐都县| 宽甸| 靖西县| 邢台县| 广汉市| 卢湾区| 阿拉尔市| 郸城县| 陇川县| 商河县| 太原市| 平湖市| 合作市| 大名县| 乐清市| 岳池县| 尼玛县| 南溪县| 临潭县| 汉阴县| 大埔区| 宕昌县| 桑日县| 通海县| 华宁县| 浙江省| SHOW| 正安县| 彭泽县| 昌黎县| 益阳市| 太谷县| 巧家县| 鄂托克前旗| 青浦区| 柳州市| 比如县| 克拉玛依市|