运行Selenium测试时出现与Chrome驱动程序相关的错误。错误消息是“ 无法发现打开的页面。 ”直到昨天晚上,Selenium测试都运行良好。前一天重新启动服务器后,问题似乎开始出现。我无法在本地机器上重现此错误。从服务器上的命令行运行Selenium测试确实会打开Chrome浏览器,但会导致相同的错误。有任何想法吗?
失败的行:
chromeDriver = new OpenQA.Selenium.Chrome.ChromeDriver(externalDriverPath);
错误消息和堆栈跟踪:
无法在OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)在OpenQA.Selenium.Remote.Remote。 OpenQA.Selenium.Chrome.ChromeDriver.r.ctor(String)上的OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities wantedCapabilities)的`2参数) ,位于OpenQA.Selenium.Chrome.ChromeDriver..ctor(字符串chromeDriverDirectory)位于SeleniumTests.BaseTest.SetupBrowsers()
创建ChromeDriver实例时,将显示一个控制台窗口。出现错误的服务器似乎引用了未实现的内容。
从服务器的ChomeDriver输出错误:
已在端口2984上启动ChromeDriver(v2.1)[4700:4292:0108/111503:ERROR:gpu_info_collector_win.cc(102)]无法检索有效的WinSAT评估。[4700:4292:0108/111503:ERROR:chrome_views_delegate.cc(176)]未实现[4700:4292:0108/111503:ERROR:desktop_root_window_host_win.cc(746)]未实现ED [0108/111504:ERROR:gl_surface_egl。 cc(132)] eglInitialize失败,并显示错误UNKNO WN [0108/111504:ERROR:gl_surface_win.cc(97)] GLSurfaceEGL :: InitializeOneOff失败。
从我的PC输出的ChomeDriver输出正常运行:
已在端口18786上启动ChromeDriver(v2.1)[884540:883760:0108/114010:ERROR:gpu_info_collector_win.cc(102)]无法检索有效的WinSAT评估。[884992:884996:0108/114010:ERROR:base_feature_provider.cc(122)] manifestTypes:降低web_page上下文要求提供匹配值。[885232:885236:0108/114011:ERROR:base_feature_provider.cc(122)] manifestTypes:降低Web_page上下文要求提供匹配值。[884540:883760:0108/114011:ERROR:base_feature_provider.cc(122)] manifestTypes:降低Web_page上下文要求提供匹配值。[0108/114011:ERROR:gl_surface_egl.cc(131)] eglInitialize失败,错误为UNKNO WN [0108/114011:ERROR:gl_surface_win.cc(54)] GLSurfaceEGL :: InitializeOneOff失败。
您使用的是 高度 的ChromeDriver的过时的版本。您的第一个停靠港口应该是在此处进行更新。
我非常怀疑问题是服务器上的Chrome已更新,并且ChromeDriver v2.1不支持任何最新版本的Chrome。