我正在使用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());
得到相同的结果,任何想法可能会出错吗?
答案 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的实现。