2016-11-21 6 views
1

こんにちは私は、すべてのリダイレクトが発生したときにそれを捕まえたいと思います。 最初にexample.comに行き、example1.comにリダイレクトしてからexample3.comにします。watir webdriver browsermob/proxy harファイルがほとんど空です

私は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 

、これは私がexmple2.comとHARファイル多くを与えていないにexample1.com上記のようなリダイレクトしてみました

{"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":""}} 

得るものです

OKここにいくつかのテスト結果::(

は、ここで私は、予め形成いくつかのテストがあります: Firefoxの49 2.0.0は、すべての

のFirefox 47点の2.1.2作品では動作しません。すべてのFirefox 48 2.1.2で動作しないすべての のFirefox 49 2.1.2で動作しませんが、HARです小さな Firefoxの47 2.0.0は、HARファイルは、Firefox 47 2.1.0は、Harは2.1.1作品のFirefox 47 大きな真ん中であり、それは

は、それから私は、Firefox 46でも試験と同じ結果を得た最大のある作品 大きいです動作します。 ...

私は同じコードでリダイレクトを取得していますが、今度はそれを得ることができます:(

答えて

0

Browsermobを介してWebDriver :: Proxyを作成しようとしましたか?

また

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

は、BrowsermobProxy自体は通常9090上で動作しますので、あなたは上記のコードを使用する場合は、ポートを指定する必要はありません9090上でプロキシを作成しようとしたとき、私は、ポートの衝突を期待しているだろう。

@@proxy = server.create_proxy 
関連する問題