我们在.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安装使用的内容。 我现在将driverpath和可执行文件名放在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/
上启动驱动程序服务答案 0 :(得分:0)
尝试Selenium 3.0.0。我也有这个问题,但我最终管理从2.53.1切换到3.0.0的所有事情