Robot Framework SeleniumLibrary:设置 Firefox 代理选项
把带有手动 WebDriver 代理能力的 FirefoxOptions 对象传给 SeleniumLibrary 的 Open Browser 关键字。
SeleniumLibrary 的 Open Browser 关键字接受一个 Selenium 选项对象。请在创建 Firefox 会话之前,把手动代理能力设置在该对象上:
*** Settings ***
Library SeleniumLibrary
Test Teardown Close All Browsers
*** Test Cases ***
Open Through Office Proxy
&{route}= Create Dictionary
... proxyType=manual
... httpProxy=proxy.example:8080
... sslProxy=proxy.example:8080
${options}= Evaluate selenium.webdriver.FirefoxOptions() modules=selenium.webdriver
Call Method ${options} set_capability proxy ${route}
Open Browser https://www.example.com/ firefox options=${options}
这项能力为 HTTP 和 HTTPS 分别使用不同的目标字段。当同一个 HTTP 代理既能做普通转发、又能承担所需的 HTTPS 隧道时,两个 host:port 值可以指向它。至于上面展示的公开页面,如果测试允许使用公共中间人且不需要代理账号,可以从 HTTP 代理列表中取一个可用的 HTTP 地址。
options 参数只对本次关键字创建的浏览器生效。把它和测试里的浏览器配置放在一起,会话才会以需要的路由启动。
示例把 Robot 内置的字典、求值和调用方法关键字与 Selenium 的 FirefoxOptions API 搭配使用。请替换示例中的端点与目标地址。如果某个套件已经有浏览器选项,就在传给 Open Browser 之前,把代理能力加到那个已有对象上。