我想知道当前的用户代理。我已经使用selenium2与ruby
我已经在env.rb中设置了user-agent
Capybara.default_driver = :selenium
Capybara.register_driver :selenium do |app|
profile = Selenium::WebDriver::Firefox::Profile.new
profile['general.useragent.override'] = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7"
Capybara::Selenium::Driver.new(app, {:browser => :firefox, :profile => profile})
end
当运行黄瓜测试用例打开FireFox Browser
和我没有看到iphone。所以我想检查测试用例是运行在iphone模式(用户代理)。我该怎么做呢?
$ irb
2.3.3 :001 > require 'selenium-webdriver'
=> true
2.3.3 :002 > d = Selenium::WebDriver.for(:chrome)
=> #<Selenium::WebDriver::Driver:0x..fcc762e239318ca30 browser=:chrome>
2.3.3 :003 > d.execute_script('return navigator.userAgent')
=> "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36"
2.3.3 :004 > d.quit
=> nil
2.3.3 :005 >
$
如果你想检查你的浏览器是在Iphone模式下打开的,所以你从你的测试用例中访问"http://google.com",你会看到网页是以移动模式打开的。因此,您可以证明您已经设置了适当的用户代理。
试试这个:-
page.driver.browser.browser
=>
:firefox