[JIRA] (OVIRT-1788) new ui_sanity scenario for basic_suite -- need multiple firefoxes and chromium

Greg Sheremeta (oVirt JIRA) jira at ovirt-jira.atlassian.net
Tue Dec 5 17:01:14 UTC 2017


    [ https://ovirt-jira.atlassian.net/browse/OVIRT-1788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=35460#comment-35460 ] 

Greg Sheremeta commented on OVIRT-1788:
---------------------------------------

Take a look at the patch I linked to.

# browser binaries and drivers
# TODO the suite should install these and latest geckodriver
FIREFOX_52_BIN = '/opt/firefox-52.5.0esr/firefox'
FIREFOX_54_BIN = '/opt/firefox-54.0.1/firefox'
FIREFOX_57_BIN = '/opt/firefox-57.0.1/firefox'

It's 3 lines of python that run from an OST test:

    binary = FirefoxBinary(FIREFOX_57_BIN)
    os.environ['MOZ_HEADLESS'] = '1'
    driver = webdriver.Firefox(firefox_binary=binary)

using other FF versions is simply:
    binary = FirefoxBinary(FIREFOX_56_BIN)
    binary = FirefoxBinary(FIREFOX_55_BIN)
etc

The python selenium library launches Firefox, and yes it can take options in the Firefox() constructor, but I'm not sure what you want to customize. (The part I didn't elaborate on is Marionette, https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette)

So, IIUC, you want to have OST running on a machine, and then Firefox in a container and OST driving the Firefox through the container boundary? If so, ok, that's more complex than I was aiming for. I was going to have it all be local.

I think what you want is Selenium Grid: http://www.seleniumhq.org/docs/07_selenium_grid.jsp
"""
Selenium-Grid allows you run your tests on different machines against different browsers in parallel. That is, running multiple tests at the same time against different machines running different browsers and operating systems. Essentially, Selenium-Grid support distributed test execution. It allows for running your tests in a distributed test execution environment.
When to Use It
Generally speaking, there’s two reasons why you might want to use Selenium-Grid.
To run your tests against multiple browsers, multiple versions of browser, and browsers running on different operating systems.
"""

So maybe we just stand up a grid somewhere? (I believe QE has one -- [~ncredi]? Also she knows much more about Grid than me -- I've never used it.)

The grid would need to be able to connect back to the OST engine.



> new ui_sanity scenario for basic_suite -- need multiple firefoxes and chromium
> ------------------------------------------------------------------------------
>
>                 Key: OVIRT-1788
>                 URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1788
>             Project: oVirt - virtualization made easy
>          Issue Type: Improvement
>          Components: OST
>            Reporter: Greg Sheremeta
>            Assignee: infra
>
> I'm writing a suite that does headless UI testing. One goal is to open headless firefox and actually open the UI, perform a login, make sure things look good, make sure there are no ui.log errors, etc. I'll also eventually add chromium, which can run headless now too.
> The suite requires several firefox versions to be installed on the test machine, along with chromium. There are also some binary components required, geckodriver and chromedriver. These are not packaged.
> Ideally the browsers can be installed to /opt/firefox55, /opt/firefox56, /opt/chromium62, etc. on the machine running the suite. So I think it makes sense to maintain a custom rpm with all of this.
> Where can this rpm live? What is a reliable way to do this? (I know we want to avoid copr.)



--
This message was sent by Atlassian Jira
(v1001.0.0-SNAPSHOT#100074)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/infra/attachments/20171205/cc9b9f9d/attachment-0001.html>


More information about the Infra mailing list