mops 0.0.1a1__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 (52) hide show
  1. mops-0.0.1a1/LICENSE +21 -0
  2. mops-0.0.1a1/PKG-INFO +103 -0
  3. mops-0.0.1a1/README.md +71 -0
  4. mops-0.0.1a1/mops/__init__.py +3 -0
  5. mops-0.0.1a1/mops/abstraction/driver_wrapper_abc.py +626 -0
  6. mops-0.0.1a1/mops/abstraction/element_abc.py +878 -0
  7. mops-0.0.1a1/mops/abstraction/mixin_abc.py +63 -0
  8. mops-0.0.1a1/mops/abstraction/page_abc.py +108 -0
  9. mops-0.0.1a1/mops/base/driver_wrapper.py +344 -0
  10. mops-0.0.1a1/mops/base/element.py +766 -0
  11. mops-0.0.1a1/mops/base/group.py +57 -0
  12. mops-0.0.1a1/mops/base/page.py +207 -0
  13. mops-0.0.1a1/mops/exceptions.py +133 -0
  14. mops-0.0.1a1/mops/js_scripts.py +216 -0
  15. mops-0.0.1a1/mops/keyboard_keys.py +93 -0
  16. mops-0.0.1a1/mops/mixins/driver_mixin.py +71 -0
  17. mops-0.0.1a1/mops/mixins/internal_mixin.py +81 -0
  18. mops-0.0.1a1/mops/mixins/native_context.py +56 -0
  19. mops-0.0.1a1/mops/mixins/objects/box.py +25 -0
  20. mops-0.0.1a1/mops/mixins/objects/cut_box.py +44 -0
  21. mops-0.0.1a1/mops/mixins/objects/driver.py +18 -0
  22. mops-0.0.1a1/mops/mixins/objects/location.py +8 -0
  23. mops-0.0.1a1/mops/mixins/objects/locator.py +23 -0
  24. mops-0.0.1a1/mops/mixins/objects/scrolls.py +15 -0
  25. mops-0.0.1a1/mops/mixins/objects/size.py +8 -0
  26. mops-0.0.1a1/mops/mixins/objects/wait_result.py +11 -0
  27. mops-0.0.1a1/mops/playwright/play_driver.py +372 -0
  28. mops-0.0.1a1/mops/playwright/play_element.py +570 -0
  29. mops-0.0.1a1/mops/playwright/play_page.py +7 -0
  30. mops-0.0.1a1/mops/selenium/core/core_driver.py +349 -0
  31. mops-0.0.1a1/mops/selenium/core/core_element.py +664 -0
  32. mops-0.0.1a1/mops/selenium/core/core_page.py +7 -0
  33. mops-0.0.1a1/mops/selenium/driver/mobile_driver.py +293 -0
  34. mops-0.0.1a1/mops/selenium/driver/web_driver.py +96 -0
  35. mops-0.0.1a1/mops/selenium/elements/mobile_element.py +181 -0
  36. mops-0.0.1a1/mops/selenium/elements/web_element.py +128 -0
  37. mops-0.0.1a1/mops/selenium/pages/mobile_page.py +58 -0
  38. mops-0.0.1a1/mops/selenium/pages/web_page.py +7 -0
  39. mops-0.0.1a1/mops/selenium/sel_utils.py +19 -0
  40. mops-0.0.1a1/mops/shared_utils.py +102 -0
  41. mops-0.0.1a1/mops/utils/internal_utils.py +330 -0
  42. mops-0.0.1a1/mops/utils/logs.py +118 -0
  43. mops-0.0.1a1/mops/utils/previous_object_driver.py +47 -0
  44. mops-0.0.1a1/mops/utils/selector_synchronizer.py +135 -0
  45. mops-0.0.1a1/mops/visual_comparison.py +461 -0
  46. mops-0.0.1a1/mops.egg-info/PKG-INFO +103 -0
  47. mops-0.0.1a1/mops.egg-info/SOURCES.txt +51 -0
  48. mops-0.0.1a1/mops.egg-info/dependency_links.txt +1 -0
  49. mops-0.0.1a1/mops.egg-info/requires.txt +7 -0
  50. mops-0.0.1a1/mops.egg-info/top_level.txt +1 -0
  51. mops-0.0.1a1/setup.cfg +7 -0
  52. mops-0.0.1a1/setup.py +76 -0
mops-0.0.1a1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2025 Podolian Vladimir
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
mops-0.0.1a1/PKG-INFO ADDED
@@ -0,0 +1,103 @@
1
+ Metadata-Version: 2.1
2
+ Name: mops
3
+ Version: 0.0.1a1
4
+ Summary: Wrapper of Selenium, Appium and Playwright with single API
5
+ Home-page: https://github.com/CustomEnv/mops
6
+ Author: Podolian Vladimir
7
+ Author-email: vladimir.podolyan64@gmail.com
8
+ Project-URL: Source, https://github.com/CustomEnv/mops
9
+ Project-URL: Tracker, https://github.com/CustomEnv/mops/issues
10
+ Project-URL: Documentation, https://mops.readthedocs.io
11
+ Project-URL: Changelog, https://github.com/CustomEnv/mops/blob/master/CHANGELOG.md
12
+ Keywords: selenium appium playwright web_automation mobile_automation
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Programming Language :: Python :: 3.8
15
+ Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
+ Classifier: Topic :: Software Development :: Quality Assurance
21
+ Classifier: Topic :: Software Development :: Testing :: Acceptance
22
+ Classifier: License :: OSI Approved :: MIT License
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: Appium-Python-Client>=2.1.2
26
+ Requires-Dist: numpy>=1.18.1
27
+ Requires-Dist: opencv-python>=4.5.5.62
28
+ Requires-Dist: Pillow>=6.2.2
29
+ Requires-Dist: playwright>=1.41.0
30
+ Requires-Dist: selenium>=4.1.0
31
+ Requires-Dist: scikit-image>=0.20.0
32
+
33
+ <h1 align="center">mops</h1>
34
+
35
+ <h2 align="center">Automation Beyond Limits</h2>
36
+
37
+ <p align="center">
38
+ <a href="https://github.com/CustomEnv/mops/blob/master/LICENSE"><img alt="GitHub License" src="https://img.shields.io/github/license/CustomEnv/mops?logo=github&color=%234F2684&labelColor=%232E353B"></a>
39
+ <a href="https://pypi.org/project/mops/"><img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/mops?logo=pypi&labelColor=%232E353B"></a>
40
+ <a href="https://pypi.org/project/mops/"><img alt="PyPI - Version" src="https://img.shields.io/pypi/v/mops?logo=pypi&labelColor=%232E353B"></a>
41
+ </p>
42
+
43
+ <p align="center">
44
+ <a href="https://mops.readthedocs.io"><img alt="Documentation Status" src="https://img.shields.io/readthedocs/mops?logo=readthedocs&labelColor=%232E353B&label=docs"></a>
45
+ <a href="https://github.com/CustomEnv/mops/actions/workflows/static_tests.yml">
46
+ <img alt="GitHub Actions Workflow Status" src="https://img.shields.io/github/actions/workflow/status/CustomEnv/mops/static_tests.yml?logo=github&label=Unit%20Tests&labelColor=%232E353B">
47
+ </a>
48
+ <a href="https://github.com/CustomEnv/mops/actions/workflows/playwright_tests.yml">
49
+ <img alt="GitHub Actions Workflow Status" src="https://img.shields.io/github/actions/workflow/status/CustomEnv/mops/playwright_tests.yml?logo=github&label=Playwright%20Tests&labelColor=%232E353B">
50
+ </a>
51
+ </p>
52
+
53
+ <p align="center">
54
+ <a href="https://github.com/CustomEnv/mops/actions/workflows/selenium_tests.yml">
55
+ <img alt="GitHub Actions Workflow Status" src="https://img.shields.io/github/actions/workflow/status/CustomEnv/mops/selenium_tests.yml?logo=github&label=Selenium%20Tests&labelColor=%232E353B">
56
+ </a>
57
+ <a href="https://github.com/CustomEnv/mops/actions/workflows/selenium_safari_tests.yml">
58
+ <img alt="GitHub Actions Workflow Status" src="https://img.shields.io/github/actions/workflow/status/CustomEnv/mops/selenium_safari_tests.yml?logo=github&label=Selenium%20Safari%20Tests&labelColor=%232E353B">
59
+ </a>
60
+ <a href="https://github.com/CustomEnv/mops/actions/workflows/appium_android_tests.yml">
61
+ <img alt="GitHub Actions Workflow Status" src="https://img.shields.io/github/actions/workflow/status/CustomEnv/mops/appium_android_tests.yml?logo=github&label=Android%20Tests&labelColor=%232E353B">
62
+ </a>
63
+ <a href="https://github.com/CustomEnv/mops/actions/workflows/appium_ios_tests.yml">
64
+ <img alt="GitHub Actions Workflow Status" src="https://img.shields.io/github/actions/workflow/status/CustomEnv/mops/appium_ios_tests.yml?logo=github&label=iOS%20Tests&labelColor=%232E353B">
65
+ </a>
66
+ </p>
67
+
68
+
69
+ Mops is a Python framework that seamlessly wraps over Selenium, Appium, and sync Playwright,
70
+ providing a unified interface for browser and mobile automation. With Mops, you can effortlessly switch
71
+ between these engines within the same test, allowing you to leverage the unique features of each framework without boundaries.
72
+
73
+ Whether you're running tests on web browsers, mobile devices, or a combination of both, Mops simplifies the
74
+ process, giving you the flexibility and power to automate complex testing scenarios with ease.
75
+
76
+ ## Key Features
77
+
78
+ - **Seamless Integration**: Mops integrates with Selenium, Appium, and Playwright, allowing you to use the best-suited engine for your specific testing needs.
79
+ - **Unified API**: A single, easy-to-use API that abstracts away the differences between Selenium, Appium, and Playwright, making your test scripts more readable and maintainable.
80
+ - **Engine Switching**: Switch between Selenium, Appium, and Playwright within the same test case, enabling cross-platform and cross-browser testing with minimal effort.
81
+ - **Visual Regression Testing**: Perform visual regression tests using the integrated visual regression tool, available across all supported frameworks. This ensures your UI remains consistent across different browsers and devices.
82
+ - **Advanced Features**: Leverage the advanced features of each framework, such as Playwright's mocks and Appium's real mobile devices support, all while using the same testing framework.
83
+ - **Extensibility**: Extend the framework with custom functionality tailored to your project's specific requirements.
84
+ - **Automatic Locator Type Definition**: The locator type will be automatically determined based on the provided locator string or `Locator` object.
85
+
86
+
87
+ ## Installation and usage
88
+ For information on installation and usage, please refer to our **[ReadTheDocs documentation](https://mops.readthedocs.io)**. Check it out for more details.
89
+
90
+
91
+ ## Contributing
92
+
93
+ Mops is an open-source project, and we welcome contributions from the community. If you'd like to contribute, please open an pull request from your fork
94
+
95
+ ## License
96
+
97
+ Mops is licensed under the Apache License. See the [LICENSE](https://github.com/CustomEnv/mops/blob/master/LICENSE) file for more details.
98
+
99
+ ## Support
100
+
101
+ If you encounter any issues or have questions, please feel free to reach out via our [GitHub Issues](https://github.com/CustomEnv/mops/issues) page.
102
+
103
+ Thank you for choosing Mops for your automation needs!
mops-0.0.1a1/README.md ADDED
@@ -0,0 +1,71 @@
1
+ <h1 align="center">mops</h1>
2
+
3
+ <h2 align="center">Automation Beyond Limits</h2>
4
+
5
+ <p align="center">
6
+ <a href="https://github.com/CustomEnv/mops/blob/master/LICENSE"><img alt="GitHub License" src="https://img.shields.io/github/license/CustomEnv/mops?logo=github&color=%234F2684&labelColor=%232E353B"></a>
7
+ <a href="https://pypi.org/project/mops/"><img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/mops?logo=pypi&labelColor=%232E353B"></a>
8
+ <a href="https://pypi.org/project/mops/"><img alt="PyPI - Version" src="https://img.shields.io/pypi/v/mops?logo=pypi&labelColor=%232E353B"></a>
9
+ </p>
10
+
11
+ <p align="center">
12
+ <a href="https://mops.readthedocs.io"><img alt="Documentation Status" src="https://img.shields.io/readthedocs/mops?logo=readthedocs&labelColor=%232E353B&label=docs"></a>
13
+ <a href="https://github.com/CustomEnv/mops/actions/workflows/static_tests.yml">
14
+ <img alt="GitHub Actions Workflow Status" src="https://img.shields.io/github/actions/workflow/status/CustomEnv/mops/static_tests.yml?logo=github&label=Unit%20Tests&labelColor=%232E353B">
15
+ </a>
16
+ <a href="https://github.com/CustomEnv/mops/actions/workflows/playwright_tests.yml">
17
+ <img alt="GitHub Actions Workflow Status" src="https://img.shields.io/github/actions/workflow/status/CustomEnv/mops/playwright_tests.yml?logo=github&label=Playwright%20Tests&labelColor=%232E353B">
18
+ </a>
19
+ </p>
20
+
21
+ <p align="center">
22
+ <a href="https://github.com/CustomEnv/mops/actions/workflows/selenium_tests.yml">
23
+ <img alt="GitHub Actions Workflow Status" src="https://img.shields.io/github/actions/workflow/status/CustomEnv/mops/selenium_tests.yml?logo=github&label=Selenium%20Tests&labelColor=%232E353B">
24
+ </a>
25
+ <a href="https://github.com/CustomEnv/mops/actions/workflows/selenium_safari_tests.yml">
26
+ <img alt="GitHub Actions Workflow Status" src="https://img.shields.io/github/actions/workflow/status/CustomEnv/mops/selenium_safari_tests.yml?logo=github&label=Selenium%20Safari%20Tests&labelColor=%232E353B">
27
+ </a>
28
+ <a href="https://github.com/CustomEnv/mops/actions/workflows/appium_android_tests.yml">
29
+ <img alt="GitHub Actions Workflow Status" src="https://img.shields.io/github/actions/workflow/status/CustomEnv/mops/appium_android_tests.yml?logo=github&label=Android%20Tests&labelColor=%232E353B">
30
+ </a>
31
+ <a href="https://github.com/CustomEnv/mops/actions/workflows/appium_ios_tests.yml">
32
+ <img alt="GitHub Actions Workflow Status" src="https://img.shields.io/github/actions/workflow/status/CustomEnv/mops/appium_ios_tests.yml?logo=github&label=iOS%20Tests&labelColor=%232E353B">
33
+ </a>
34
+ </p>
35
+
36
+
37
+ Mops is a Python framework that seamlessly wraps over Selenium, Appium, and sync Playwright,
38
+ providing a unified interface for browser and mobile automation. With Mops, you can effortlessly switch
39
+ between these engines within the same test, allowing you to leverage the unique features of each framework without boundaries.
40
+
41
+ Whether you're running tests on web browsers, mobile devices, or a combination of both, Mops simplifies the
42
+ process, giving you the flexibility and power to automate complex testing scenarios with ease.
43
+
44
+ ## Key Features
45
+
46
+ - **Seamless Integration**: Mops integrates with Selenium, Appium, and Playwright, allowing you to use the best-suited engine for your specific testing needs.
47
+ - **Unified API**: A single, easy-to-use API that abstracts away the differences between Selenium, Appium, and Playwright, making your test scripts more readable and maintainable.
48
+ - **Engine Switching**: Switch between Selenium, Appium, and Playwright within the same test case, enabling cross-platform and cross-browser testing with minimal effort.
49
+ - **Visual Regression Testing**: Perform visual regression tests using the integrated visual regression tool, available across all supported frameworks. This ensures your UI remains consistent across different browsers and devices.
50
+ - **Advanced Features**: Leverage the advanced features of each framework, such as Playwright's mocks and Appium's real mobile devices support, all while using the same testing framework.
51
+ - **Extensibility**: Extend the framework with custom functionality tailored to your project's specific requirements.
52
+ - **Automatic Locator Type Definition**: The locator type will be automatically determined based on the provided locator string or `Locator` object.
53
+
54
+
55
+ ## Installation and usage
56
+ For information on installation and usage, please refer to our **[ReadTheDocs documentation](https://mops.readthedocs.io)**. Check it out for more details.
57
+
58
+
59
+ ## Contributing
60
+
61
+ Mops is an open-source project, and we welcome contributions from the community. If you'd like to contribute, please open an pull request from your fork
62
+
63
+ ## License
64
+
65
+ Mops is licensed under the Apache License. See the [LICENSE](https://github.com/CustomEnv/mops/blob/master/LICENSE) file for more details.
66
+
67
+ ## Support
68
+
69
+ If you encounter any issues or have questions, please feel free to reach out via our [GitHub Issues](https://github.com/CustomEnv/mops/issues) page.
70
+
71
+ Thank you for choosing Mops for your automation needs!
@@ -0,0 +1,3 @@
1
+ project_version = '0.0.1a1'
2
+ org_project_name = 'mops'
3
+ project_name = org_project_name