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.
Files changed (58) hide show
  1. {Promium-3.3.20 → Promium-3.3.22}/PKG-INFO +2 -2
  2. {Promium-3.3.20 → Promium-3.3.22}/Promium.egg-info/PKG-INFO +2 -2
  3. {Promium-3.3.20 → Promium-3.3.22}/Promium.egg-info/requires.txt +1 -0
  4. {Promium-3.3.20 → Promium-3.3.22}/promium/browsers.py +27 -31
  5. {Promium-3.3.20 → Promium-3.3.22}/setup.py +3 -2
  6. {Promium-3.3.20 → Promium-3.3.22}/LICENSE +0 -0
  7. {Promium-3.3.20 → Promium-3.3.22}/Promium.egg-info/SOURCES.txt +0 -0
  8. {Promium-3.3.20 → Promium-3.3.22}/Promium.egg-info/dependency_links.txt +0 -0
  9. {Promium-3.3.20 → Promium-3.3.22}/Promium.egg-info/entry_points.txt +0 -0
  10. {Promium-3.3.20 → Promium-3.3.22}/Promium.egg-info/top_level.txt +0 -0
  11. {Promium-3.3.20 → Promium-3.3.22}/README.rst +0 -0
  12. {Promium-3.3.20 → Promium-3.3.22}/doc/__init__.py +0 -0
  13. {Promium-3.3.20 → Promium-3.3.22}/doc/conf.py +0 -0
  14. {Promium-3.3.20 → Promium-3.3.22}/promium/__init__.py +0 -0
  15. {Promium-3.3.20 → Promium-3.3.22}/promium/assertions.py +0 -0
  16. {Promium-3.3.20 → Promium-3.3.22}/promium/base.py +0 -0
  17. {Promium-3.3.20 → Promium-3.3.22}/promium/common.py +0 -0
  18. {Promium-3.3.20 → Promium-3.3.22}/promium/device_config.py +0 -0
  19. {Promium-3.3.20 → Promium-3.3.22}/promium/elements/__init__.py +0 -0
  20. {Promium-3.3.20 → Promium-3.3.22}/promium/elements/checkbox.py +0 -0
  21. {Promium-3.3.20 → Promium-3.3.22}/promium/elements/drop_downs.py +0 -0
  22. {Promium-3.3.20 → Promium-3.3.22}/promium/elements/frame.py +0 -0
  23. {Promium-3.3.20 → Promium-3.3.22}/promium/elements/input_field.py +0 -0
  24. {Promium-3.3.20 → Promium-3.3.22}/promium/elements/link.py +0 -0
  25. {Promium-3.3.20 → Promium-3.3.22}/promium/elements/multiselect_listbox.py +0 -0
  26. {Promium-3.3.20 → Promium-3.3.22}/promium/elements/radio_button.py +0 -0
  27. {Promium-3.3.20 → Promium-3.3.22}/promium/elements/textarea_field.py +0 -0
  28. {Promium-3.3.20 → Promium-3.3.22}/promium/elements/upload_button.py +0 -0
  29. {Promium-3.3.20 → Promium-3.3.22}/promium/exceptions.py +0 -0
  30. {Promium-3.3.20 → Promium-3.3.22}/promium/expected_conditions.py +0 -0
  31. {Promium-3.3.20 → Promium-3.3.22}/promium/helpers.py +0 -0
  32. {Promium-3.3.20 → Promium-3.3.22}/promium/logger.py +0 -0
  33. {Promium-3.3.20 → Promium-3.3.22}/promium/plugin.py +0 -0
  34. {Promium-3.3.20 → Promium-3.3.22}/promium/support/__init__.py +0 -0
  35. {Promium-3.3.20 → Promium-3.3.22}/promium/support/settings.py +0 -0
  36. {Promium-3.3.20 → Promium-3.3.22}/promium/test_case.py +0 -0
  37. {Promium-3.3.20 → Promium-3.3.22}/promium/waits.py +0 -0
  38. {Promium-3.3.20 → Promium-3.3.22}/setup.cfg +0 -0
  39. {Promium-3.3.20 → Promium-3.3.22}/tests/__init__.py +0 -0
  40. {Promium-3.3.20 → Promium-3.3.22}/tests/config.py +0 -0
  41. {Promium-3.3.20 → Promium-3.3.22}/tests/conftest.py +0 -0
  42. {Promium-3.3.20 → Promium-3.3.22}/tests/pages/__init__.py +0 -0
  43. {Promium-3.3.20 → Promium-3.3.22}/tests/pages/catalog_404_page.py +0 -0
  44. {Promium-3.3.20 → Promium-3.3.22}/tests/pages/catalog_gallery_page.py +0 -0
  45. {Promium-3.3.20 → Promium-3.3.22}/tests/settings/__init__.py +0 -0
  46. {Promium-3.3.20 → Promium-3.3.22}/tests/settings/test_base.py +0 -0
  47. {Promium-3.3.20 → Promium-3.3.22}/tests/settings/test_chrome.py +0 -0
  48. {Promium-3.3.20 → Promium-3.3.22}/tests/settings/test_edge.py +0 -0
  49. {Promium-3.3.20 → Promium-3.3.22}/tests/settings/test_firefox.py +0 -0
  50. {Promium-3.3.20 → Promium-3.3.22}/tests/settings/test_ie.py +0 -0
  51. {Promium-3.3.20 → Promium-3.3.22}/tests/settings/test_opera.py +0 -0
  52. {Promium-3.3.20 → Promium-3.3.22}/tests/test_catalog_404.py +0 -0
  53. {Promium-3.3.20 → Promium-3.3.22}/tests/test_catalog_gallery.py +0 -0
  54. {Promium-3.3.20 → Promium-3.3.22}/tests/test_enviroment.py +0 -0
  55. {Promium-3.3.20 → Promium-3.3.22}/tests/test_requests.py +0 -0
  56. {Promium-3.3.20 → Promium-3.3.22}/tests/test_soft_asserts.py +0 -0
  57. {Promium-3.3.20 → Promium-3.3.22}/tests/test_waits.py +0 -0
  58. {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.20
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
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.20
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
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
@@ -7,3 +7,4 @@ pytest_rerunfailures>=4.1.0
7
7
  pytest-forked>=0.2
8
8
  pytest-instafail>=0.3.0
9
9
  deepdiff>=5.7.0
10
+ selenium>=4.10.0
@@ -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
- "loggingPrefs": {
140
- "performance": "ALL", "server": "ALL", "client": "ALL",
141
- "driver": "ALL", "browser": "ALL"
142
- },
143
- 'goog:loggingPrefs': {"performance": "ALL"}
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
- capabilities.update(CERTS_CAPABILITIES)
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
- capabilities.update(get_firefox_options(device).to_capabilities())
171
+ options = get_firefox_options(device)
175
172
  kwargs['browser_profile'] = get_firefox_profile(device)
176
173
  elif client == "opera":
177
- capabilities.update(get_opera_options(device).to_capabilities())
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
- kwargs['proxy'] = proxy_capabilities
192
+ capabilities.update(proxy_capabilities.to_capabilities())
196
193
 
197
- kwargs['desired_capabilities'] = capabilities
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.add_to_capabilities(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
- kwargs['desired_capabilities'] = capabilities
233
- kwargs['chrome_options'] = options
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.20',
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.10',
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