[Toaster] [PATCH 2/2] toaster-tests: define capabilities for latest Firefox driver

Smith, Elliot elliot.smith at intel.com
Fri Jun 17 06:21:56 PDT 2016


Surely setting the capabilities to marionette=true will not make a
difference with older versions of Firefox? I tried setting a spurious
capability with Firefox 47 and it was just ignored; I assumed that the
'marionette' capability would equally be ignored by older Firefoxes.

I can get an older version of Firefox and test this assumption if you think
it's critical.

Elliot

On 17 June 2016 at 12:16, Michael Wood <michael.g.wood at intel.com> wrote:

> On 17/06/16 10:41, Elliot Smith wrote:
>
>> The Firefox 47 WebDriver requires a download of a separate binary
>> and an additional capability to be defined on the driver.
>>
>> Modify our tests so that when Firefox 47 is set as the browser
>> for the tests, this capability is defined. Also add a note to the
>> README about the additional installation steps required.
>>
>> Signed-off-by: Elliot Smith <elliot.smith at intel.com>
>> ---
>>   bitbake/lib/toaster/tests/browser/README              | 9 ++++++++-
>>   bitbake/lib/toaster/tests/browser/selenium_helpers.py | 5 ++++-
>>   2 files changed, 12 insertions(+), 2 deletions(-)
>>
>> diff --git a/bitbake/lib/toaster/tests/browser/README
>> b/bitbake/lib/toaster/tests/browser/README
>> index f57154e..43e14c5 100644
>> --- a/bitbake/lib/toaster/tests/browser/README
>> +++ b/bitbake/lib/toaster/tests/browser/README
>> @@ -24,7 +24,14 @@ To run tests against PhantomJS (headless):
>>   * On *nix systems, put phantomjs on PATH
>>   * Not tested on Windows
>>   -Firefox should work without requiring additional software to be
>> installed.
>> +To run tests against Firefox:
>> +
>> +* Firefox versions 46 or earlier should work without requiring additional
>> +software to be installed.
>> +* Firefox version 47 requires manual installation of the Marionette
>> driver;
>> +see
>> https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver.
>> +Ensure that the Marionette executable (wires on Linux, wires.exe on
>> Windows)
>> +is on your PATH.
>>     The test case will instantiate a Selenium driver set by the
>>   TOASTER_TESTS_BROWSER environment variable, or Chrome if this is not
>> specified.
>> diff --git a/bitbake/lib/toaster/tests/browser/selenium_helpers.py
>> b/bitbake/lib/toaster/tests/browser/selenium_helpers.py
>> index 54db2e8..f3bb1a3 100644
>> --- a/bitbake/lib/toaster/tests/browser/selenium_helpers.py
>> +++ b/bitbake/lib/toaster/tests/browser/selenium_helpers.py
>> @@ -34,6 +34,7 @@ import time
>>   from django.contrib.staticfiles.testing import StaticLiveServerTestCase
>>   from selenium import webdriver
>>   from selenium.webdriver.support.ui import WebDriverWait
>> +from selenium.webdriver.common.desired_capabilities import
>> DesiredCapabilities
>>   from selenium.common.exceptions import NoSuchElementException, \
>>           StaleElementReferenceException, TimeoutException
>>   @@ -48,7 +49,9 @@ def create_selenium_driver(browser='chrome'):
>>               service_args=["--verbose", "--log-path=selenium.log"]
>>           )
>>       elif browser == 'firefox':
>> -        return webdriver.Firefox()
>> +        capabilities = DesiredCapabilities.FIREFOX
>> +        capabilities['marionette'] = True
>> +        return webdriver.Firefox(capabilities=capabilities)
>>
>
> This will force the use of the marionette/geckodriver/wires for all
> versions of firefox (apparently it works with v45 onwards) too so, either
> we need to switch those capabilities depending on the version of firefox we
> find or we will need to clarify that you'll always need this external
> driver.
>
>
>       elif browser == 'ie':
>>           return webdriver.Ie()
>>       elif browser == 'phantomjs':
>>
>
> --
> _______________________________________________
> toaster mailing list
> toaster at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/toaster
>



-- 
Elliot Smith
Software Engineer
Intel Open Source Technology Centre
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/toaster/attachments/20160617/a9153703/attachment.html>


More information about the toaster mailing list