簡體   English   中英

Selenium 原生 Android 應用程序的 DesiredCapabilities 已過時

[英]DesiredCapabilities for Selenium native android application obsolete

我正在嘗試設置一個 selenium 框架來測試 android 模擬器上的應用程序。 但是,我不斷收到警告,指出 DesiredCapabilities 已過時。 除了與瀏覽器的關系之外,我找不到任何關於此的信息。 但在我的框架中,我正在嘗試測試本機應用程序。

代碼:

    [TestMethod]
    public void Test_Open_Mobile_App()
    {
        DesiredCapabilities cap = new DesiredCapabilities();

        //set the emulator
        cap.SetCapability("platformVersion", "8.1");
        cap.SetCapability("platformName", "Android");
        cap.SetCapability("deviceName", "Device 01 Oreo_1440x2560");
        cap.SetCapability("udid", "emulator-5554");
        cap.SetCapability("deviceType", "phone");
        cap.SetCapability("device", "Android");
        cap.SetCapability("app", "C:/Users/User/Desktop/Mobile Tests/App APK/com.hyperspheric.go4schools.apk");
        cap.SetCapability("appPackage", "appPackage");
        cap.SetCapability("appActivity", "appActivity");


        _driver = new AndroidDriver<AndroidElement>(new Uri("http://127.0.0.1:4723/wd/hub"), cap);
    }

由於 DesiredCapabilites 在最新的 selenium 驅動程序中已過時,我們可以為任何瀏覽器使用特定的瀏覽器選項,對於 android 本機應用程序,我們可以使用 AppiumOptions。 下面的代碼應該適用於 android 本機應用程序。

        AppiumOptions cap = new AppiumOptions();

        //set the emulator
        cap.AddAdditionalCapability("platformVersion", "8.1");
        cap.AddAdditionalCapability("platformName", "Android");
        cap.AddAdditionalCapability("deviceName", "Device 01 Oreo_1440x2560");
        cap.AddAdditionalCapability("udid", "emulator-5554");
        cap.AddAdditionalCapability("deviceType", "phone");
        cap.AddAdditionalCapability("device", "Android");
        cap.AddAdditionalCapability("app", "C:/Users/User/Desktop/Mobile Tests/App APK/com.hyperspheric.go4schools.apk");
        cap.AddAdditionalCapability("appPackage", "appPackage");
        cap.AddAdditionalCapability("appActivity", "appActivity");

.NET 綁定正在朝着不應直接使用 DesiredCapabilites 的模式發展。 為方便起見,ChromeOptions 類有一個 ToCapabilities() 方法。

編輯:

這應該可以正常工作:

ChromeOptions options = new ChromeOptions()
DesiredCaps = options.ToCapabilities() as DesiredCapabilities;
DesiredCaps.SetCapability("platformName","Android");
DesiredCaps.SetCapability("platformVersion", "8.1");
DesiredCaps.SetCapability("deviceName", "Device 01 Oreo_1440x2560");
DesiredCaps.SetCapability("device", "Android");

AppDriver = new AndroidDriver<AppiumWebElement>(new Uri("http://127.0.0.1:4723/wd/hub"), DesiredCaps, TimeSpan.FromSeconds(300));

截至目前,Appium 的開發人員(提供AnroidDriver類)還沒有實現繞過DesiredCapabilities類使用的解決方案。 (我找不到任何相關問題或拉取請求)

如this selenium issue中所述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM