• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • sauce-ondemand-plugin
    • None
    • Jenkins 1.480 running on OpenIndiana 1.5.1a

      When setting up a multi-configuration job, there are no options for mobile browsers (iOS/Android).

          [JENKINS-15261] Mobile browsers not selectable

          Thanks for making 1.24 available; when I configure a jenkins job and select google chrome on any of the OSes, I get 'chrome' instead of 'googlechrome' in the SELENIUM_DRIVER environment variable, which selects the firefox browser. An example:

          sauce-ondemand:?os=Mac 10.6&browser=chrome&browser-version=

          Could you have a look? I am not familiar with jenkins plugins and this codebase; I grepped around in https://github.com/jenkinsci/sauce-ondemand-plugin but can't find where the browser combinations are defined.

          Jan-Jaap Driessen added a comment - Thanks for making 1.24 available; when I configure a jenkins job and select google chrome on any of the OSes, I get 'chrome' instead of 'googlechrome' in the SELENIUM_DRIVER environment variable, which selects the firefox browser. An example: sauce-ondemand:?os=Mac 10.6&browser=chrome&browser-version= Could you have a look? I am not familiar with jenkins plugins and this codebase; I grepped around in https://github.com/jenkinsci/sauce-ondemand-plugin but can't find where the browser combinations are defined.

          Ross Rowe added a comment -

          Hi again, the code which is retrieving the browsers from the Sauce REST API is actually in the ci-sauce project, which is available from https://github.com/saucelabs/ci-sauce (it's reused across the Bamboo/Hudson/Jenkins plugins).

          The browsers are obtained by parsing the output from http://saucelabs.com/rest/v1/info/browsers/webdriver (for WebDriver) and http://saucelabs.com/rest/v1/info/browsers/selenium-rc (for SeleniumRC), and the 'api_name' attribute is used to populate the 'browser' component of the SELENIUM_DRIVER environment variable and it looks like the Chrome browser entries just have 'chrome' as a value, not 'googlechrome'

          I'll check with the Sauce Labs support guys to see whether this is correct or not, and I'll let you know what I find.

          Cheers,

          Ross

          Ross Rowe added a comment - Hi again, the code which is retrieving the browsers from the Sauce REST API is actually in the ci-sauce project, which is available from https://github.com/saucelabs/ci-sauce (it's reused across the Bamboo/Hudson/Jenkins plugins). The browsers are obtained by parsing the output from http://saucelabs.com/rest/v1/info/browsers/webdriver (for WebDriver) and http://saucelabs.com/rest/v1/info/browsers/selenium-rc (for SeleniumRC), and the 'api_name' attribute is used to populate the 'browser' component of the SELENIUM_DRIVER environment variable and it looks like the Chrome browser entries just have 'chrome' as a value, not 'googlechrome' I'll check with the Sauce Labs support guys to see whether this is correct or not, and I'll let you know what I find. Cheers, Ross

          Code changed in jenkins
          User: Ross Rowe
          Path:
          src/main/java/hudson/plugins/sauce_ondemand/BrowserAxis.java
          src/main/java/hudson/plugins/sauce_ondemand/SeleniumRCAxis.java
          src/main/java/hudson/plugins/sauce_ondemand/WebDriverAxis.java
          http://jenkins-ci.org/commit/sauce-ondemand-plugin/044c84ce07c785eeefc131def917936789869e15
          Log:
          JENKINS-15261 Present separate browser axis for SeleniumRC/WebDriver

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Ross Rowe Path: src/main/java/hudson/plugins/sauce_ondemand/BrowserAxis.java src/main/java/hudson/plugins/sauce_ondemand/SeleniumRCAxis.java src/main/java/hudson/plugins/sauce_ondemand/WebDriverAxis.java http://jenkins-ci.org/commit/sauce-ondemand-plugin/044c84ce07c785eeefc131def917936789869e15 Log: JENKINS-15261 Present separate browser axis for SeleniumRC/WebDriver

          Code changed in jenkins
          User: Ross Rowe
          Path:
          src/main/java/hudson/plugins/sauce_ondemand/SauceOnDemandBuildWrapper.java
          http://jenkins-ci.org/commit/sauce-ondemand-plugin/6b11433b56f5772550c436cde454dab70b78c4c0
          Log:
          JENKINS-15261 Present separate browser axis for SeleniumRC/WebDriver

          Compare: https://github.com/jenkinsci/sauce-ondemand-plugin/compare/b52250176d96...6b11433b56f5

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Ross Rowe Path: src/main/java/hudson/plugins/sauce_ondemand/SauceOnDemandBuildWrapper.java http://jenkins-ci.org/commit/sauce-ondemand-plugin/6b11433b56f5772550c436cde454dab70b78c4c0 Log: JENKINS-15261 Present separate browser axis for SeleniumRC/WebDriver Compare: https://github.com/jenkinsci/sauce-ondemand-plugin/compare/b52250176d96...6b11433b56f5

          Ross Rowe added a comment -

          Hi again, I've updated the plugin to present Browser axis for WebDriver and SeleniumRC (Sauce Labs provides two REST API calls to retrieve the supported browsers, and will use 'googlechrome' for SeleniumRC and 'chrome' for WebDriver). This change has been released in verison 1.25 of the plugin, please let me know how this version goes for you.

          Cheers,

          Ross

          Ross Rowe added a comment - Hi again, I've updated the plugin to present Browser axis for WebDriver and SeleniumRC (Sauce Labs provides two REST API calls to retrieve the supported browsers, and will use 'googlechrome' for SeleniumRC and 'chrome' for WebDriver). This change has been released in verison 1.25 of the plugin, please let me know how this version goes for you. Cheers, Ross

          Hi Ross,

          Thanks for looking into this again. I have updated the plugins in my jenkins instance to sauce ondemand 1.25; ci-sauce is now at 1.17. I restarted jenkins more than once after that.

          I am afraid I still have some issues with v1.25 of the plugin:

          I want to run my tests on IE7/8/9, google chrome, safari, and firefox.

          When I configure my tests to be run on the "seleniumrc axis", and select these browsers, I see that the SELENIUM_DRIVER variable is only injected in the environment for "Mac 10.6Safari5", not for any of the other os/browser combinations.

          When I configure the "webdriver axis", the SELENIUM_DRIVER environment variable is available, except for google chrome on all browsers, which still communicates "chrome" to saucelabs, the tests are run on firefox.

          Also, the SELENIUM_API_KEY is no longer injected into the environment, and thus not picked up from the ~/.sauce-ondemand file.

          I have tested these findings on two separate jenkins instances.

          Jan-Jaap Driessen added a comment - Hi Ross, Thanks for looking into this again. I have updated the plugins in my jenkins instance to sauce ondemand 1.25; ci-sauce is now at 1.17. I restarted jenkins more than once after that. I am afraid I still have some issues with v1.25 of the plugin: I want to run my tests on IE7/8/9, google chrome, safari, and firefox. When I configure my tests to be run on the "seleniumrc axis", and select these browsers, I see that the SELENIUM_DRIVER variable is only injected in the environment for "Mac 10.6Safari5", not for any of the other os/browser combinations. When I configure the "webdriver axis", the SELENIUM_DRIVER environment variable is available, except for google chrome on all browsers, which still communicates "chrome" to saucelabs, the tests are run on firefox. Also, the SELENIUM_API_KEY is no longer injected into the environment, and thus not picked up from the ~/.sauce-ondemand file. I have tested these findings on two separate jenkins instances.

          Code changed in jenkins
          User: Ross Rowe
          Path:
          src/main/java/hudson/plugins/sauce_ondemand/BrowserAxis.java
          src/main/java/hudson/plugins/sauce_ondemand/SauceOnDemandBuildWrapper.java
          src/main/java/hudson/plugins/sauce_ondemand/SeleniumRCAxis.java
          src/main/java/hudson/plugins/sauce_ondemand/WebDriverAxis.java
          http://jenkins-ci.org/commit/sauce-ondemand-plugin/e5ebf30a450010980956179da148e0d40cb50999
          Log:
          JENKINS-15261 Lookup SeleniumRC browsers from correct list. Fixed typo which was causing SELENIUM_API_KEY variable to not be set

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Ross Rowe Path: src/main/java/hudson/plugins/sauce_ondemand/BrowserAxis.java src/main/java/hudson/plugins/sauce_ondemand/SauceOnDemandBuildWrapper.java src/main/java/hudson/plugins/sauce_ondemand/SeleniumRCAxis.java src/main/java/hudson/plugins/sauce_ondemand/WebDriverAxis.java http://jenkins-ci.org/commit/sauce-ondemand-plugin/e5ebf30a450010980956179da148e0d40cb50999 Log: JENKINS-15261 Lookup SeleniumRC browsers from correct list. Fixed typo which was causing SELENIUM_API_KEY variable to not be set

          Ross Rowe added a comment -

          Hi again, sorry about that, I've released version 1.26 which should resolve both issues, please let me know how it goes.

          Cheers,

          Ross

          Ross Rowe added a comment - Hi again, sorry about that, I've released version 1.26 which should resolve both issues, please let me know how it goes. Cheers, Ross

          1.26 works like a charm!

          Jan-Jaap Driessen added a comment - 1.26 works like a charm!

          In 1.26, selecting google chrome works and the API_KEY environment value works again.

          Jan-Jaap Driessen added a comment - In 1.26, selecting google chrome works and the API_KEY environment value works again.

            rossrowe Ross Rowe
            jaysonraymond Jayson Raymond
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: