Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/179049

Change subject: Remote browser factory fixes
......................................................................

Remote browser factory fixes

Fixed support for remote browser configuration.

Fixed annotation of sauce jobs with Jenkins info and teardown.

Change-Id: Ic3e958cd304ccd55f9d9b3bcfb3a5633ba0eeb49
---
M lib/mediawiki_selenium/remote_browser_factory.rb
M lib/mediawiki_selenium/support/hooks.rb
2 files changed, 25 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/selenium 
refs/changes/49/179049/1

diff --git a/lib/mediawiki_selenium/remote_browser_factory.rb 
b/lib/mediawiki_selenium/remote_browser_factory.rb
index 6e0de90..28a3a33 100644
--- a/lib/mediawiki_selenium/remote_browser_factory.rb
+++ b/lib/mediawiki_selenium/remote_browser_factory.rb
@@ -39,10 +39,10 @@
 
     # Submits status and Jenkins build info to Sauce Labs.
     #
-    def teardown_for(env, status)
+    def teardown(env, status)
       each do |browser|
         sid = browser.driver.session_id
-        url = URI.parse(browser.driver.http.server_url)
+        url = browser.driver.send(:bridge).http.send(:server_url)
         username = url.user
         key = url.password
 
@@ -55,7 +55,7 @@
           payload: {
             public: true,
             passed: status == :passed,
-            build: env.lookup(:build_number),
+            build: env.lookup(:build_number, default: nil),
           }.to_json
         )
       end
@@ -63,6 +63,17 @@
 
     protected
 
+    def finalize_options!(options)
+      case @browser_name
+      when :firefox
+        options[:desired_capabilities][:firefox_profile] = 
options.delete(:profile)
+      when :chrome
+        options[:desired_capabilities]["chromeOptions"] ||= {}
+        options[:desired_capabilities]["chromeOptions"]["prefs"] = 
options.delete(:prefs)
+        options[:desired_capabilities]["chromeOptions"]["args"] = 
options.delete(:args)
+      end
+    end
+
     def new_browser(options)
       Watir::Browser.new(:remote, options).tap do |browser|
         browser.driver.file_detector = lambda do |args|
diff --git a/lib/mediawiki_selenium/support/hooks.rb 
b/lib/mediawiki_selenium/support/hooks.rb
index 76dc907..d0d7441 100644
--- a/lib/mediawiki_selenium/support/hooks.rb
+++ b/lib/mediawiki_selenium/support/hooks.rb
@@ -65,9 +65,17 @@
   # Create a unique random string for this scenario
   @random_string = Random.new.rand.to_s
 
-  # Annotate sessions with Jenkins build info
-  browser_factory.bind(:job_name, :build_number) do |job, build, options|
-    options[:desired_capabilities][:name] = "#{test_name(scenario)} 
#{job}##{build}"
+  # Annotate sessions with the scenario name and Jenkins build info
+  browser_factory.bind do |options|
+    options[:desired_capabilities][:name] = test_name(scenario)
+  end
+
+  browser_factory.bind(:job_name) do |job, options|
+    options[:desired_capabilities][:name] += " #{job}"
+  end
+
+  browser_factory.bind(:build_number) do |build, options|
+    options[:desired_capabilities][:name] += "##{build}"
   end
 end
 

-- 
To view, visit https://gerrit.wikimedia.org/r/179049
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic3e958cd304ccd55f9d9b3bcfb3a5633ba0eeb49
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/selenium
Gerrit-Branch: env-abstraction-layer
Gerrit-Owner: Dduvall <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to