mangoautomation 1.0.42__tar.gz → 1.0.44__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.

Potentially problematic release.


This version of mangoautomation might be problematic. Click here for more details.

Files changed (62) hide show
  1. {mangoautomation-1.0.42/mangoautomation.egg-info → mangoautomation-1.0.44}/PKG-INFO +3 -2
  2. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/tools/__init__.py +2 -1
  3. mangoautomation-1.0.44/mangoautomation/tools/_uiautodev.py +49 -0
  4. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/__init__.py +5 -1
  5. {mangoautomation-1.0.42 → mangoautomation-1.0.44/mangoautomation.egg-info}/PKG-INFO +3 -2
  6. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation.egg-info/SOURCES.txt +1 -0
  7. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation.egg-info/requires.txt +2 -1
  8. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/setup.py +3 -2
  9. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/LICENSE +0 -0
  10. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/MANIFEST.in +0 -0
  11. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/README.md +0 -0
  12. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/__init__.py +0 -0
  13. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/enums/__init__.py +0 -0
  14. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/enums/_base_enum.py +0 -0
  15. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/enums/_ui_enum.py +0 -0
  16. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/exceptions/__init__.py +0 -0
  17. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/exceptions/_error_msg.py +0 -0
  18. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/exceptions/_exceptions.py +0 -0
  19. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/models/__init__.py +0 -0
  20. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/models/_ui_model.py +0 -0
  21. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/tools/_mate.py +0 -0
  22. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/__init__.py +0 -0
  23. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/_async_element.py +0 -0
  24. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/_base_data.py +0 -0
  25. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/_driver_object.py +0 -0
  26. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/_sync_element.py +0 -0
  27. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_application.py +0 -0
  28. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_assertion.py +0 -0
  29. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_customization.py +0 -0
  30. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_element.py +0 -0
  31. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_equipment.py +0 -0
  32. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_new_android.py +0 -0
  33. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_page.py +0 -0
  34. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/pc/__init__.py +0 -0
  35. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/pc/assertion.py +0 -0
  36. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/pc/customization.py +0 -0
  37. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/pc/element.py +0 -0
  38. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/pc/input_device.py +0 -0
  39. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/pc/new_windows.py +0 -0
  40. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/__init__.py +0 -0
  41. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/__init__.py +0 -0
  42. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_assertion.py +0 -0
  43. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_browser.py +0 -0
  44. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_customization.py +0 -0
  45. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_element.py +0 -0
  46. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_input_device.py +0 -0
  47. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_new_browser.py +0 -0
  48. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_page.py +0 -0
  49. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/__init__.py +0 -0
  50. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_assertion.py +0 -0
  51. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_browser.py +0 -0
  52. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_customization.py +0 -0
  53. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_element.py +0 -0
  54. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_input_device.py +0 -0
  55. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_new_browser.py +0 -0
  56. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_page.py +0 -0
  57. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation.egg-info/dependency_links.txt +0 -0
  58. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation.egg-info/top_level.txt +0 -0
  59. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/setup.cfg +0 -0
  60. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/tests/__init__.py +0 -0
  61. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/tests/test_ui_and.py +0 -0
  62. {mangoautomation-1.0.42 → mangoautomation-1.0.44}/tests/test_ui_web.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mangoautomation
3
- Version: 1.0.42
3
+ Version: 1.0.44
4
4
  Summary: 测试工具
5
5
  Home-page: https://gitee.com/mao-peng/testkit
6
6
  Author: 毛鹏
@@ -12,8 +12,9 @@ Requires-Dist: pydantic==2.9.2
12
12
  Requires-Dist: playwright==1.43.0
13
13
  Requires-Dist: uiautomation==2.0.20
14
14
  Requires-Dist: uiautomator2==3.2.5
15
- Requires-Dist: mangotools>=1.0.23
15
+ Requires-Dist: mangotools>=1.0.28
16
16
  Requires-Dist: adbutils~=2.8.9
17
+ Requires-Dist: uiautodev==0.9.0
17
18
 
18
19
  # testkit
19
20
 
@@ -6,8 +6,9 @@
6
6
  import sys
7
7
 
8
8
  from ..tools._mate import Meta
9
+ from ..tools._uiautodev import start_uiautodev, stop_uiautodev
9
10
 
10
11
  python_version = sys.version_info
11
12
  if f"{python_version.major}.{python_version.minor}" != "3.10":
12
13
  raise Exception("必须使用>Python3.10.4")
13
- __all__ = ['Meta']
14
+ __all__ = ['Meta', 'start_uiautodev', 'stop_uiautodev']
@@ -0,0 +1,49 @@
1
+ # -*- coding: utf-8 -*-
2
+ # @Project: 芒果测试平台
3
+ # @Description:
4
+ # @Time : 2025-07-01 10:43
5
+ # @Author : 毛鹏
6
+
7
+ import subprocess
8
+
9
+ import time
10
+
11
+ uiautodev_process = None
12
+
13
+
14
+ def start_uiautodev():
15
+ """启动 uiautodev 服务"""
16
+ global uiautodev_process
17
+ if uiautodev_process is not None:
18
+ return "uiautodev 服务已在运行!"
19
+ try:
20
+ # 启动 uiautodev 服务(后台运行)
21
+ uiautodev_process = subprocess.Popen(
22
+ ['uiauto.dev'],
23
+ stdout=subprocess.PIPE,
24
+ stderr=subprocess.PIPE,
25
+ text=True
26
+ )
27
+ print("uiautodev 服务启动成功!PID:", uiautodev_process.pid)
28
+ return 'https://uiauto.devsleep.com/'
29
+ except Exception as e:
30
+ return f"启动 uiautodev 服务失败:{e}"
31
+
32
+
33
+ def stop_uiautodev():
34
+ """关闭 uiautodev 服务"""
35
+ global uiautodev_process
36
+
37
+ if uiautodev_process is None:
38
+ return "uiautodev 服务未运行!"
39
+ try:
40
+ uiautodev_process.terminate()
41
+ uiautodev_process.wait(timeout=5)
42
+ return "uiautodev 服务已关闭"
43
+ except subprocess.TimeoutExpired:
44
+ uiautodev_process.kill()
45
+ return "uiautodev 服务被强制终止"
46
+ except Exception as e:
47
+ return f"关闭 uiautodev 服务失败:{e}"
48
+ finally:
49
+ uiautodev_process = None
@@ -124,4 +124,8 @@ class AndroidDriver(AndroidPage,
124
124
  text = self.a_get_text(loc)
125
125
  except Exception:
126
126
  pass
127
- return loc, loc.count, text
127
+ if exp == ElementExpEnum.XPATH.value:
128
+ count = len(loc.all())
129
+ else:
130
+ count = loc.count
131
+ return loc, count, text
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mangoautomation
3
- Version: 1.0.42
3
+ Version: 1.0.44
4
4
  Summary: 测试工具
5
5
  Home-page: https://gitee.com/mao-peng/testkit
6
6
  Author: 毛鹏
@@ -12,8 +12,9 @@ Requires-Dist: pydantic==2.9.2
12
12
  Requires-Dist: playwright==1.43.0
13
13
  Requires-Dist: uiautomation==2.0.20
14
14
  Requires-Dist: uiautomator2==3.2.5
15
- Requires-Dist: mangotools>=1.0.23
15
+ Requires-Dist: mangotools>=1.0.28
16
16
  Requires-Dist: adbutils~=2.8.9
17
+ Requires-Dist: uiautodev==0.9.0
17
18
 
18
19
  # testkit
19
20
 
@@ -18,6 +18,7 @@ mangoautomation/models/__init__.py
18
18
  mangoautomation/models/_ui_model.py
19
19
  mangoautomation/tools/__init__.py
20
20
  mangoautomation/tools/_mate.py
21
+ mangoautomation/tools/_uiautodev.py
21
22
  mangoautomation/uidrive/__init__.py
22
23
  mangoautomation/uidrive/_async_element.py
23
24
  mangoautomation/uidrive/_base_data.py
@@ -3,5 +3,6 @@ pydantic==2.9.2
3
3
  playwright==1.43.0
4
4
  uiautomation==2.0.20
5
5
  uiautomator2==3.2.5
6
- mangotools>=1.0.23
6
+ mangotools>=1.0.28
7
7
  adbutils~=2.8.9
8
+ uiautodev==0.9.0
@@ -1,6 +1,6 @@
1
1
  from setuptools import setup, find_packages
2
2
 
3
- __version__ = '1.0.42'
3
+ __version__ = '1.0.44'
4
4
 
5
5
  with open("README.md", "r", encoding='utf-8') as fh:
6
6
  long_description = fh.read()
@@ -21,8 +21,9 @@ setup(
21
21
  'playwright==1.43.0',
22
22
  'uiautomation==2.0.20',
23
23
  'uiautomator2==3.2.5',
24
- 'mangotools>=1.0.23',
24
+ 'mangotools>=1.0.28',
25
25
  'adbutils~=2.8.9',
26
+ 'uiautodev==0.9.0',
26
27
 
27
28
  ],
28
29
  classifiers=[