mangoautomation 1.0.33__py3-none-any.whl → 1.0.34__py3-none-any.whl

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.

@@ -7,7 +7,7 @@ import asyncio
7
7
  import os
8
8
  import traceback
9
9
 
10
- from playwright._impl._errors import TargetClosedError, Error, TimeoutError
10
+ from playwright._impl._errors import TargetClosedError, Error
11
11
 
12
12
  from mangotools.assertion import PublicAssertion
13
13
  from mangotools.decorator import async_retry
@@ -241,22 +241,22 @@ class AsyncElement(AsyncWebDevice, AndroidDriver):
241
241
  raise MangoAutomationError(*ERROR_MSG_0027)
242
242
 
243
243
  async def __error(self, msg: str):
244
- self.element_result_model.status = StatusEnum.FAIL.value
245
- self.element_result_model.error_message = msg
246
- self.base_data.log.debug(
247
- f"""
248
- 元素操作失败----->
249
- 元 素 对 象:{self.element_model.model_dump() if self.element_model else self.element_model}
250
- 元素测试结果:{
251
- self.element_result_model.model_dump() if self.element_result_model else self.element_result_model}
252
- """
253
- )
254
- file_name = f'失败截图-{self.element_model.name}{self.base_data.test_data.get_time_for_min()}.jpg'
255
- file_path = os.path.join(self.base_data.screenshot_path, file_name)
256
- self.element_result_model.picture_path = file_path
257
- self.element_result_model.picture_name = file_name
258
244
  try:
245
+ self.element_result_model.status = StatusEnum.FAIL.value
246
+ self.element_result_model.error_message = msg
247
+ self.base_data.log.debug(
248
+ f"""
249
+ 元素操作失败----->
250
+ 元 素 对 象:{self.element_model.model_dump() if self.element_model else self.element_model}
251
+ 元素测试结果:{
252
+ self.element_result_model.model_dump() if self.element_result_model else self.element_result_model}
253
+ """
254
+ )
255
+ file_name = f'失败截图-{self.element_model.name}{self.base_data.test_data.get_time_for_min()}.jpg'
256
+ file_path = os.path.join(self.base_data.screenshot_path, file_name)
259
257
  await self.__error_screenshot(file_path)
258
+ self.element_result_model.picture_path = file_path
259
+ self.element_result_model.picture_name = file_name
260
260
  except MangoAutomationError as error:
261
261
  self.element_result_model.error_message += f'执行过程中发生失败,准备截图时截图失败,失败原因:{error.msg}'
262
262
  except Exception as error:
@@ -265,18 +265,7 @@ class AsyncElement(AsyncWebDevice, AndroidDriver):
265
265
 
266
266
  async def __error_screenshot(self, file_path):
267
267
  if self.drive_type == DriveTypeEnum.WEB.value:
268
- try:
269
- await self.w_screenshot(file_path)
270
- except (TargetClosedError, TimeoutError) as error:
271
- self.base_data.log.debug(
272
- f'截图出现异常失败-1,类型:{type(error)},失败详情:{error},失败明细:{traceback.format_exc()}')
273
- self.base_data.setup()
274
- raise MangoAutomationError(*ERROR_MSG_0010)
275
- except AttributeError as error:
276
- self.base_data.log.debug(
277
- f'截图出现异常失败-2,类型:{type(error)},失败详情:{error},失败明细:{traceback.format_exc()}')
278
- self.base_data.setup()
279
- raise MangoAutomationError(*ERROR_MSG_0010)
268
+ await self.w_screenshot(file_path)
280
269
  elif self.drive_type == DriveTypeEnum.ANDROID.value:
281
270
  self.a_screenshot(file_path)
282
271
  else:
@@ -7,7 +7,7 @@ import os
7
7
  import traceback
8
8
 
9
9
  import time
10
- from playwright._impl._errors import TargetClosedError, Error, TimeoutError
10
+ from playwright._impl._errors import TargetClosedError, Error
11
11
 
12
12
  from mangotools.assertion import PublicAssertion
13
13
  from mangotools.decorator import sync_retry
@@ -241,22 +241,22 @@ class SyncElement(SyncWebDevice, AndroidDriver):
241
241
  raise MangoAutomationError(*ERROR_MSG_0027)
242
242
 
243
243
  def __error(self, msg: str):
244
- self.element_result_model.status = StatusEnum.FAIL.value
245
- self.element_result_model.error_message = msg
246
- self.base_data.log.debug(
247
- f"""
248
- 元素操作失败----->
249
- 元 素 对 象:{self.element_model.model_dump() if self.element_model else self.element_model}
250
- 元素测试结果:{
251
- self.element_result_model.model_dump() if self.element_result_model else self.element_result_model}
252
- """
253
- )
254
- file_name = f'失败截图-{self.element_model.name}{self.base_data.test_data.get_time_for_min()}.jpg'
255
- file_path = os.path.join(self.base_data.screenshot_path, file_name)
256
- self.element_result_model.picture_path = file_path
257
- self.element_result_model.picture_name = file_name
258
244
  try:
245
+ self.element_result_model.status = StatusEnum.FAIL.value
246
+ self.element_result_model.error_message = msg
247
+ self.base_data.log.debug(
248
+ f"""
249
+ 元素操作失败----->
250
+ 元 素 对 象:{self.element_model.model_dump() if self.element_model else self.element_model}
251
+ 元素测试结果:{
252
+ self.element_result_model.model_dump() if self.element_result_model else self.element_result_model}
253
+ """
254
+ )
255
+ file_name = f'失败截图-{self.element_model.name}{self.base_data.test_data.get_time_for_min()}.jpg'
256
+ file_path = os.path.join(self.base_data.screenshot_path, file_name)
259
257
  self.__error_screenshot(file_path)
258
+ self.element_result_model.picture_path = file_path
259
+ self.element_result_model.picture_name = file_name
260
260
  except MangoAutomationError as error:
261
261
  self.element_result_model.error_message += f'执行过程中发生失败,准备截图时截图失败,失败原因:{error.msg}'
262
262
  except Exception as error:
@@ -265,18 +265,7 @@ class SyncElement(SyncWebDevice, AndroidDriver):
265
265
 
266
266
  def __error_screenshot(self, file_path):
267
267
  if self.drive_type == DriveTypeEnum.WEB.value:
268
- try:
269
- self.w_screenshot(file_path)
270
- except (TargetClosedError, TimeoutError) as error:
271
- self.base_data.log.debug(
272
- f'截图出现异常失败-1,类型:{type(error)},失败详情:{error},失败明细:{traceback.format_exc()}')
273
- self.base_data.setup()
274
- raise MangoAutomationError(*ERROR_MSG_0010)
275
- except AttributeError as error:
276
- self.base_data.log.debug(
277
- f'截图出现异常失败-2,类型:{type(error)},失败详情:{error},失败明细:{traceback.format_exc()}')
278
- self.base_data.setup()
279
- raise MangoAutomationError(*ERROR_MSG_0010)
268
+ self.w_screenshot(file_path)
280
269
  elif self.drive_type == DriveTypeEnum.ANDROID.value:
281
270
  self.a_screenshot(file_path)
282
271
  else:
@@ -12,10 +12,10 @@ from playwright._impl._errors import TimeoutError, Error, TargetClosedError
12
12
 
13
13
  from mangotools.decorator import async_method_callback
14
14
  from mangotools.models import MethodModel
15
+ from ..._base_data import BaseData
15
16
  from ....exceptions import MangoAutomationError
16
17
  from ....exceptions._error_msg import ERROR_MSG_0049, ERROR_MSG_0013, ERROR_MSG_0058, ERROR_MSG_0059, ERROR_MSG_0010
17
18
  from ....tools import Meta
18
- from ..._base_data import BaseData
19
19
 
20
20
 
21
21
  class AsyncWebBrowser(metaclass=Meta):
@@ -55,7 +55,18 @@ class AsyncWebBrowser(metaclass=Meta):
55
55
  MethodModel(f='path', p='请输入截图保存路径', d=True)])
56
56
  async def w_screenshot(self, path: str):
57
57
  """整个页面截图"""
58
- await self.base_data.page.screenshot(path=path, full_page=True)
58
+ try:
59
+ await self.base_data.page.screenshot(path=path, full_page=True)
60
+ except (TargetClosedError, TimeoutError) as error:
61
+ self.base_data.log.debug(
62
+ f'截图出现异常失败-1,类型:{type(error)},失败详情:{error},失败明细:{traceback.format_exc()}')
63
+ self.base_data.setup()
64
+ raise MangoAutomationError(*ERROR_MSG_0010)
65
+ except AttributeError as error:
66
+ self.base_data.log.debug(
67
+ f'截图出现异常失败-2,类型:{type(error)},失败详情:{error},失败明细:{traceback.format_exc()}')
68
+ self.base_data.setup()
69
+ raise MangoAutomationError(*ERROR_MSG_0010)
59
70
 
60
71
  @async_method_callback('web', '浏览器操作', 3)
61
72
  async def w_alert(self):
@@ -54,7 +54,18 @@ class SyncWebBrowser(metaclass=Meta):
54
54
  @sync_method_callback('web', '浏览器操作', 2, [MethodModel(f='path', p='请输入截图保存路径', d=True)])
55
55
  def w_screenshot(self, path: str):
56
56
  """整个页面截图"""
57
- self.base_data.page.screenshot(path=path, full_page=True)
57
+ try:
58
+ self.base_data.page.screenshot(path=path, full_page=True)
59
+ except (TargetClosedError, TimeoutError) as error:
60
+ self.base_data.log.debug(
61
+ f'截图出现异常失败-1,类型:{type(error)},失败详情:{error},失败明细:{traceback.format_exc()}')
62
+ self.base_data.setup()
63
+ raise MangoAutomationError(*ERROR_MSG_0010)
64
+ except AttributeError as error:
65
+ self.base_data.log.debug(
66
+ f'截图出现异常失败-2,类型:{type(error)},失败详情:{error},失败明细:{traceback.format_exc()}')
67
+ self.base_data.setup()
68
+ raise MangoAutomationError(*ERROR_MSG_0010)
58
69
 
59
70
  @sync_method_callback('web', '浏览器操作', 3)
60
71
  def w_alert(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mangoautomation
3
- Version: 1.0.33
3
+ Version: 1.0.34
4
4
  Summary: 测试工具
5
5
  Home-page: https://gitee.com/mao-peng/testkit
6
6
  Author: 毛鹏
@@ -10,10 +10,10 @@ mangoautomation/models/_ui_model.py,sha256=IGophozQMO-NQjM_DPdlwud484yfWQw1CRwbD
10
10
  mangoautomation/tools/__init__.py,sha256=i0rZF_gS0h1Rd0bMhgDSJp4JbEb3rm33zg-MDEX7KdE,342
11
11
  mangoautomation/tools/_mate.py,sha256=9lk_EJnAX_OyXbe5WacyHkkcEr2ScBgasl6eUnlklWA,405
12
12
  mangoautomation/uidrive/__init__.py,sha256=Tk_gh4Qg2qnewEGxa-7Id4fkQLY3fvQE4X7JB0BEscY,577
13
- mangoautomation/uidrive/_async_element.py,sha256=Va8uMzLPLk7eS4Gxa2qmMYmoIEx2HE4AURc23BYimZI,13993
13
+ mangoautomation/uidrive/_async_element.py,sha256=MIglLK1hAGBMn2iAoOd0edwN-IXeAw-zmisX7hKl6kw,13328
14
14
  mangoautomation/uidrive/_base_data.py,sha256=OCg5HXk_2sMgf5A6JTJErKLC8nZfhbzwKBRJHCDMueA,3174
15
15
  mangoautomation/uidrive/_driver_object.py,sha256=Re8j6VLHKfwW2VFdi-1XFRuix8tRBLcHYRBLVF6CApE,1962
16
- mangoautomation/uidrive/_sync_element.py,sha256=v6WI_5KVpvdG_3z5vt_gpmp3pFChAfL6c8WtUUmLzUY,13805
16
+ mangoautomation/uidrive/_sync_element.py,sha256=5QAt5SvB17fLdOur8AGmMTRLxLh7xMaUG-HVS7qYo7c,13140
17
17
  mangoautomation/uidrive/android/__init__.py,sha256=FSIzfPane33QEj6bXslpd8bF1xGCDwMAHBOrpNzdyE4,5874
18
18
  mangoautomation/uidrive/android/_application.py,sha256=frvRyqUlx6__3j4xQdaJ4SOnEnipR3uPCOnWKDrkT7Y,2771
19
19
  mangoautomation/uidrive/android/_assertion.py,sha256=xkSBdjSfAbYtidHWWWY7Ko2OYaHi9OcZZOlnqIUT-FM,3611
@@ -31,7 +31,7 @@ mangoautomation/uidrive/pc/new_windows.py,sha256=lETHZa7cW8Z0iUShzgVTRxqivkYaOo8
31
31
  mangoautomation/uidrive/web/__init__.py,sha256=MgTklzty_SvX4UemCnqJuViq3cIjUgAjFoEtP-mcDWw,123
32
32
  mangoautomation/uidrive/web/async_web/__init__.py,sha256=gJxCPWUALVzbQJAM5RH_1-7Jto0hcm1kAXy72pZw24g,9106
33
33
  mangoautomation/uidrive/web/async_web/_assertion.py,sha256=8cLYPe3pP6FrcjDZoFOphP7psgoJJMozq0Z_BDGNXCo,11859
34
- mangoautomation/uidrive/web/async_web/_browser.py,sha256=wrljG5G7CX_B8rtfH_QRuy8WRxphKFZIVvpfH-SEF8U,4587
34
+ mangoautomation/uidrive/web/async_web/_browser.py,sha256=upxhYDXBRcMyeL4w_QrYlIg_03LRQ8FHsw3_RlBl4wQ,5250
35
35
  mangoautomation/uidrive/web/async_web/_customization.py,sha256=uw6p9uLHLXglgSkH4qjDl1v0iGlaNjvf8LljRH5cAHU,347
36
36
  mangoautomation/uidrive/web/async_web/_element.py,sha256=kIIc7DRlsMYj7oCfprf4EdP3Ez8FNN6mnfJ0RZdRXlo,9116
37
37
  mangoautomation/uidrive/web/async_web/_input_device.py,sha256=sMAMHb_8QyPx3pKci0gRDQc2O7h1OYMGyA7fCWl81iM,3288
@@ -39,7 +39,7 @@ mangoautomation/uidrive/web/async_web/_new_browser.py,sha256=bru_zVQ5Z_FEvuX1h8y
39
39
  mangoautomation/uidrive/web/async_web/_page.py,sha256=TCYf79qQdVBBTTNq2COZFJVcLCgg5Ksu9lMgmQPVInU,2147
40
40
  mangoautomation/uidrive/web/sync_web/__init__.py,sha256=vHDYYESVi-6ApllUXOrDopcQod3dBXcPlTSAng8eIGE,8662
41
41
  mangoautomation/uidrive/web/sync_web/_assertion.py,sha256=zZ4_4WiBQFSRwAh0P0JANa5z-ozbNTh3bnUqcZBti9s,11424
42
- mangoautomation/uidrive/web/sync_web/_browser.py,sha256=Fp5UeQix4Qizi2Rq1C6gyIJ4pDYB_BtS-Sh3UeIrxLE,4447
42
+ mangoautomation/uidrive/web/sync_web/_browser.py,sha256=S2l4v8gATuWD4vhKsOqyg2-p7U8VKBW_2PNSg0QUQo8,5110
43
43
  mangoautomation/uidrive/web/sync_web/_customization.py,sha256=E_pfI8gKd0O6r4huJIvA6hoW-X9fSDVL4zEUqhHgxwE,355
44
44
  mangoautomation/uidrive/web/sync_web/_element.py,sha256=6qkn88PVl0XNtXF0jfbePXMqsRht4glidN-MuqghWZE,8716
45
45
  mangoautomation/uidrive/web/sync_web/_input_device.py,sha256=8t6tJgMb4zgb4Sv02XP3gUU0ZVbApCs3WaILv8Fe1iY,3169
@@ -48,8 +48,8 @@ mangoautomation/uidrive/web/sync_web/_page.py,sha256=MNekcL7o5YXEloeuvi3YrpOZxGh
48
48
  tests/__init__.py,sha256=UhCNFqiVjxdh4CXESNo4oE7qfjpYYVkeHbSE5-7LGDY,125
49
49
  tests/test_ui_and.py,sha256=4k0_3bx_k2KbZifeRWGK65sxtdiPUOjkNzZ5oxjrc18,672
50
50
  tests/test_ui_web.py,sha256=MFaUN8O5qKOMMgyk2eelhKZsYcSJm0Do6pCgsdBZEH4,2765
51
- mangoautomation-1.0.33.dist-info/LICENSE,sha256=03WP-mgFmo8ofRYDe1HVDQUEUKQZ2q6P6Q-2A4c-46A,1085
52
- mangoautomation-1.0.33.dist-info/METADATA,sha256=_kKhgFndcusEnJpa65YLXyA7APOn4NqNf7PXaoivSCU,625
53
- mangoautomation-1.0.33.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
54
- mangoautomation-1.0.33.dist-info/top_level.txt,sha256=g-uCmjvEODG8WFbmwbGM0-G0zHntHv8ZsS0PQRaMGtE,22
55
- mangoautomation-1.0.33.dist-info/RECORD,,
51
+ mangoautomation-1.0.34.dist-info/LICENSE,sha256=03WP-mgFmo8ofRYDe1HVDQUEUKQZ2q6P6Q-2A4c-46A,1085
52
+ mangoautomation-1.0.34.dist-info/METADATA,sha256=HBGnVhVDyewbLEXYNiASB6DTCzLftS7CnQL7xGDRVJg,625
53
+ mangoautomation-1.0.34.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
54
+ mangoautomation-1.0.34.dist-info/top_level.txt,sha256=g-uCmjvEODG8WFbmwbGM0-G0zHntHv8ZsS0PQRaMGtE,22
55
+ mangoautomation-1.0.34.dist-info/RECORD,,