gpt4 book ai didi

c# - 为什么Selenium GECKO driver for Firefox 48 无法启动服务器?

转载 作者:行者123 更新时间:2023-11-30 18:19:18 26 4
gpt4 key购买 nike

我们在 .Net 自动化测试项目设置中运行 Selenium 2.5.3 作为 NUnit 测试项目。

在 Firefox 47 上一切正常。但是在 Firefox 48 上它停止工作了。我从 github 上下载了 Gecko.exe(版本 9)。我几乎可以让它运行,但还不够。

我遇到了这些错误:附加信息:对 URL http://localhost:53628/session 的远程 WebDriver 服务器的 HTTP 请求30 秒后超时。

附加信息:对 URL http://localhost:55924/session 的远程 WebDriver 服务器的 HTTP 请求30 秒后超时。

似乎默认是使用随机端口。所以我手动将它设置为端口 7500,在 Windows 防火墙中打开该端口,现在我得到了这个:附加信息:无法在 http://localhost:7500/ 上启动驱动程序服务

这是我在 WebDriverFactory 中的代码:

case WebDriverType.Firefox:
Log.Info("Starting Firefox ...");

//string driverPath =
// $"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase)}\\wires.exe";

string driverPath =
@"C:\Development2\iRePORT\src\test\csharp\Nete.Ireport.EndToEndTests\bin\Debug\geckodriver.exe";

FirefoxDriverService driverService = FirefoxDriverService.CreateDefaultService();
driverService.FirefoxBinaryPath = driverPath;
driverService.Port = 7500;

FirefoxOptions ffOptions = new FirefoxOptions();
ffOptions.IsMarionette = true;
driver = new FirefoxDriver(driverService, ffOptions, TimeSpan.FromSeconds(30));

// driver = new FirefoxDriver(new FirefoxOptions());

Log.Info("Started");
break;

我在这上面花了很多时间,我觉得我已经很接近了。有谁知道我错过了什么?


我现在读到一些东西让我想到了这句话;

driverService.FirefoxBinaryPath = driverPath;

指向要使用的 Firefox 安装版本。我现在已将驱动程序路径和可执行文件名称放入 driverService 构造函数中,如下所示:

case WebDriverType.Firefox:
Log.Info("Starting Firefox ...");

//string driverPath =
// $"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase)}\\wires.exe";

string driverPath =
@"C:\Development2\iRePORT\src\test\csharp\Nete.Ireport.EndToEndTests\bin\Debug";
string driverExecutableName = "geckodriver.exe";

FirefoxDriverService driverService = FirefoxDriverService.CreateDefaultService(driverPath, driverExecutableName);
// Don't do this!!! This is the executable to the Firefox Version executable.
//driverService.FirefoxBinaryPath = driverPath;
driverService.Port = 7500;

FirefoxOptions ffOptions = new FirefoxOptions();
ffOptions.IsMarionette = true;
driver = new FirefoxDriver(driverService, ffOptions, TimeSpan.FromSeconds(30));

// driver = new FirefoxDriver(new FirefoxOptions());

Log.Info("Started");
break;

所以现在我又回到了这个错误:附加信息:无法在 http://localhost:7500/ 上启动驱动程序服务


此外,如果我有:driverService.Port = 7200;它说“找不到实体”。我相信这意味着它找不到 Gecko.exe。如果我有:driverService.Port = 7500;它说:附加信息:无法在 http://localhost:7500/ 上启动驱动程序服务

最佳答案

试试 Selenium 3.0.0。我也遇到过这个问题,但我最终设法从 2.53.1 切换到 3.0.0 运行所有东西

关于c# - 为什么Selenium GECKO driver for Firefox 48 无法启动服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39167779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com