[英]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.