|
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