AppHarbor上的Selenium InternetExplorerDriver:无法在localhost上启动驱动程序服务

Vas*_*lev 8 c# selenium appharbor selenium-webdriver

我创建了一些在localhost上工作得很好的selenium测试,但是当我在appharbor上部署应用程序时,我会抛出异常.

此代码抛出了创建InternetExplorerDriver的新实例的异常:

var options = new InternetExplorerOptions();
options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
Driver = new InternetExplorerDriver(DriverDirectory, options);
Run Code Online (Sandbox Code Playgroud)

这是一个例外:

OpenQA.Selenium.WebDriverException: Cannot start the driver service on http://localhost:35187/ 
    at OpenQA.Selenium.DriverService.Start() 
    at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute) 
    at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) 
    at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) 
    at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) 
    at OpenQA.Selenium.IE.InternetExplorerDriver..ctor(String internetExplorerDriverServerDirectory, InternetExplorerOptions options)
    ...
Run Code Online (Sandbox Code Playgroud)

能否请您提出原因,有什么方法可以解决这个问题吗?

小智 1

为 InternetExplorerDriverService 指定的端口 333 属于众所周知的端口号范围:

在大多数系统上,众所周知的端口号只能由系统(根)进程或特权用户运行的程序使用。允许驱动程序服务通过不明确指定端口来选择自己的端口,或提供可用端口。

检查几件事:

  • 驱动程序位于预期位置
  • 双击 IEDriverServer.exe 将为您提供“正在监听端口”消息,以查看它自动选取的可用内容。
  • 检查防火墙没有阻止环回流量