Promium 3.7.3__tar.gz → 3.7.4__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 (60) hide show
  1. {promium-3.7.3 → promium-3.7.4}/PKG-INFO +1 -1
  2. {promium-3.7.3 → promium-3.7.4}/Promium.egg-info/PKG-INFO +1 -1
  3. {promium-3.7.3 → promium-3.7.4}/promium/elements/input_field.py +3 -38
  4. {promium-3.7.3 → promium-3.7.4}/setup.py +1 -1
  5. {promium-3.7.3 → promium-3.7.4}/LICENSE +0 -0
  6. {promium-3.7.3 → promium-3.7.4}/Promium.egg-info/SOURCES.txt +0 -0
  7. {promium-3.7.3 → promium-3.7.4}/Promium.egg-info/dependency_links.txt +0 -0
  8. {promium-3.7.3 → promium-3.7.4}/Promium.egg-info/entry_points.txt +0 -0
  9. {promium-3.7.3 → promium-3.7.4}/Promium.egg-info/requires.txt +0 -0
  10. {promium-3.7.3 → promium-3.7.4}/Promium.egg-info/top_level.txt +0 -0
  11. {promium-3.7.3 → promium-3.7.4}/README.rst +0 -0
  12. {promium-3.7.3 → promium-3.7.4}/doc/__init__.py +0 -0
  13. {promium-3.7.3 → promium-3.7.4}/doc/conf.py +0 -0
  14. {promium-3.7.3 → promium-3.7.4}/promium/__init__.py +0 -0
  15. {promium-3.7.3 → promium-3.7.4}/promium/_diag.py +0 -0
  16. {promium-3.7.3 → promium-3.7.4}/promium/assertions.py +0 -0
  17. {promium-3.7.3 → promium-3.7.4}/promium/base.py +0 -0
  18. {promium-3.7.3 → promium-3.7.4}/promium/browsers.py +0 -0
  19. {promium-3.7.3 → promium-3.7.4}/promium/common.py +0 -0
  20. {promium-3.7.3 → promium-3.7.4}/promium/device_config.py +0 -0
  21. {promium-3.7.3 → promium-3.7.4}/promium/elements/__init__.py +0 -0
  22. {promium-3.7.3 → promium-3.7.4}/promium/elements/checkbox.py +0 -0
  23. {promium-3.7.3 → promium-3.7.4}/promium/elements/drop_downs.py +0 -0
  24. {promium-3.7.3 → promium-3.7.4}/promium/elements/frame.py +0 -0
  25. {promium-3.7.3 → promium-3.7.4}/promium/elements/link.py +0 -0
  26. {promium-3.7.3 → promium-3.7.4}/promium/elements/multiselect_listbox.py +0 -0
  27. {promium-3.7.3 → promium-3.7.4}/promium/elements/radio_button.py +0 -0
  28. {promium-3.7.3 → promium-3.7.4}/promium/elements/textarea_field.py +0 -0
  29. {promium-3.7.3 → promium-3.7.4}/promium/elements/upload_button.py +0 -0
  30. {promium-3.7.3 → promium-3.7.4}/promium/exceptions.py +0 -0
  31. {promium-3.7.3 → promium-3.7.4}/promium/expected_conditions.py +0 -0
  32. {promium-3.7.3 → promium-3.7.4}/promium/helpers.py +0 -0
  33. {promium-3.7.3 → promium-3.7.4}/promium/logger.py +0 -0
  34. {promium-3.7.3 → promium-3.7.4}/promium/plugin.py +0 -0
  35. {promium-3.7.3 → promium-3.7.4}/promium/support/__init__.py +0 -0
  36. {promium-3.7.3 → promium-3.7.4}/promium/support/settings.py +0 -0
  37. {promium-3.7.3 → promium-3.7.4}/promium/test_case.py +0 -0
  38. {promium-3.7.3 → promium-3.7.4}/promium/waits.py +0 -0
  39. {promium-3.7.3 → promium-3.7.4}/pyproject.toml +0 -0
  40. {promium-3.7.3 → promium-3.7.4}/setup.cfg +0 -0
  41. {promium-3.7.3 → promium-3.7.4}/tests/__init__.py +0 -0
  42. {promium-3.7.3 → promium-3.7.4}/tests/config.py +0 -0
  43. {promium-3.7.3 → promium-3.7.4}/tests/conftest.py +0 -0
  44. {promium-3.7.3 → promium-3.7.4}/tests/pages/__init__.py +0 -0
  45. {promium-3.7.3 → promium-3.7.4}/tests/pages/catalog_404_page.py +0 -0
  46. {promium-3.7.3 → promium-3.7.4}/tests/pages/catalog_gallery_page.py +0 -0
  47. {promium-3.7.3 → promium-3.7.4}/tests/settings/__init__.py +0 -0
  48. {promium-3.7.3 → promium-3.7.4}/tests/settings/test_base.py +0 -0
  49. {promium-3.7.3 → promium-3.7.4}/tests/settings/test_chrome.py +0 -0
  50. {promium-3.7.3 → promium-3.7.4}/tests/settings/test_edge.py +0 -0
  51. {promium-3.7.3 → promium-3.7.4}/tests/settings/test_firefox.py +0 -0
  52. {promium-3.7.3 → promium-3.7.4}/tests/settings/test_ie.py +0 -0
  53. {promium-3.7.3 → promium-3.7.4}/tests/settings/test_opera.py +0 -0
  54. {promium-3.7.3 → promium-3.7.4}/tests/test_catalog_404.py +0 -0
  55. {promium-3.7.3 → promium-3.7.4}/tests/test_catalog_gallery.py +0 -0
  56. {promium-3.7.3 → promium-3.7.4}/tests/test_enviroment.py +0 -0
  57. {promium-3.7.3 → promium-3.7.4}/tests/test_requests.py +0 -0
  58. {promium-3.7.3 → promium-3.7.4}/tests/test_soft_asserts.py +0 -0
  59. {promium-3.7.3 → promium-3.7.4}/tests/test_waits.py +0 -0
  60. {promium-3.7.3 → promium-3.7.4}/tests/urls.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Promium
3
- Version: 3.7.3
3
+ Version: 3.7.4
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Promium
3
- Version: 3.7.3
3
+ Version: 3.7.4
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
@@ -1,6 +1,5 @@
1
1
  import contextlib
2
2
 
3
- from selenium.webdriver.common.action_chains import ActionChains
4
3
  from selenium.webdriver.common.keys import Keys
5
4
 
6
5
  from promium.base import Element
@@ -49,43 +48,9 @@ class InputField(Element):
49
48
  self.lookup().send_keys(*keys)
50
49
 
51
50
  def _clear_field_with_keyboard(self) -> None:
52
- """Clear the field using only WebElement/ActionChains to avoid
53
- overridden send_keys."""
54
- with contextlib.suppress(Exception):
55
- push_step(f'clear_with_keyboard("{self._fmt_locator()}")')
56
- el = self.lookup()
57
- with contextlib.suppress(Exception):
58
- el.click()
59
- for mod in (Keys.CONTROL, Keys.COMMAND):
60
- try:
61
- el.send_keys(mod, "a")
62
- break
63
- except TypeError:
64
- try:
65
- ActionChains(self.driver).key_down(mod).send_keys(
66
- "a"
67
- ).key_up(mod).perform()
68
- break
69
- except Exception:
70
- pass
71
- except Exception:
72
- continue
73
- cleared = False
74
- for key in (Keys.DELETE, Keys.BACKSPACE):
75
- try:
76
- el.send_keys(key)
77
- cleared = True
78
- break
79
- except TypeError:
80
- with contextlib.suppress(Exception):
81
- ActionChains(self.driver).send_keys(key).perform()
82
- cleared = True
83
- break
84
- except Exception:
85
- continue
86
- if not cleared:
87
- with contextlib.suppress(Exception):
88
- el.clear()
51
+ """Clear the input field using keyboard shortcuts (Ctrl+A, Backspace)"""
52
+ self.send_keys(f"{Keys.CONTROL}a")
53
+ self.send_keys(Keys.BACKSPACE)
89
54
 
90
55
  def clear_and_fill(self, text: str) -> str | None:
91
56
  """Clear the field using keyboard and fill it with the given text."""
@@ -19,7 +19,7 @@ LONG_DESCRIPTION = Path("README.rst").read_text(encoding="utf-8")
19
19
 
20
20
  setup(
21
21
  name="Promium",
22
- version="3.7.3",
22
+ version="3.7.4",
23
23
  install_requires=REQUIREMENTS,
24
24
  author=(
25
25
  "Denis Korytkin, Nataliia Guieva, "
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