【发布时间】:2016-06-13 12:55:17
【问题描述】:
我最近一直在使用 Selenium (http://www.seleniumhq.org/) 进行测试。它随机停止工作,我认为这是由于 Selenium WebDriver 2.53.0 不再与 Firefox 47 兼容(处理 Firefox 浏览器 (FirefoxDriver) 的 WebDriver 组件已停止使用)。
Marionette ([https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver#.NET][2]) 是下一代 FirefoxDriver,我一直试图让它在我的机器上运行,但没有成功。
到目前为止,我已经下载了驱动程序,将文件重命名为 wires.exe 并保存在我网站的根目录中。然后我添加了以下代码:
string strWires = @"Z:\Web_Development\Websites\test\wires.exe";
Environment.SetEnvironmentVariable("webdriver.gecko.driver", strWires);
FirefoxOptions options = new FirefoxOptions();
options.IsMarionette = true;
FirefoxDriver driver = new FirefoxDriver(options);
我收到以下错误消息:
“'OpenQA.Selenium.DriverServiceNotFoundException' 类型的异常 发生在 WebDriver.dll 中但未在用户代码中处理
附加信息:wires.exe 文件不存在于 当前目录或 PATH 环境变量上的目录中。 驱动程序可以在 github.com/jgraham/wires/releases。”
如果有人知道如何让 Marionette 驱动程序与 Selenium 一起工作(或者甚至可以指出我正确的方向)并且可以提供分步说明,我们将不胜感激?
谢谢,
丹尼尔
【问题讨论】:
-
在将文件下载到 C:/Windows 并重命名后,我收到了与您相同的错误消息。当我解锁它时,我现在得到 OpenQA.Selenium.WebDriverException : Cannot start the driver service on localhost:49426
-
如果您将wires.exe 放在路径中并直接在命令提示符中执行它,您会收到一条消息“程序无法启动,因为您的计算机中缺少VCRUNTIME140.dll”。可从此处获得:microsoft.com/en-gb/download/details.aspx?id=48145
-
但是,我已经这样做了,安装了它,它出现在 C:/Windows/System32 中,它仍然给出同样的错误。我什至从同一个位置运行了 wires.exe。
-
好的,我也从这里安装了 x86 版本:microsoft.com/en-gb/download/details.aspx?id=48145。现在我可以从命令行执行 wires.exe,但是如果我将它作为 Selenium 的一部分运行,我会得到 'System.InvalidOperationException : entity not found'
-
你有没有运气让它与 Selenium John 一起工作?
标签: c# selenium firefox selenium-webdriver firefox-marionette