Appium跨應用app自動化測試

目錄

KeyWords

適用場景

Appium提供的方法

Appium源碼

使用示例

 


KeyWords

Appium,多個appActivity,Android,app自動化,UI自動化,跨應用app自動化

適用場景

一:在一個 @Test 中需要用到多個app package,此時需要手動切換app;

二:同一個package中有多個service,例如測試環境下的package,爲了方便QA測試,會在同一個package中包含一個專門的admin工具,並且和主app是以兩個不同的圖標存在的,但是package name相同,在自動化測試過程中需要切換兩個package。

Appium提供的方法

//方法名稱
driver.startActivity();

Appium源碼

    /**
     * This method should start arbitrary activity during a test. If the activity belongs to
     * another application, that application is started and the activity is opened.
     * <p>
     * Usage:
     * </p>
     * <pre>
     *     {@code
     *     Activity activity = new Activity("app package goes here", "app activity goes here");
     *     activity.setWaitAppPackage("app wait package goes here");
     *     activity.setWaitAppActivity("app wait activity goes here");
     *     driver.startActivity(activity);
     *     }
     * </pre>
     *
     * @param activity The {@link Activity} object
     */
    default void startActivity(Activity activity) {
        CommandExecutionHelper.execute(this,
            startActivityCommand(activity.getAppPackage(), activity.getAppActivity(),
                activity.getAppWaitPackage(), activity.getAppWaitActivity(),
                activity.getIntentAction(), activity.getIntentCategory(), activity.getIntentFlags(),
                activity.getOptionalIntentArguments(), activity.isStopApp()));
    }

這個註釋真的寫的是十分用心了,具體的使用方法和參數格式看註釋就好~

使用示例

關於如何獲取appActivity,可參考獲取adnroid appActivity的四種常用方法

//此方法爲andoird獨有方法,需要聲明driver的類型爲AndroidDriver
((AndroidDriver) driver).startActivity(new Activity("com.your.packagename", ".app.activity.LauncherActivity"));

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章