|
3 | 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
4 | 4 |
|
5 | 5 | import pytest
|
| 6 | +from selenium.webdriver.common.options import ArgOptions |
6 | 7 |
|
7 | 8 | from pytest_selenium.drivers.cloud import Provider
|
8 | 9 | from pytest_selenium.exceptions import MissingCloudSettingError
|
@@ -93,23 +94,22 @@ def pytest_selenium_runtest_makereport(item, report, summary, extra):
|
93 | 94 | summary.append("WARNING: Failed to update job status: {0}".format(e))
|
94 | 95 |
|
95 | 96 |
|
96 |
| -def driver_kwargs(request, test, capabilities, **kwargs): |
| 97 | +def driver_kwargs(test, capabilities, **kwargs): |
97 | 98 | provider = BrowserStack()
|
98 | 99 | assert provider.job_access
|
99 |
| - if ( |
100 |
| - "bstack:options" in capabilities |
101 |
| - and type(capabilities["bstack:options"]) is dict |
102 |
| - ): |
103 |
| - capabilities["bstack:options"].setdefault("sessionName", test) |
104 |
| - capabilities["bstack:options"].setdefault("userName", provider.username) |
105 |
| - capabilities["bstack:options"].setdefault("accessKey", provider.key) |
| 100 | + options = ArgOptions() |
| 101 | + bstack_options = capabilities.pop("bstack:options", None) |
| 102 | + if isinstance(bstack_options, dict): |
| 103 | + bstack_options.setdefault("sessionName", test) |
| 104 | + bstack_options.setdefault("userName", provider.username) |
| 105 | + bstack_options.setdefault("accessKey", provider.key) |
| 106 | + options.set_capability("bstack:options", bstack_options) |
106 | 107 | else:
|
107 |
| - capabilities.setdefault("name", test) |
108 |
| - capabilities.setdefault("browserstack.user", provider.username) |
109 |
| - capabilities.setdefault("browserstack.key", provider.key) |
110 |
| - kwargs = { |
| 108 | + options.set_capability("name", test) |
| 109 | + options.set_capability("browserstack.user", provider.username) |
| 110 | + options.set_capability("browserstack.key", provider.key) |
| 111 | + return { |
111 | 112 | "command_executor": provider.executor,
|
112 |
| - "desired_capabilities": capabilities, |
113 | 113 | "keep_alive": True,
|
| 114 | + "options": options, |
114 | 115 | }
|
115 |
| - return kwargs |
0 commit comments