到目前为止,我一直使用它chromium
作为我的默认浏览器并一直在运行 java-selenium 测试自动化chromedriver
(我已经下载并通过编程手动将其位置指定给自动化)。
直到今天,我都能同时使用这两个应用程序。我安装了事实上的google-chrome-stable
应用程序,现在如果我打开它,chromedriver
实例化就会失败,自动化就会挂起。
如果我关闭google-chrome-stable
并打开 Chromium(就像我现在问这个问题时所做的那样),我可以运行测试自动化,但是 Unity 在启动器中显示chromedriver
图标google-chrome-stable
。我怀疑这是正在发生的事情的征兆,但我无法想象是什么。
如何修复此问题,以便我可以像以前一样并排运行它们chromium
?
答案1
在阅读并做了一些研究后,我意识到我对chromedriver
工作原理有一个非常重要的误解。从他们的自述文件.txt:
ChromeDriver 将默认使用系统安装的 Chrome。
... [为简洁/相关性而省略部分] ...
=====建筑=====
ChromeDriver 与 Chrome 分开提供。它通过 DevTools 在进程外控制 Chrome。ChromeDriver 是一个独立服务器,它通过 WebDriver 有线协议与 WebDriver 客户端通信,该协议本质上是通过 HTTP 同步 JSON 命令。WebDriver 客户端有多种语言版本,许多都可从开源 selenium/webdriver 项目获得:http://code.google.com/p/selenium。ChromeDriver 使用来自 net/server 的网络服务器。
它的工作原理的这个基本部分就是为什么google-chrome-stable
它开始出现问题。这也意味着,尽管我以为我正在chromium
与 并排使用,但我可能错误地同时chromedriver
共享了同一个实例。chromium