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.
- {mangoautomation-1.0.42/mangoautomation.egg-info → mangoautomation-1.0.44}/PKG-INFO +3 -2
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/tools/__init__.py +2 -1
- mangoautomation-1.0.44/mangoautomation/tools/_uiautodev.py +49 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/__init__.py +5 -1
- {mangoautomation-1.0.42 → mangoautomation-1.0.44/mangoautomation.egg-info}/PKG-INFO +3 -2
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation.egg-info/SOURCES.txt +1 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation.egg-info/requires.txt +2 -1
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/setup.py +3 -2
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/LICENSE +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/MANIFEST.in +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/README.md +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/enums/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/enums/_base_enum.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/enums/_ui_enum.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/exceptions/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/exceptions/_error_msg.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/exceptions/_exceptions.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/models/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/models/_ui_model.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/tools/_mate.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/_async_element.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/_base_data.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/_driver_object.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/_sync_element.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_application.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_assertion.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_customization.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_element.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_equipment.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_new_android.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_page.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/pc/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/pc/assertion.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/pc/customization.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/pc/element.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/pc/input_device.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/pc/new_windows.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_assertion.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_browser.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_customization.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_element.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_input_device.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_new_browser.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_page.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_assertion.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_browser.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_customization.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_element.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_input_device.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_new_browser.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_page.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation.egg-info/dependency_links.txt +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation.egg-info/top_level.txt +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/setup.cfg +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/tests/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.44}/tests/test_ui_and.py +0 -0
- {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.
|
|
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.
|
|
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
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/__init__.py
RENAMED
|
@@ -124,4 +124,8 @@ class AndroidDriver(AndroidPage,
|
|
|
124
124
|
text = self.a_get_text(loc)
|
|
125
125
|
except Exception:
|
|
126
126
|
pass
|
|
127
|
-
|
|
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.
|
|
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.
|
|
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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from setuptools import setup, find_packages
|
|
2
2
|
|
|
3
|
-
__version__ = '1.0.
|
|
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.
|
|
24
|
+
'mangotools>=1.0.28',
|
|
25
25
|
'adbutils~=2.8.9',
|
|
26
|
+
'uiautodev==0.9.0',
|
|
26
27
|
|
|
27
28
|
],
|
|
28
29
|
classifiers=[
|
|
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
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_application.py
RENAMED
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_assertion.py
RENAMED
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_customization.py
RENAMED
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_element.py
RENAMED
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_equipment.py
RENAMED
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/android/_new_android.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/pc/customization.py
RENAMED
|
File without changes
|
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/pc/input_device.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_browser.py
RENAMED
|
File without changes
|
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_element.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/async_web/_page.py
RENAMED
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/__init__.py
RENAMED
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_assertion.py
RENAMED
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_browser.py
RENAMED
|
File without changes
|
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_element.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation/uidrive/web/sync_web/_page.py
RENAMED
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.44}/mangoautomation.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|