mangoautomation 1.0.42__tar.gz → 1.0.46__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.46}/PKG-INFO +3 -2
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/models/__init__.py +2 -2
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/tools/__init__.py +2 -1
- mangoautomation-1.0.46/mangoautomation/tools/_uiautodev.py +49 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/_async_element.py +2 -2
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/_sync_element.py +2 -2
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/android/__init__.py +11 -18
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/android/_application.py +2 -1
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/android/_assertion.py +2 -1
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/android/_element.py +2 -1
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/android/_equipment.py +2 -1
- mangoautomation-1.0.46/mangoautomation/uidrive/ios/__init__.py +5 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/async_web/__init__.py +3 -11
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/sync_web/__init__.py +3 -11
- {mangoautomation-1.0.42 → mangoautomation-1.0.46/mangoautomation.egg-info}/PKG-INFO +3 -2
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation.egg-info/SOURCES.txt +2 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation.egg-info/requires.txt +2 -1
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/setup.py +3 -2
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/LICENSE +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/MANIFEST.in +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/README.md +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/enums/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/enums/_base_enum.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/enums/_ui_enum.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/exceptions/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/exceptions/_error_msg.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/exceptions/_exceptions.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/models/_ui_model.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/tools/_mate.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/_base_data.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/_driver_object.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/android/_customization.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/android/_new_android.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/android/_page.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/pc/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/pc/assertion.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/pc/customization.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/pc/element.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/pc/input_device.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/pc/new_windows.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/async_web/_assertion.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/async_web/_browser.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/async_web/_customization.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/async_web/_element.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/async_web/_input_device.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/async_web/_new_browser.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/async_web/_page.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/sync_web/_assertion.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/sync_web/_browser.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/sync_web/_customization.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/sync_web/_element.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/sync_web/_input_device.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/sync_web/_new_browser.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/sync_web/_page.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation.egg-info/dependency_links.txt +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation.egg-info/top_level.txt +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/setup.cfg +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/tests/__init__.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/tests/test_ui_and.py +0 -0
- {mangoautomation-1.0.42 → mangoautomation-1.0.46}/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.46
|
|
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.
|
|
15
|
+
Requires-Dist: mangotools>=1.1.12
|
|
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
|
|
@@ -10,7 +10,7 @@ from typing import Optional
|
|
|
10
10
|
|
|
11
11
|
from playwright._impl._errors import TargetClosedError, Error
|
|
12
12
|
|
|
13
|
-
from mangotools.assertion import
|
|
13
|
+
from mangotools.assertion import MangoAssertion
|
|
14
14
|
from mangotools.decorator import async_retry
|
|
15
15
|
from mangotools.enums import StatusEnum
|
|
16
16
|
from ..enums import ElementOperationEnum, DriveTypeEnum
|
|
@@ -221,7 +221,7 @@ class AsyncElement(AsyncWebDevice, AndroidDriver):
|
|
|
221
221
|
if is_ass:
|
|
222
222
|
if callable(getattr(AsyncWebAssertion, self.element_model.ope_key, None)):
|
|
223
223
|
i.v = loc
|
|
224
|
-
elif callable(getattr(
|
|
224
|
+
elif callable(getattr(MangoAssertion(), self.element_model.ope_key, None)):
|
|
225
225
|
i.v = self.element_result_model.element_text
|
|
226
226
|
else:
|
|
227
227
|
i.v = loc
|
|
@@ -10,7 +10,7 @@ from typing import Optional
|
|
|
10
10
|
import time
|
|
11
11
|
from playwright._impl._errors import TargetClosedError, Error
|
|
12
12
|
|
|
13
|
-
from mangotools.assertion import
|
|
13
|
+
from mangotools.assertion import MangoAssertion
|
|
14
14
|
from mangotools.decorator import sync_retry
|
|
15
15
|
from mangotools.enums import StatusEnum
|
|
16
16
|
from ..enums import ElementOperationEnum, DriveTypeEnum
|
|
@@ -221,7 +221,7 @@ class SyncElement(SyncWebDevice, AndroidDriver):
|
|
|
221
221
|
if is_ass:
|
|
222
222
|
if callable(getattr(SyncWebAssertion, self.element_model.ope_key, None)):
|
|
223
223
|
i.v = loc
|
|
224
|
-
elif callable(getattr(
|
|
224
|
+
elif callable(getattr(MangoAssertion(), self.element_model.ope_key, None)):
|
|
225
225
|
i.v = self.element_result_model.element_text
|
|
226
226
|
else:
|
|
227
227
|
i.v = loc
|
{mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/android/__init__.py
RENAMED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
-
# @Project:
|
|
2
|
+
# @Project: 芒果测试平台
|
|
3
|
+
# @Description:
|
|
3
4
|
# @Time : 2023-09-09 23:17
|
|
4
5
|
# @Author : 毛鹏
|
|
5
6
|
|
|
@@ -7,8 +8,7 @@ from uiautomator2 import UiObject, UiObjectNotFoundError
|
|
|
7
8
|
from uiautomator2.exceptions import XPathElementNotFoundError
|
|
8
9
|
from uiautomator2.xpath import XPathSelector
|
|
9
10
|
|
|
10
|
-
from mangotools.assertion import
|
|
11
|
-
from mangotools.assertion import SqlAssertion
|
|
11
|
+
from mangotools.assertion import MangoAssertion
|
|
12
12
|
from ..android._application import AndroidApplication
|
|
13
13
|
from ..android._assertion import AndroidAssertion
|
|
14
14
|
from ..android._customization import AndroidCustomization
|
|
@@ -65,28 +65,17 @@ class AndroidDriver(AndroidPage,
|
|
|
65
65
|
|
|
66
66
|
def a_assertion_element(self, name, ope_key, ope_value):
|
|
67
67
|
self.base_data.log.debug(f'断言元素,名称:{name},key:{ope_key},value:{ope_value}')
|
|
68
|
-
|
|
69
68
|
is_method = callable(getattr(AndroidAssertion(self.base_data), ope_key, None))
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
if is_method or is_method_public:
|
|
69
|
+
if is_method:
|
|
73
70
|
if ope_value['value'] is None:
|
|
74
71
|
raise MangoAutomationError(*ERROR_MSG_0031, value=(name,))
|
|
75
|
-
|
|
76
72
|
try:
|
|
77
73
|
if is_method:
|
|
78
74
|
self.base_data.log.debug(f'开始断言-1,方法:{ope_key},断言值:{ope_value}')
|
|
79
75
|
Mango.s_e(AndroidAssertion(self.base_data), ope_key, ope_value)
|
|
80
|
-
elif is_method_public:
|
|
81
|
-
self.base_data.log.debug(f'开始断言-2,方法:{ope_key},断言值:{ope_value}')
|
|
82
|
-
Mango.s_e(PublicAssertion, ope_key, ope_value)
|
|
83
76
|
else:
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
self.base_data.log.debug(f'开始断言-3,方法:sql相等端游,实际值:{ope_value}')
|
|
87
|
-
SqlAssertion.sql_is_equal(**ope_value)
|
|
88
|
-
else:
|
|
89
|
-
raise MangoAutomationError(*ERROR_MSG_0019)
|
|
77
|
+
self.base_data.log.debug(f'开始断言-2,方法:{ope_key},断言值:{ope_value}')
|
|
78
|
+
Mango.s_e(MangoAssertion(self.base_data.mysql_connect).ass(ope_key, ope_value))
|
|
90
79
|
except AssertionError as error:
|
|
91
80
|
self.base_data.log.error(f'安卓自动化失败-1,类型:{type(error)},失败详情:{error}')
|
|
92
81
|
raise MangoAutomationError(*ERROR_MSG_0017, value=error.args)
|
|
@@ -124,4 +113,8 @@ class AndroidDriver(AndroidPage,
|
|
|
124
113
|
text = self.a_get_text(loc)
|
|
125
114
|
except Exception:
|
|
126
115
|
pass
|
|
127
|
-
|
|
116
|
+
if exp == ElementExpEnum.XPATH.value:
|
|
117
|
+
count = len(loc.all())
|
|
118
|
+
else:
|
|
119
|
+
count = loc.count
|
|
120
|
+
return loc, count, text
|
{mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/async_web/__init__.py
RENAMED
|
@@ -9,7 +9,7 @@ import traceback
|
|
|
9
9
|
from playwright._impl._errors import TimeoutError, Error
|
|
10
10
|
from playwright.async_api._generated import Locator
|
|
11
11
|
|
|
12
|
-
from mangotools.assertion import
|
|
12
|
+
from mangotools.assertion import MangoAssertion
|
|
13
13
|
from mangotools.enums import StatusEnum
|
|
14
14
|
from mangotools.mangos import Mango
|
|
15
15
|
from ....enums import ElementExpEnum, ElementOperationEnum
|
|
@@ -67,7 +67,6 @@ class AsyncWebDevice(AsyncWebBrowser,
|
|
|
67
67
|
async def web_assertion_element(self, name, ope_key, ope_value):
|
|
68
68
|
self.base_data.log.debug(f'断言元素,名称:{name},key:{ope_key},value:{ope_value}')
|
|
69
69
|
is_method = callable(getattr(AsyncWebAssertion, ope_key, None))
|
|
70
|
-
is_method_public = callable(getattr(PublicAssertion, ope_key, None))
|
|
71
70
|
try:
|
|
72
71
|
if is_method:
|
|
73
72
|
if ope_value.get('actual', None) is None:
|
|
@@ -75,16 +74,9 @@ class AsyncWebDevice(AsyncWebBrowser,
|
|
|
75
74
|
raise MangoAutomationError(*ERROR_MSG_0031, value=(name,))
|
|
76
75
|
self.base_data.log.debug(f'开始断言-1,方法:{ope_key},断言值:{ope_value}')
|
|
77
76
|
await Mango.a_e(AsyncWebAssertion(self.base_data), ope_key, ope_value)
|
|
78
|
-
elif is_method_public:
|
|
79
|
-
self.base_data.log.debug(f'开始断言-2,方法:{ope_key},断言值:{ope_value}')
|
|
80
|
-
Mango.s_e(PublicAssertion, ope_key, ope_value)
|
|
81
77
|
else:
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
self.base_data.log.debug(f'开始断言-3,方法:sql相等端游,实际值:{ope_value}')
|
|
85
|
-
await SqlAssertion.sql_is_equal(**ope_value)
|
|
86
|
-
else:
|
|
87
|
-
raise MangoAutomationError(*ERROR_MSG_0019)
|
|
78
|
+
self.base_data.log.debug(f'开始断言-2,方法:{ope_key},断言值:{ope_value}')
|
|
79
|
+
Mango.s_e(MangoAssertion(self.base_data.mysql_connect).ass(ope_key, ope_value))
|
|
88
80
|
except AssertionError as error:
|
|
89
81
|
self.base_data.log.debug(f'WEB自动化断言失败-1,类型:{type(error)},失败详情:{error}')
|
|
90
82
|
raise MangoAutomationError(*ERROR_MSG_0017, value=error.args)
|
{mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/sync_web/__init__.py
RENAMED
|
@@ -9,7 +9,7 @@ import traceback
|
|
|
9
9
|
from playwright._impl._errors import TimeoutError, Error
|
|
10
10
|
from playwright.sync_api._generated import Locator
|
|
11
11
|
|
|
12
|
-
from mangotools.assertion import
|
|
12
|
+
from mangotools.assertion import MangoAssertion
|
|
13
13
|
from mangotools.enums import StatusEnum
|
|
14
14
|
from mangotools.mangos import Mango
|
|
15
15
|
from ....enums import ElementExpEnum
|
|
@@ -67,23 +67,15 @@ class SyncWebDevice(SyncWebBrowser,
|
|
|
67
67
|
def web_assertion_element(self, name, ope_key, ope_value):
|
|
68
68
|
self.base_data.log.debug(f'断言元素,名称:{name},key:{ope_key},value:{ope_value}')
|
|
69
69
|
is_method = callable(getattr(SyncWebAssertion, ope_key, None))
|
|
70
|
-
is_method_public = callable(getattr(PublicAssertion, ope_key, None))
|
|
71
70
|
try:
|
|
72
71
|
if is_method:
|
|
73
72
|
if ope_value.get('actual', None) is None:
|
|
74
73
|
raise MangoAutomationError(*ERROR_MSG_0031, value=(name,))
|
|
75
74
|
self.base_data.log.debug(f'开始断言-1,方法:{ope_key},断言值:{ope_value}')
|
|
76
75
|
Mango.s_e(SyncWebAssertion(self.base_data), ope_key, ope_value)
|
|
77
|
-
elif is_method_public:
|
|
78
|
-
self.base_data.log.debug(f'开始断言-2,方法:{ope_key},断言值:{ope_value}')
|
|
79
|
-
Mango.s_e(PublicAssertion, ope_key, ope_value)
|
|
80
76
|
else:
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
self.base_data.log.debug(f'开始断言-3,方法:sql相等端游,实际值:{ope_value}')
|
|
84
|
-
SqlAssertion.sql_is_equal(**ope_value)
|
|
85
|
-
else:
|
|
86
|
-
raise MangoAutomationError(*ERROR_MSG_0019)
|
|
77
|
+
self.base_data.log.debug(f'开始断言-2,方法:{ope_key},断言值:{ope_value}')
|
|
78
|
+
Mango.s_e(MangoAssertion(self.base_data.mysql_connect).ass(ope_key, ope_value))
|
|
87
79
|
except AssertionError as error:
|
|
88
80
|
self.base_data.log.debug(f'WEB自动化断言失败-1,类型:{type(error)},失败详情:{error}')
|
|
89
81
|
raise MangoAutomationError(*ERROR_MSG_0017, value=error.args)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mangoautomation
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.46
|
|
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.
|
|
15
|
+
Requires-Dist: mangotools>=1.1.12
|
|
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
|
|
@@ -31,6 +32,7 @@ mangoautomation/uidrive/android/_element.py
|
|
|
31
32
|
mangoautomation/uidrive/android/_equipment.py
|
|
32
33
|
mangoautomation/uidrive/android/_new_android.py
|
|
33
34
|
mangoautomation/uidrive/android/_page.py
|
|
35
|
+
mangoautomation/uidrive/ios/__init__.py
|
|
34
36
|
mangoautomation/uidrive/pc/__init__.py
|
|
35
37
|
mangoautomation/uidrive/pc/assertion.py
|
|
36
38
|
mangoautomation/uidrive/pc/customization.py
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from setuptools import setup, find_packages
|
|
2
2
|
|
|
3
|
-
__version__ = '1.0.
|
|
3
|
+
__version__ = '1.0.46'
|
|
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.
|
|
24
|
+
'mangotools>=1.1.12',
|
|
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
|
{mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/android/_customization.py
RENAMED
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.46}/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.46}/mangoautomation/uidrive/pc/customization.py
RENAMED
|
File without changes
|
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/pc/input_device.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/async_web/_browser.py
RENAMED
|
File without changes
|
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/async_web/_element.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/async_web/_page.py
RENAMED
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/sync_web/_assertion.py
RENAMED
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/sync_web/_browser.py
RENAMED
|
File without changes
|
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/sync_web/_element.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.46}/mangoautomation/uidrive/web/sync_web/_page.py
RENAMED
|
File without changes
|
{mangoautomation-1.0.42 → mangoautomation-1.0.46}/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
|