watir webdriver browsermob / proxy har文件几乎是空的

时间:2016-11-21 22:41:56

标签: ruby watir-webdriver browsermob-proxy

您好我希望在发生时捕获所有重定向。 让我们首先说它转到example.com然后重定向到example1.com然后再发送到example3.com

我正在使用watir webdriver和browsermob / proxy。 我尝试使用google.com,但没有重定向,但是har文件应该比我得到的更多。

hier是代码:

server = BrowserMob::Proxy::Server.new("/home/da/Downloads/browsermob-proxy-2.0.0/bin/browsermob-proxy") #=> #<BrowserMob::Proxy::Server:0x000001022c6ea8 ...>
        server.start
  @@proxy = server.create_proxy(9090)
        puts @@proxy.inspect
  profile = Selenium::WebDriver::Firefox::Profile.new
        puts "going on #{dv}"
  profile['general.useragent.override'] = dv['useragent']
        #'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:27.0) Gecko/20100101 Firefox/27.0'#device['useragent']
  puts dv['useragent']
  profile.proxy = Selenium::WebDriver::Proxy.new :http => 'localhost:9090', :ssl => 'localhost:9090'#9091
  time = Time.now.to_i #Time.now.getutc
  puts APP_ROOT
  @@proxy.new_har time
  @@b = Watir::Browser.new :firefox, :profile => profile
        @@har = @@proxy.har #=> #<HAR::Archive:0x-27066c42d7e75fa6>
        #har.entries.first.request.url
        #har.entries.first.request.url #=> "http://google.com"
        @@b.goto "google.com"
        puts @@har.inspect
        @@har.save_to "#{APP_ROOT}/har/google.har"
        exit

这就是我得到的

{"log":{"version":"1.2","creator":{"name":"BrowserMob Proxy","version":"2.0","comment":""},"browser":{"name":"IE","version":"11.0","comment":""},"pages":[{"id":"1479767515","startedDateTime":"2016-11-21T23:31:56.561+01:00","title":"","pageTimings":{"comment":""},"comment":""}],"entries":[{"pageref":"1479767515","startedDateTime":"2016-11-21T23:32:02.146+01:00","request":{"method":"GET","url":"https://tiles.services.mozilla.com/v3/links/fetch/en-US/release","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"queryString":[],"headersSize":370,"bodySize":0,"comment":""},"response":{"status":303,"statusText":"SEE OTHER","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"content":{"size":0,"mimeType":"text/html; charset=utf-8","comment":""},"redirectURL":"","headersSize":266,"bodySize":0,"comment":""},"cache":{},"timings":{"blocked":101,"dns":266,"connect":238,"send":1,"wait":205,"receive":832,"ssl":0,"comment":""},"serverIPAddress":"52.32.150.180","comment":"","time":1643},{"pageref":"1479767515","startedDateTime":"2016-11-21T23:32:02.791+01:00","request":{"method":"POST","url":"https://location.services.mozilla.com/v1/country?key=7e40f68c-7938-4c5d-9f95-e61647c213eb","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"queryString":[{"name":"key","value":"7e40f68c-7938-4c5d-9f95-e61647c213eb"}],"headersSize":419,"bodySize":2,"comment":""},"response":{"status":200,"statusText":"OK","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"content":{"size":49,"mimeType":"application/json; charset=UTF-8","comment":""},"redirectURL":"","headersSize":227,"bodySize":49,"comment":""},"cache":{},"timings":{"blocked":0,"dns":9,"connect":45,"send":17,"wait":60,"receive":511,"ssl":0,"comment":""},"serverIPAddress":"52.19.86.22","comment":"","time":642}],"comment":""}}

我尝试使用上面提到的example1.com重定向到exmple2.com并且har文件没有提供太多:(

这是我做过的一些测试:

这里有一些测试结果: firefox 49 2.0.0根本不起作用 firefox 49 2.1.2根本不工作 firefox 48 2.1.2根本不工作

firefox 47 2.1.2工作但是很小 firefox 47 2.0.0工作har文件更大 firefox 47 2.1.0工作har是中等大 firefox 47 2.1.1作品,它是最大的

然后我也测试了firefox 46并得到了相同的结果......

我记得几年前我也得到了相同代码的重定向,现在可以得到它:(

1 个答案:

答案 0 :(得分:1)

您是否尝试过通过Browsermob创建WebDriver :: Proxy。

e.g。

profile.proxy = @@proxy.selenium_proxy :http, :ssl

此外,BrowsermobProxy本身通常在9090上运行,所以当您尝试在9090上创建代理时,我原本期望发生端口冲突。如果您使用上面的代码,则无需指定端口。

e.g。

@@proxy = server.create_proxy