[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