LoginSignup
4
4

More than 5 years have passed since last update.

PoltergeistでE2Eテストを行う時、JSでrefererはとれるのか

Posted at

結論

とれなかったです(2015年2月23日現在 poltergeist 1.6.0)

こうすればとれるよなどありましたらコメントいただけると嬉しいです、、

試したこと

poltergesitのsessionにrefererを追加してみる

UserAgent

page.driver.headers = { referer: 'http://www.google.co.jp/' }
page.driver.headers
=> {:referer=>"http://www.google.co.jp/"}
visit root_path
evaluate_script('document.referrer')
=> ""

とれない…。

JSで referrerを書き換えてみた

evaluate_script("window.document.__defineGetter__('referrer', function () { return http://www.google.co.jp/'; });")
evaluate_script('document.referrer')
=> ""
evaluate_script('Object.defineProperty(document, "referrer", {get : function(){ return "http://www.google.co.jp/"; });')
evaluate_script('document.referrer')
=> ""

とれない…。

参考URL:Try to overwrite window.document.referrer from within phantomjs / onInitialized

cookieもUAもとれるのに…

page.driver.set_cookie('hoge', 'fuga')
evaluate_script('document.cookie')

UserAgentもheaderに追加すれば正しくとれる…

evaluate_script('window.navigator.userAgent')
=> "Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25"

(´;ω;`)ウッ…

4
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4