Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用RobotFramework运行BrowserMob代理并捕获HAR文件_Robotframework_Browsermob Proxy - Fatal编程技术网

如何使用RobotFramework运行BrowserMob代理并捕获HAR文件

如何使用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

我已经在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=${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:// 
两个问题:

  • 为什么我的页面没有加载。(如果我删除代理设置,它会工作)

  • 在解决方法之后,如何指定生成HAR文件,以及如何指定HAR文件的位置


  • 上面的代码实际上并不启动代理。要启动代理,需要运行以下命令

    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}