我需要在Fitnesse中为Chrome浏览器设置代理,以便浏览器可以打开某些网站。
是否可以在Fitnesse中初始化硒网格时添加它?
是否还可以向其中添加用户名和密码?
在下面添加Fitnessf代码:我使用的是硒鼓集线器
|Import |
|nl.hsac.fitnesse.fixture.slim.web|
!define GRID_HUB {http://remote-selenium.local:4444/wd/hub}
|script |selenium driver setup |
|connect to driver at |${GRID_HUB} |with capabilities|!{browserName:chrome} |
我需要将代理对象传递给它。我该怎么办?
Java中类似的代码是:
String nodeUrl = "http://remote-selenium.local:4444/wd/hub";
Proxy proxy = new Proxy();
proxy.setHttpProxy("proxy:8080");
proxy.setSslProxy("proxy:8080");
ChromeOptions options = new ChromeOptions();
options.setCapability("proxy",proxy);
RemoteWebDriver driver = new RemoteWebDriver(new URL(nodeUrl),options);
如何在Fitnesse中实现这一目标?
答案 0 :(得分:0)
我不得不承认,我从未使用过代理,但是一些谷歌搜索建议您还应该能够使用通用的chrome.switches
功能(将它们作为命令行选项传递)来配置代理。这些选项的描述如下:https://www.chromium.org/developers/design-documents/network-settings
所以这会给你类似的东西
|script |map fixture |
|set value |chrome |for|browserName |
|set value |--proxy-server="http=http://proxy:8080/;https=http://proxy:8080/"|for|chrome.switches[0]|
|$chromeCapabilities=|copy map |
!define GRID_HUB {http://remote-selenium.local:4444/wd/hub}
|script |selenium driver setup |
|connect to driver at|${GRID_HUB}|with capabilities|$chromeCapabilities|
您可以通过添加chrome.switches[1]
,chrome.switches[2]
等行设置值来添加更多元素。
例如:
|set value |--proxy-bypass-list="*.google.com;127.0.0.1:8080"|for|chrome.switches[1]|
不代理对任何google.com子域的请求或对127.0.0.1端口8080的请求。
不使用远程Chrome时(例如,使用|start driver for|chrome|
启动chrome),您可以将命令行参数作为配置文件传递。这还应该允许代理设置。例如,看到hsac-fitnesse-fixture's BrowserTest.SuiteSetUp传递了命令行选项以使Chrome以无头模式运行。