代理:机器人框架和Firefox

时间:2018-07-12 09:25:14

标签: python python-3.x robotframework selenium2library

我正在尝试使用LocalHost和端口8080的代理。 我已经在Robot Framework中编写了以下代码,但是浏览器打开后IP不会改变:

*** Settings ***
Documentation           This is a simple test with Robot Framework
Library                 Selenium2Library


*** Variables ***
${SERVER}                   http:/demo.testfire.net
${BROWSER}                  firefox
${DELAY}                    0



*** Keywords ***

Open Browser To Demo       
${proxy}=      Evaluate     sys.modules['selenium.webdriver'].Proxy()  sys, selenium.webdriver
${proxy.http_proxy}=         Set Variable  localhost:8080
Create Webdriver  Firefox       proxy=${proxy}
Go To  ${Server}


*** Test Cases ***
Valid Login
    Open Browser To Demo

任何人都可以对此进行修复,以便在不使用Firefox配置文件的情况下将Firefox中的IP地址更改为 127.0.0.1 吗?

1 个答案:

答案 0 :(得分:0)

Selenium2Library 文档中的示例代码也不适用于我,因此我编写了此代码以使用代理启动 firefox,而无需设置全新的配置文件。

*** Settings ***
Library  Collections

*** Keywords ***
Open firefox browser with proxy  
    ${caps}=  Evaluate  sys.modules['selenium.webdriver'].DesiredCapabilities.FIREFOX  sys, selenium.webdriver
    ${proxy}=  Create dictionary  proxyType=MANUAL  httpProxy=YOUR-PROXY-URL:PORT
    Set to dictionary  ${caps}  proxy=${proxy}
    Open Browser  browser=headlessfirefox  desired_capabilities=${caps}