[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