【问题标题】:Getting error for appiumDriver initilisation [Using the generic type 'OpenQA.Selenium.Appium.AppiumDriver<W>' requires 1 type arguments]appiumDriver 初始化出错 [使用通用类型 'OpenQA.Selenium.Appium.AppiumDriver<W>' 需要 1 个类型参数]
【发布时间】:2016-05-06 16:48:34
【问题描述】:

我正在使用 AppiumDriver 尝试以下代码,但出现错误。我正在使用 beloe 代码并使用 appium.dotnet 驱动程序版本 1.5.1.1

using NUnit.Framework;
using System;
using System;
using System.Threading;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Appium.Android;
using OpenQA.Selenium.Remote;
using OpenQA.Selenium.Appium.Interfaces;
using OpenQA.Selenium.Appium.MultiTouch;
using OpenQA.Selenium.Interactions;



namespace TestAutomation_AppiumFramework
{


    [TestFixture()]
    public class TestAppium
    {
        private AppiumDriver<AppiumWebElement> driver;
        private static Uri testServerAddress = new Uri("http:127.0.01:4723/wd/hub"); // If Appium is running locally
        private static TimeSpan INIT_TIMEOUT_SEC = TimeSpan.FromSeconds(180); /* Change this to a more reasonable value */
        private static TimeSpan IMPLICIT_TIMEOUT_SEC = TimeSpan.FromSeconds(10); /* Change this to a more reasonable value */

        [TestInitialize]
        public void BeforeAll()
        {

            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.SetCapability("device", "Android");
            capabilities.SetCapability(CapabilityType.Platform, "Windows");
            capabilities.SetCapability("deviceName", "H30-U10");
            capabilities.SetCapability("platformName", "Android");
            capabilities.SetCapability("platformVersion", "4.3");
            capabilities.SetCapability("appPackage", "com.android.calculator2");
            capabilities.SetCapability("appActivity", "com.android.calculator2.Calculator");

            driver = new AppiumDriver(testServerAddress,capabilities, INIT_TIMEOUT_SEC);
            driver.Manage().Timeouts().ImplicitlyWait(IMPLICIT_TIMEOUT_SEC);


        }

在这一行出现错误 - driver = new AppiumDriver(testServerAddress,capabilities, INIT_TIMEOUT_SEC);

使用通用类型“OpenQA.Selenium.Appium.AppiumDriver”需要 1 个类型参数]

【问题讨论】:

  • 不要使用 AppiumDriver,而是使用 AndroidDriver,因为它有更多的 API 并删除了 appPackage、appActivity 功能。
  • 删除后仍然出现同样的错误-- driver = new AndroidDriver(testServerAddress, capabilities, INIT_TIMEOUT_SEC);
  • 你确定C#支持第三个参数INIT_TIMEOUT_SEC,因为我在Java中没有找到这样的构造函数。
  • 现在该问题已解决,现在在调试代码时在下一行获得无效的 URI 格式异常 private static Uri testServerAddress = new Uri("http:127.0.01:4723/wd/hub");跨度>
  • 你在 127.0.01:4723 上启动了 Appium Server 吗?

标签: c# selenium appium


【解决方案1】:

AppiumDriver 是一个抽象类。您必须初始化一个具体的类,例如AndroidDriverIOSDriver,并定义与之关联的参数类型。

【讨论】:

    猜你喜欢
    • 2017-06-05
    • 2016-11-03
    • 2017-10-23
    • 2022-12-19
    • 2017-02-08
    • 2020-12-06
    • 2018-12-08
    • 1970-01-01
    • 2015-10-15
    相关资源
    最近更新 更多