Selenium 2 Remote WebDriver 和 C# 的問題 - 為什麼我的字典無法工作?



首先,一个警告:我是c#的新手,所以请原谅我,如果这是一个荒谬的简单问题。我正在将一些Selenium Python测试转换为c#,这才刚刚开始。

所以,我在一个测试项目中有以下示例,试图让Selenium 2在c#中工作:

public class Selenium2RemoteWebDriver
{
    static void Main(string[] args)
    {
        var pltfm = new Platform(PlatformType.Windows);
        var environment = new Dictionary<string, object>
        {
            {"username", "my-sauce-name"},
            {"accessKey", "my-sauce-key"},
            {"browserName", "iexplore"},
            {"version", "8"},
            {"platform", "Windows"},
            {"name","Hello, Sauce!"}
        };
        //foreach (var pair in environment)
        //{
        //    Console.WriteLine("Key: {0}, Value: {1}", pair.Key, pair.Value);
        //}

        var capabilities = new DesiredCapabilities(environment);
        var driver = new RemoteWebDriver(
            new Uri("http://my-sauce-id:my-sauce-key@ondemand.saucelabs.com:80/wd/hub"), capabilities);
        driver.Navigate().GoToUrl("http://www.google.com");
        var search = driver.FindElement(By.Name("q"));
        search.SendKeys("Hello, WebDriver");
        search.Submit();
        Console.WriteLine(driver.Title);
        driver.Quit();
    }
}

当我运行这个测试时,我得到以下消息:

<>之前测试"Selenium2_Testing。Selenium2RemoteWebDriver' failed:给定的键不存在于字典中。

但是当我取消print语句的注释时,我可以看到字典是完整的:

关键字:username,值:my-sauce-id关键字:accessKey,值:my-sauce-key关键字:browserName,值:iexplore关键字:version,取值:8关键字:平台,值:Windows关键:名称,值:你好,酱!之前

我做错了什么?

编辑:抱歉:我应该包括我正在使用:

Visual Studio 2010 (10.30319.1)
.Net Framework 4.0 (30319)
Selenium WebDriver 2.0b3(已编译下载)

. net绑定中的DesiredCapabilities对象最近(2.0b3之后)被重写,以正确地允许传递字典来定义任意功能。

在此链接中可以看到更改行为的确切代码更改。

原来我使用的程序集有问题。从最新的源代码编译并将这些二进制文件导入项目后,这个问题就解决了。

相关内容

  • 没有找到相关文章

最新更新