Module: TestNow
- Defined in:
- lib/testnow.rb,
lib/testnow/opera.rb,
lib/testnow/chrome.rb,
lib/testnow/android.rb,
lib/testnow/firefox.rb,
lib/testnow/android_chrome.rb,
lib/testnow/internet_explorer.rb
Instance Method Summary collapse
- #get_binary_path ⇒ Object
- #get_tmp_dir ⇒ Object
- #init ⇒ Object
- #launch_driver_android ⇒ Object
- #launch_driver_android_chrome ⇒ Object
-
#launch_driver_chrome ⇒ Object
Chrome Browser.
-
#launch_driver_firefox ⇒ Object
Firefox browser.
- #launch_driver_ie ⇒ Object
-
#launch_driver_opera ⇒ Object
Opera browser.
Instance Method Details
#get_binary_path ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/testnow/opera.rb', line 19 def get_binary_path case RUBY_PLATFORM when /mswin|msys|mingw|cygwin|bccwin|wince|emc/ return "NEED TO FIND WINDOWS BINARY LOCATION" when /darwin|mac os/ return "/Applications/Opera.app/Contents/MacOS/Opera" else return "/usr/bin/opera" end end |
#get_tmp_dir ⇒ Object
30 31 32 33 34 35 36 37 38 39 |
# File 'lib/testnow/firefox.rb', line 30 def get_tmp_dir case RUBY_PLATFORM when /mswin|msys|mingw|cygwin|bccwin|wince|emc/ return `echo %TEMP%` when /darwin|mac os/ return "/tmp/" else return "/tmp/" end end |
#init ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/testnow.rb', line 11 def init ENV['BROWSER'] = "firefox" if ENV['BROWSER'].nil? case ENV['BROWSER'].downcase when "chrome" TestNow.launch_driver_chrome when "android" TestNow.launch_driver_android when "opera" TestNow.launch_driver_opera when "androidchrome" TestNow.launch_driver_android_chrome when "ie" TestNow.launch_driver_ie else TestNow.launch_driver_firefox end end |
#launch_driver_android ⇒ Object
3 4 5 6 |
# File 'lib/testnow/android.rb', line 3 def launch_driver_android @driver = Selenium::WebDriver.for :remote, :desired_capabilities => :android @driver end |
#launch_driver_android_chrome ⇒ Object
3 4 5 6 7 8 9 10 |
# File 'lib/testnow/android_chrome.rb', line 3 def launch_driver_android_chrome client = Selenium::WebDriver::Remote::Http::Default.new client.timeout = 120 caps = {'chromeOptions'=> {'androidPackage' => 'com.android.chrome'}} @driver = Selenium::WebDriver.for(:remote, :http_client => client, :url => "http://localhost:9515", :desired_capabilities => caps) @driver.manage.timeouts.implicit_wait = 60 @driver end |
#launch_driver_chrome ⇒ Object
Chrome Browser
5 6 7 8 9 10 11 |
# File 'lib/testnow/chrome.rb', line 5 def launch_driver_chrome @driver = Selenium::WebDriver.for :chrome @driver.manage.timeouts.implicit_wait = 30 @driver.manage.timeouts.page_load = 120 @driver.manage.window.maximize return @driver end |
#launch_driver_firefox ⇒ Object
Firefox browser
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/testnow/firefox.rb', line 4 def launch_driver_firefox ENV['IS_UPA'] = "false" if ENV['IS_UPA'].nil? if ENV['IS_UPA']=="true" ENV['HAR_DIR'] = get_tmp_dir if ENV['HAR_DIR'].nil? profile = Selenium::WebDriver::Firefox::Profile.new profile.add_extension("./data/firebug-2.0.13.xpi") profile.add_extension("./data/netExport-0.8.xpi") profile['extensions.firebug.currentVersion'] = "2.0.13" profile['extensions.firebug.allPagesActivation'] = "on" profile['extensions.firebug.defaultPanelName'] = "net" profile['extensions.firebug.net.enableSites'] = "true" profile['extensions.firebug.netexport.alwaysEnableAutoExport'] = "true" profile['extensions.firebug.netexport.showPreview'] = "false" profile['extensions.firebug.netexport.defaultLogDir'] = ENV['HAR_DIR'].to_s profile['extensions.firebug.netexport.defaultFileName'] = "upaReport.har" profile['extensions.firebug.netexport.jsonpCallback'] = "jsonCallback" @driver = Selenium::WebDriver.for :firefox, :profile => profile else @driver = Selenium::WebDriver.for :firefox end @driver.manage.timeouts.implicit_wait = 30 @driver.manage.timeouts.page_load = 120 @driver.manage.window.maximize @driver end |
#launch_driver_ie ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/testnow/internet_explorer.rb', line 3 def launch_driver_ie client = Selenium::WebDriver::Remote::Http::Default.new client.timeout = 120 caps = Selenium::WebDriver::Remote::Capabilities.ie('ie.ensureCleanSession' => true, :javascript_enabled => true, :http_client => client, :native_events => false, :acceptSslCerts => true) @driver = Selenium::WebDriver.for(:ie, :desired_capabilities => caps) @driver.manage.timeouts.implicit_wait = 90 @driver.manage.timeouts.page_load = 120 if ENV['RESOLUTION'].nil? @driver.manage.window.size = Selenium::WebDriver::Dimension.new(1366,768) elsif ENV['RESOLUTION'].downcase == "max" @driver.manage.window.maximize else res = ENV['RESOLUTION'].split('x') @driver.manage.window.size = Selenium::WebDriver::Dimension.new(res.first.to_i, res.last.to_i) end @driver end |
#launch_driver_opera ⇒ Object
Opera browser
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/testnow/opera.rb', line 5 def launch_driver_opera client = Selenium::WebDriver::Remote::Http::Default.new client.timeout = 180 # seconds service = Selenium::WebDriver::Chrome::Service.new("/usr/local/bin/operadriver", 48923) service.start cap = Selenium::WebDriver::Remote::Capabilities.chrome('operaOptions' => {'binary' => "#{get_binary_path}", 'args' => ["--ignore-certificate-errors"]}) @driver = Selenium::WebDriver.for(:remote, :url => service.uri, :desired_capabilities => cap, :http_client => client) @driver.manage.timeouts.implicit_wait = 30 @driver.manage.window.maximize @driver.manage.timeouts.page_load = 120 return @driver end |