【发布时间】: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 吗?