如何为Selenium的WebDriver设置HTTPS代理?

12

我正在尝试使用Protractor进行自动化JavaScript测试。这意味着要遵循以下说明:

http://www.ng-newsletter.com/posts/practical-protractor.html
npm install -g protractor

完成得很好。但是:

webdriver-manager update

在工作中我无法绕过代理。显然,现在可以在配置文件中设置代理,但我不知道该如何操作:https://github.com/angular/protractor/pull/966

基本上,我需要设置 'env.HTTPS_PROXY',但我不知道在哪里可以这样做?我能看到我可能可以编辑webdriver-manager文件来解决此问题,但那似乎是不正确的。

注意:我尝试手动安装这些文件(从webdriver-manager update),并将它们复制到预期位置,但JAR文件变得损坏。

3个回答

19

我刚刚发现它现在已配置支持--proxy="<proxy>"作为参数,问题解决。

对于这个我还需要使用--ignore_ssl


这对我有用。只是要澄清的是,"<proxy>" 应该是代理的完全限定名称,例如 "http://myproxyserver.domain.com:port"。请注意 "http"。 - hkong
1
你能具体一点并展示完整的命令吗?此外,它支持身份验证吗? - Choco
我不确定认证方面的问题。如果您指的是应用程序认证,那么您可以使用Selenium输入详细信息并在运行测试之前登录应用程序。 - trees_are_great
在我的情况下没有起作用。@Cassian的答案解决了这个问题。也许这是由于curl在运行更新时无法连接到更新服务器。curl知道从环境变量http_proxy/https_proxy中获取代理设置。 - Vladimir Dmi

17

在命令提示符中

set PROXY=http://username:password@proxyserver:port
set HTTP_PROXY=%PROXY%
set HTTPS_PROXY=%PROXY% 
webdriver-manager update

或者前往文件.npmrc,通常在 C:\Users\username.npmrc 中(如果不在,请使用命令 npm config ls -l | grep config 进行搜索),并通过手动键入来设置代理变量。

proxy=http://username:password@proxyserver:port
https-proxy=http://username:password@proxyserver:port

第三种方法是创建两个系统环境变量HTTP_PROXY和HTTPS_PROXY,其值为http://username:password@proxyserver:port


在 .npmrc 中设置代理对我没用(然而通常情况下,npm 可以使用那里指定的代理访问网络)。在 cmd 或 env 变量中设置 PROXY/HTTP_PROXY/HTTPS_PROXY 的代理效果很好(适用于 Windows 7)! - Vladimir Dmi

0
webdriver-manager update 

对我来说,当我从代理切换到无代理的网络,并从显示的URL下载文件夹并将其粘贴在指定位置时,它起作用了

\testApp>webdriver-manager update [16:20:02] I/update - chromedriver: file exists C:\Program Files\nodejs\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.41.zip [16:20:02] I/update - chromedriver: unzipping chromedriver_2.41.zip [16:20:02] I/update - chromedriver: chromedriver_2.41.exe 最新版本 [16:20:03] I/update - selenium standalone: file exists C:\Program Files\nodejs\node_modules\protractor\node_modules\webdriver-manager\selenium\selenium-server-standalone-3.14.0.jar [16:20:03] I/update - selenium standalone: selenium-server-standalone-3.14.0.jar 最新版本 [16:20:08] I/downloader - curl -oC:\Program Files\nodejs\node_modules\protractor\node_modules\webdriver-manager\selenium/geckodriver-v0.21.0.zip https://github.com/mozilla/geckodriver/releases/download/v0.21.0/geckodriver-v0.21.0-win64.zip


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接