【问题标题】:Desired capabilities depreciated, how to get it appium working with Android driver?所需功能已贬值,如何使其 appium 与 A​​ndroid 驱动程序一起使用?
【发布时间】:2019-02-23 18:48:42
【问题描述】:

我目前正在尝试使用 Appium/Selenium 启动一个自动化项目,并注意到 DesiredCapabilities 已贬值。有没有人有一个可行的解决方法或新实现的示例?

using System;
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Appium.Android;
using OpenQA.Selenium.Appium.Enums;
using OpenQA.Selenium.Remote;

namespace LeaflyAutomation
{
    public class TC1
    {

        public AndroidDriver<AndroidElement> driver = new AndroidDriver<AndroidElement>(new URL(sc_url), caps);

        public void InitDriver()
        {
            //No longer valid, need new driver setup
            DesiredCapabilities caps = new DesiredCapabilities();

            caps.SetCapability("PlatformName", "Android");
            caps.SetCapability("appPackage"), "myapp file path");
            caps.SetCapability("appActivity", "com.demo.demofolder.activities.MainActivity");



        }
    }
}

【问题讨论】:

  • 使用 Selenium WebDriver 3.11.0 版,所需的功能在 Appium 中的 C# 中工作得非常好。

标签: c# android selenium appium appium-android


【解决方案1】:

您正在为 DesiredCapabilities 导入错误的库。

import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
public class TC1
{

    public static AppiumDriver<MobileElement> driver;

    public void InitDriver()
    {

    DesiredCapabilities caps=new DesiredCapabilities();
    caps.setCapability("appPackage", "your app package name");
    caps.setCapability("appActivity", "your app activity name");
    caps.setCapability("deviceName", "Android phone");
    caps.setCapability("platform","Android");

    driver = new AndroidDriver<MobileElement>(new URL(
            "http://127.0.0.1:4723/wd/hub"), caps);

    }
}

欲了解更多信息,请访问Step by Step Appium Tutorial for Beginners

【讨论】:

    【解决方案2】:
    DesiredCapabilities are depreciated in latest version , we can use AppiumOptions to pass device detail instead of DesiredCapabilities. 
    
                      AppiumOptions capabilities = new AppiumOptions();
                      capabilities.AddAdditionalCapability("platformName", "Android");
                      capabilities.AddAdditionalCapability("app", "APK_Path");
                      capabilities.AddAdditionalCapability("udid", "Device_ID");
                      capabilities.AddAdditionalCapability("deviceName", "Android");
                      capabilities.AddAdditionalCapability("noReset", false);
                      driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities);
    

    【讨论】:

      猜你喜欢
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      • 2018-05-20
      • 2021-09-06
      • 1970-01-01
      • 2019-08-30
      • 1970-01-01
      • 2018-10-12
      相关资源
      最近更新 更多