RemoteWebDriver在Java中成功连接,但在C#中没有成功连接

时间:2015-05-05 14:20:56

标签: java c# selenium-webdriver

我正在使用RemoteWebDriver进行测试,当我运行以下Java代码时,一切正常。

select trim(trailing '/' from col) from ...

当我运行以下C#代码时,我从RemoteWebDriver.StartSession()获取ClassCastException(无法将字符串转换为字典)

driver = new RemoteWebDriver(new URL("http://10.0.1.10:4444"),
            new DesiredCapabilities());

我也试过使用driver = new RemoteWebDriver(new Uri("http://10.0.1.10:4444/wd/hub"), new DesiredCapabilities()); 得到相同的结果,任何想法可能会出错吗?

2 个答案:

答案 0 :(得分:0)

试试这个

  System.Uri uri = new System.Uri("http://localhost:7055/hub");
  WebDriver = new RemoteWebDriver(uri, DesiredCapabilities.Firefox());

或者

  System.Uri uri = new System.Uri("http://10.0.1.10:4444/wd/hub");
  WebDriver = new RemoteWebDriver(uri, DesiredCapabilities.Firefox());

答案 1 :(得分:0)

问题非常奇怪,WebDriver的C#实现似乎比Java(和Python)实现更严格。似乎C#实现检查HTTP响应是否将内容类型设置为JSON,Java和Python对应物只是在有问题时尝试解析和抱怨。元素的id需要格式化为字符串,否则你会得到另一个类似的异常;对于Java和Python实现,情况并非如此,似乎C#不允许使用复合类名来定位元素。

为了解决这个问题,我不得不修改我用来满足这些差异的WebDriver的实现。