1

我正在尝试在我的 Angular 项目中使用量角器进行 e2e 测试。我之前在我的路径中安装了 selenium 服务器和 chromedriver,它适用于非角度项目。我无权访问 googleapis 或 webdriver-manager 所需的任何备用 cdn。

如何以任何方式运行不涉及 webdriver-manager 的量角器测试?我想使用我在全球范围内安装的工具。这是一种可能吗?

当我尝试运行时,ng e2e我收到错误:Error message: Could not find update-config.json. Run 'webdriver-manager update' to download binaries.

当我尝试运行时,webdriver-manager update我得到一个 http 403。

在我的protractor.conf.js文件中,我有 directConnect: true 和 capabilities.browserName: 'chrome'

我希望通过使用 directConnect 它只会在我的路径中找到 chromedriver,但事实并非如此。过去我会使用 selenium-webdriver npm 模块来启动 chrome 驱动程序的实例。

4

3 回答 3

2

从https://www.seleniumhq.org/download/下载最新的 selenium 独立服务器和 chromedriver

创建批处理文件

java -Dselenium.LOGGER.level=WARNING -Dwebdriver.chrome.driver="C:/Program Files (x86)/Selenium/WebDrivers/ChromeDrivers/2.38/chromedriver.exe" -jar selenium-server-standalone-3.4.0.jar -port 4444

指定端口、Chromedriver 位置和日志级别。

只需运行批处理文件,现在您就可以运行 selenium 服务器了。

在您的配置文件中提及 Selenium 地址127.0.0.1:4444localhost

于 2018-11-18T07:14:57.340 回答
2

您可以使用 ng cli option:webdriver-update使其不执行 webdriver update,如下所示:

ng e2e --webdriver-update=false

但是ng e2e在本地包中使用webdriver而不是全局包,我认为你需要一个npm脚本来复制你预先准备好的webdriver到项目本地包,然后再执行ng e2e --webdriver-update=false

于 2018-11-19T02:08:19.040 回答
1

我认为最好的方法是选择硒网格(Dockerized SeleniumJar based grid。其他选项是

directConnect: true 

在量角器配置文件中。

于 2018-11-17T13:04:07.853 回答