如何使用RobotFramework运行BrowserMob代理并捕获HAR文件
我已经在robotframework中编写了这段代码如何使用RobotFramework运行BrowserMob代理并捕获HAR文件,robotframework,browsermob-proxy,Robotframework,Browsermob Proxy,我已经在robotframework中编写了这段代码 ${proxy}= | Evaluate | sys.modules['selenium.webdriver'].Proxy() sys, selenium.webdriver | ${proxy.http_proxy}= | Set Variable | 127.0.0.1:8080 | Create Webdriver | Firefox proxy=${prox
${proxy}= | Evaluate | sys.modules['selenium.webdriver'].Proxy() sys, selenium.webdriver |
${proxy.http_proxy}= | Set Variable | 127.0.0.1:8080 |
Create Webdriver | Firefox proxy=${proxy} |
Go To | http://www.knowledgefarm.in/tst/a.html |
我从命令行运行BrowserMob代理,如下所示:
browsermob-proxy.bat --address 127.0.0.1 --port 8080
现在,当我运行robotframework时,它会打开浏览器并在页面上简单地给出此消息
HTTP ERROR: 404
Problem accessing /tst/a.html. Reason:
Not Found
Powered by Jetty://
两个问题:
上面的代码实际上并不启动代理。要启动代理,需要运行以下命令
Create | http context | localhost:8080 | http
Post | /proxy
${json} | Get Response Body
${port} | Get Json Value | ${json} | /port
${proxy}= | Evaluate | sys.modules['selenium.webdriver'].Proxy() | sys,selenium.webdriver
${proxy.http_proxy}= | Set Variable | 127.0.0.1:${port}
Create Webdriver | Firefox | proxy=${proxy}
Go To | ${LOGIN URL}
Set Request Body | pageRef=LOGIN&captureContent=false&captureHeaders=true
PUT | /proxy/${port}/har
${json} | HttpLibrary.HTTP.Get Response Body
OperatingSystem.Create File | D:\\myfile.har | ${json}