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

Smith, Elliot elliot.smith at intel.com
Thu Jul 21 09:20:02 UTC 2016


On 20 July 2016 at 16:55, Michael Wood <michael.g.wood at intel.com> wrote:

> On 17/06/16 18:52, Michael Wood wrote:
>
>> From: Elliot Smith <elliot.smith at intel.com>
>>
>> For the latest Firefox versions, WebDriver requires a download of a
>> separate binary and an additional capability to be defined on it.
>>
>> Modify our tests so that when "marionette" is set as the browser,
>> this capability is defined on the Firefox driver. Also add a note to the
>> README about the additional installation steps required.
>>
>
Note that I resubmitted a rebased version of these patches, as changes on
toaster-next mean that this version won't apply.

Elliot



>
>> Signed-off-by: Elliot Smith <elliot.smith at intel.com>
>> Signed-off-by: Michael Wood <michael.g.wood at intel.com>
>> ---
>>   lib/toaster/tests/browser/README              | 19 +++++++++++++++++--
>>   lib/toaster/tests/browser/selenium_helpers.py |  5 +++++
>>   2 files changed, 22 insertions(+), 2 deletions(-)
>>
>> diff --git a/lib/toaster/tests/browser/README
>> b/lib/toaster/tests/browser/README
>> index f57154e..969f06c 100644
>> --- a/lib/toaster/tests/browser/README
>> +++ b/lib/toaster/tests/browser/README
>> @@ -24,15 +24,30 @@ 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, you may need to install the Marionette
>> driver,
>> +depending on how new your version of Firefox is. One clue that you need
>> to do
>> +this is if you see an exception like:
>>   -The test case will instantiate a Selenium driver set by the
>> +  selenium.common.exceptions.WebDriverException: Message: The browser
>> +  appears to have exited before we could connect. If you specified
>> +  a log_file in the FirefoxBinary constructor, check it for details.
>> +
>> +See
>> https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver
>> +for installation instructions. Ensure that the Marionette executable
>> (renamed
>> +as wires on Linux or wires.exe on Windows) is on your PATH; and use
>> "marionette"
>> +as the browser string passed via TOASTER_TESTS_BROWSER (see below).
>> +
>> +(Note: The Toaster tests have been checked against Firefox 47 with the
>> +Marionette driver.)
>> +
>> +The test cases will instantiate a Selenium driver set by the
>>   TOASTER_TESTS_BROWSER environment variable, or Chrome if this is not
>> specified.
>>     Available drivers:
>>     * chrome (default)
>>   * firefox
>> +* marionette (for newer Firefoxes)
>>   * ie
>>   * phantomjs
>>   diff --git a/lib/toaster/tests/browser/selenium_helpers.py
>> b/lib/toaster/tests/browser/selenium_helpers.py
>> index 54db2e8..000937f 100644
>> --- a/lib/toaster/tests/browser/selenium_helpers.py
>> +++ b/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
>>   @@ -49,6 +50,10 @@ def create_selenium_driver(browser='chrome'):
>>           )
>>       elif browser == 'firefox':
>>           return webdriver.Firefox()
>> +    elif browser == 'marionette':
>> +        capabilities = DesiredCapabilities.FIREFOX
>> +        capabilities['marionette'] = True
>> +        return webdriver.Firefox(capabilities=capabilities)
>>       elif browser == 'ie':
>>           return webdriver.Ie()
>>       elif browser == 'phantomjs':
>>
>
> Ping on these two patches.
>
> Thanks,
>
> Michael
>
> ---------------------------------------------------------------------
> Intel Corporation (UK) Limited
> Registered No. 1134945 (England)
> Registered Office: Pipers Way, Swindon SN3 1RJ
> VAT No: 860 2173 47
>
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
>
>


-- 
Elliot Smith
Software Engineer
Intel Open Source Technology Centre
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/bitbake-devel/attachments/20160721/3ca1d8e1/attachment-0002.html>


More information about the bitbake-devel mailing list