[Webkit-unassigned] [Bug 180145] WebDriver: add support for importing and running selenium tests
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Dec 1 01:32:02 PST 2017
https://bugs.webkit.org/show_bug.cgi?id=180145
--- Comment #6 from Carlos Garcia Campos <cgarcia at igalia.com> ---
Comment on attachment 327960
--> https://bugs.webkit.org/attachment.cgi?id=327960
Updated patch
View in context: https://bugs.webkit.org/attachment.cgi?id=327960&action=review
>> Tools/Scripts/import-webdriver-tests:91
>> +if '--w3c' in sys.argv or len(sys.argv) == 1:
>
> It seems likely that we may want other CLI options in the future. Can you make this use argparse/optparse?
Ok.
>> Tools/Scripts/webkitpy/webdriver_tests/webdriver_driver.py:46
>> + def selenium_name(self):
>
> Please add a comment to explain the purpose of this. It appears to be used as the name to parameterize the test suite using pytest.
Yes, selenium adds --driver command line option to pytest that it uses to create the driver instance for the tests.
>> Tools/Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:45
>>
>
> Does WPE not need to run Selenium tests? Otherwise it needs a selenium name, I believe.
There's no WPE driver in selenium yet, so it's not possible to run selenium tests for now.
>> Tools/Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:32
>> +w3c_tools_dir = WebKitFinder(FileSystem()).path_from_webkit_base('WebDriverTests', 'imported', 'w3c', 'tools')
>
> Would it make more sense to auto-install pytest rather than depending on the W3C drop? Or are the w3C tools dependent on their particular copy of pytest?
I'm reusing the recorder plugins of wpt, that I assumed depend on the pytest included in wpt tools. If those plugins are compatible with a newer pytest then, I think it's better to not import the wpt one and use the auto-installed for both. I'll investigate that possibility. But as long as we have a copy of pytest in the tree I think t's better to use it for selenium too to ensure same results format.
>> Tools/Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:96
>> + pytest.main(['--driver=%s' % self._name,
>
> Per above, this could be None.
No, collect_tests() and run_tests() return early in WebDriverTestRunnerSelenium when the name is None.
>> WebDriverTests/imported/selenium/py/conftest.py:113
>> + browser_path = os.environ.get('WD_BROWSER_PATH')
>
> The more elegant way to achieve this is to take the arguments via pytest_addoption. Let me know if you want to go that route; I recently changed safaridriver's test harness to stop using ENV like this. I think these options are generic enough that other drivers could use them.
hmm, note this is not a wk patch, this is upstream, I added recently to selenium for this and we discussed the possibility of making it generic for other drivers. I think we can discuss this upstream and then adopt here whatever we decide. See https://github.com/SeleniumHQ/selenium/pull/5121
>> WebDriverTests/imported/selenium/py/conftest.py:169
>> + _path = '../buck-out/gen/java/server/src/org/openqa/grid/selenium/selenium.jar'
>
> I hope none of the python tests use the server fixture. This hasn't been a problem in my experience.
No, this is not a problem, but I don't think it's worth patching this to remove this fixture.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20171201/72165d9a/attachment-0001.html>
More information about the webkit-unassigned
mailing list