Promium 3.3.20__tar.gz → 3.3.22__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {Promium-3.3.20 → Promium-3.3.22}/PKG-INFO +2 -2
- {Promium-3.3.20 → Promium-3.3.22}/Promium.egg-info/PKG-INFO +2 -2
- {Promium-3.3.20 → Promium-3.3.22}/Promium.egg-info/requires.txt +1 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/browsers.py +27 -31
- {Promium-3.3.20 → Promium-3.3.22}/setup.py +3 -2
- {Promium-3.3.20 → Promium-3.3.22}/LICENSE +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/Promium.egg-info/SOURCES.txt +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/Promium.egg-info/dependency_links.txt +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/Promium.egg-info/entry_points.txt +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/Promium.egg-info/top_level.txt +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/README.rst +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/doc/__init__.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/doc/conf.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/__init__.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/assertions.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/base.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/common.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/device_config.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/elements/__init__.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/elements/checkbox.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/elements/drop_downs.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/elements/frame.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/elements/input_field.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/elements/link.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/elements/multiselect_listbox.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/elements/radio_button.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/elements/textarea_field.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/elements/upload_button.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/exceptions.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/expected_conditions.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/helpers.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/logger.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/plugin.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/support/__init__.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/support/settings.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/test_case.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/promium/waits.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/setup.cfg +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/__init__.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/config.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/conftest.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/pages/__init__.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/pages/catalog_404_page.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/pages/catalog_gallery_page.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/settings/__init__.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/settings/test_base.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/settings/test_chrome.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/settings/test_edge.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/settings/test_firefox.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/settings/test_ie.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/settings/test_opera.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/test_catalog_404.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/test_catalog_gallery.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/test_enviroment.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/test_requests.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/test_soft_asserts.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/test_waits.py +0 -0
- {Promium-3.3.20 → Promium-3.3.22}/tests/urls.py +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: Promium
|
|
3
|
-
Version: 3.3.
|
|
3
|
+
Version: 3.3.22
|
|
4
4
|
Summary: Selenium wrapper for testing Web UI
|
|
5
5
|
Author: Denis Korytkin, Nataliia Guieva, Roman Zaporozhets, Vladimir Kritov, Oleh Dykusha
|
|
6
6
|
Project-URL: Home page, https://none
|
|
7
7
|
Project-URL: Documentation, https://none
|
|
8
8
|
Keywords: Testing UI,Selenium,PageObject,Selenium wrapper
|
|
9
9
|
Platform: linux
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
11
11
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
12
12
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
13
13
|
Classifier: Topic :: Software Development :: Testing
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: Promium
|
|
3
|
-
Version: 3.3.
|
|
3
|
+
Version: 3.3.22
|
|
4
4
|
Summary: Selenium wrapper for testing Web UI
|
|
5
5
|
Author: Denis Korytkin, Nataliia Guieva, Roman Zaporozhets, Vladimir Kritov, Oleh Dykusha
|
|
6
6
|
Project-URL: Home page, https://none
|
|
7
7
|
Project-URL: Documentation, https://none
|
|
8
8
|
Keywords: Testing UI,Selenium,PageObject,Selenium wrapper
|
|
9
9
|
Platform: linux
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
11
11
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
12
12
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
13
13
|
Classifier: Topic :: Software Development :: Testing
|
|
@@ -28,7 +28,7 @@ def get_chrome_opera_options(
|
|
|
28
28
|
if proxy_server:
|
|
29
29
|
options.add_argument(f"--proxy-server={proxy_server}")
|
|
30
30
|
if is_headless:
|
|
31
|
-
options.add_argument('--headless')
|
|
31
|
+
options.add_argument('--headless=new')
|
|
32
32
|
options.add_argument("--whitelisted-ips=''")
|
|
33
33
|
options.add_argument("--use-gl=swiftshader") # for rendering Chrome 79+
|
|
34
34
|
options.add_argument("--no-sandbox")
|
|
@@ -42,7 +42,7 @@ def get_chrome_opera_options(
|
|
|
42
42
|
options.add_argument("--ignore-certificate-errors")
|
|
43
43
|
options.add_argument("--disable-notifications")
|
|
44
44
|
options.add_argument("--dns-prefetch-disable")
|
|
45
|
-
options.add_argument("--proxy-bypass-list=*ws*")
|
|
45
|
+
options.add_argument("--proxy-bypass-list=*ws*;*chat*")
|
|
46
46
|
prefs = {
|
|
47
47
|
"download.default_directory": DOWNLOAD_PATH,
|
|
48
48
|
"download.directory_upgrade": True,
|
|
@@ -135,13 +135,16 @@ def get_firefox_options(device):
|
|
|
135
135
|
return firefox_options
|
|
136
136
|
|
|
137
137
|
|
|
138
|
-
PERFORMANCE_CAPABILITIES =
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
"
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
138
|
+
PERFORMANCE_CAPABILITIES = (
|
|
139
|
+
'goog:loggingPrefs',
|
|
140
|
+
{
|
|
141
|
+
"performance": "ALL",
|
|
142
|
+
"server": "ALL",
|
|
143
|
+
"client": "ALL",
|
|
144
|
+
"driver": "ALL",
|
|
145
|
+
"browser": "ALL"
|
|
146
|
+
}
|
|
147
|
+
)
|
|
145
148
|
|
|
146
149
|
|
|
147
150
|
CERTS_CAPABILITIES = {
|
|
@@ -158,23 +161,17 @@ class RemoteBrowser(webdriver.Remote):
|
|
|
158
161
|
Initialise a new Remote WebDriver instance
|
|
159
162
|
with connection to Selenium Grid
|
|
160
163
|
"""
|
|
161
|
-
|
|
162
164
|
capabilities = getattr(DesiredCapabilities, client.upper()).copy()
|
|
163
|
-
capabilities.update(PERFORMANCE_CAPABILITIES)
|
|
164
165
|
|
|
165
166
|
if client == "chrome":
|
|
167
|
+
options = get_chrome_options(device, proxy_server, is_headless)
|
|
166
168
|
if is_headless:
|
|
167
|
-
|
|
168
|
-
capabilities.update(
|
|
169
|
-
get_chrome_options(
|
|
170
|
-
device, proxy_server, is_headless
|
|
171
|
-
).to_capabilities()
|
|
172
|
-
)
|
|
169
|
+
options.accept_insecure_certs = True
|
|
173
170
|
elif client == "firefox":
|
|
174
|
-
|
|
171
|
+
options = get_firefox_options(device)
|
|
175
172
|
kwargs['browser_profile'] = get_firefox_profile(device)
|
|
176
173
|
elif client == "opera":
|
|
177
|
-
|
|
174
|
+
options = get_opera_options(device)
|
|
178
175
|
capabilities["browserName"] = "opera"
|
|
179
176
|
if client != "safari":
|
|
180
177
|
if proxy_server:
|
|
@@ -192,9 +189,11 @@ class RemoteBrowser(webdriver.Remote):
|
|
|
192
189
|
"proxyType": ProxyType.DIRECT
|
|
193
190
|
}
|
|
194
191
|
)
|
|
195
|
-
|
|
192
|
+
capabilities.update(proxy_capabilities.to_capabilities())
|
|
196
193
|
|
|
197
|
-
|
|
194
|
+
options.set_capability(*PERFORMANCE_CAPABILITIES)
|
|
195
|
+
options.set_capability('cloud:options', capabilities)
|
|
196
|
+
kwargs['options'] = options
|
|
198
197
|
remote_connection = RemoteConnection(hub, keep_alive=False)
|
|
199
198
|
remote_connection.set_timeout(300)
|
|
200
199
|
kwargs['command_executor'] = remote_connection
|
|
@@ -208,10 +207,6 @@ class ChromeBrowser(webdriver.Chrome):
|
|
|
208
207
|
Initialise a new Chrome WebDriver instance.
|
|
209
208
|
"""
|
|
210
209
|
capabilities = DesiredCapabilities.CHROME.copy()
|
|
211
|
-
capabilities.update(PERFORMANCE_CAPABILITIES)
|
|
212
|
-
|
|
213
|
-
if is_headless:
|
|
214
|
-
capabilities.update(CERTS_CAPABILITIES)
|
|
215
210
|
|
|
216
211
|
if proxy_server:
|
|
217
212
|
proxy_capabilities = Proxy(
|
|
@@ -222,15 +217,17 @@ class ChromeBrowser(webdriver.Chrome):
|
|
|
222
217
|
"proxyType": ProxyType.MANUAL
|
|
223
218
|
}
|
|
224
219
|
)
|
|
225
|
-
proxy_capabilities.
|
|
220
|
+
capabilities.update(proxy_capabilities.to_capabilities())
|
|
226
221
|
|
|
227
222
|
options = get_chrome_options(
|
|
228
223
|
device, proxy_server, is_headless
|
|
229
224
|
)
|
|
225
|
+
if is_headless:
|
|
226
|
+
options.accept_insecure_certs = True
|
|
230
227
|
options.add_argument("--disable-dev-shm-usage")
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
kwargs['
|
|
228
|
+
options.set_capability(*PERFORMANCE_CAPABILITIES)
|
|
229
|
+
options.set_capability('cloud:options', capabilities)
|
|
230
|
+
kwargs['options'] = options
|
|
234
231
|
|
|
235
232
|
super().__init__(*args, **kwargs)
|
|
236
233
|
|
|
@@ -259,11 +256,10 @@ class FirefoxBrowser(webdriver.Firefox):
|
|
|
259
256
|
"""
|
|
260
257
|
|
|
261
258
|
capabilities = DesiredCapabilities.FIREFOX.copy()
|
|
262
|
-
capabilities.update(PERFORMANCE_CAPABILITIES)
|
|
263
259
|
|
|
264
260
|
profile = get_firefox_profile(device)
|
|
265
261
|
options = get_firefox_options(device)
|
|
266
|
-
|
|
262
|
+
options.set_capability(*PERFORMANCE_CAPABILITIES)
|
|
267
263
|
kwargs['desired_capabilities'] = capabilities
|
|
268
264
|
kwargs['firefox_profile'] = profile
|
|
269
265
|
kwargs['options'] = options
|
|
@@ -13,12 +13,13 @@ REQUIREMENTS = [
|
|
|
13
13
|
'pytest-forked>=0.2',
|
|
14
14
|
'pytest-instafail>=0.3.0',
|
|
15
15
|
'deepdiff>=5.7.0',
|
|
16
|
+
'selenium>=4.10.0',
|
|
16
17
|
]
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
setup(
|
|
20
21
|
name='Promium',
|
|
21
|
-
version='3.3.
|
|
22
|
+
version='3.3.22',
|
|
22
23
|
install_requires=REQUIREMENTS,
|
|
23
24
|
author='Denis Korytkin, Nataliia Guieva, '
|
|
24
25
|
'Roman Zaporozhets, Vladimir Kritov, '
|
|
@@ -35,7 +36,7 @@ setup(
|
|
|
35
36
|
entry_points={'pytest11': ['promium = promium.plugin']},
|
|
36
37
|
python_requires='>=3.10, <4',
|
|
37
38
|
classifiers=[
|
|
38
|
-
'Programming Language :: Python :: 3.
|
|
39
|
+
'Programming Language :: Python :: 3.11',
|
|
39
40
|
'Topic :: Software Development :: Libraries :: Python Modules',
|
|
40
41
|
'Topic :: Software Development :: Libraries :: Application Frameworks',
|
|
41
42
|
'Topic :: Software Development :: Testing',
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|