AirtestProject / AirtestProject/Poco

一台PC连5台手机,用py命令调起airtest的脚本(按id devices区分),会经常出现用例跑着跑着就卡住了

Đang mở
#80 0 bình luận 0 reaction 1 người được giao Được @yimelia nhận Xem trên GitHub
repo/airtest
Ngôn ngữ chính
Python
Star
2k
Fork
341
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

(请尽量按照下面提示内容填写,有助于我们快速定位和解决问题,感谢配合。否则直接关闭。)

**(重要!问题分类)**
* 图像识别相关问题 -> https://github.com/AirtestProject/Airtest/issues
* 测试开发环境AirtestIDE使用问题 -> https://github.com/AirtestProject/AirtestIDE/issues
* 控件识别、树状结构、poco库报错 -> 此仓库

**描述问题bug**
一台PC连5台手机,用py命令调起airtest的脚本(按id devices区分),会经常出现用例跑着跑着就卡住了
如果是一台PC连1台手机,同样用py命令调起airtest的脚本,就不会出现卡住现象

下面的log描述的是一个AirTest用例在一台手机上卡住了,但同一个AirTest用例在另外4台手机上是pass的
```
{"tag": "function", "depth": 1, "time": "2018-09-11 14:26:01", "data": {"name": "shell", "call_args": {"cmd": "dumpsys window policy | grep mAwake"}, "start_time": 1536647161.164643, "ret": " mAwake=true\r\n", "end_time": 1536647161.507843}}
{"tag": "function", "depth": 1, "time": "2018-09-11 14:26:02", "data": {"name": "keyevent", "call_args": {"keyname": "BACK", "kwargs": {}}, "start_time": 1536647161.507843, "ret": null, "end_time": 1536647162.599843}}
{"tag": "function", "depth": 1, "time": "2018-09-11 14:26:03", "data": {"name": "keyevent", "call_args": {"keyname": "BACK", "kwargs": {}}, "start_time": 1536647162.599843, "ret": null, "end_time": 1536647163.660643}}
{"tag": "function", "depth": 1, "time": "2018-09-11 14:26:04", "data": {"name": "keyevent", "call_args": {"keyname": "HOME", "kwargs": {}}, "start_time": 1536647163.660643, "ret": null, "end_time": 1536647164.7214432}}
{"tag": "function", "depth": 1, "time": "2018-09-11 14:26:05", "data": {"name": "record_ui", "call_args": {"driver": "", "action": "'click'", "ui": "UIObjectProxy of \"Camera\"", "args": "[0.3055555555555556, 0.726]"}, "start_time": 1536647165.704243, "ret": "UIObjectProxy of \"Camera\"", "end_time": 1536647165.704243}}
{"tag": "function", "depth": 2, "time": "2018-09-11 14:26:10", "data": {"name": "try_log_screen", "call_args": {"screen": null}, "start_time": 1536647167.233043, "ret": "1536647169931.jpg", "end_time": 1536647170.025443}}
{"tag": "function", "depth": 1, "time": "2018-09-11 14:26:13", "data": {"name": "touch", "call_args": {"v": [220.00000000000003, 1089.0], "kwargs": {"duration": 0.01}, "times": 1}, "start_time": 1536647167.233043, "ret": [220.00000000000003, 1089.0], "end_time": 1536647173.566643}}
{"tag": "function", "depth": 3, "time": "2018-09-11 14:26:17", "data": {"name": "_cv_match", "call_args": {"self": {"filename": "tpl1535007750276.png", "_filepath": "testcase\\tc_airtest\\TC_Stre_Camera_Normal_0010.air\\tpl1535007750276.png", "threshold": 0.6, "target_pos": 5, "record_pos": [-0.15, 0.572], "resolution": [720, 1500], "rgb": false, "__class__": "Template"}, "screen": "array([[[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]],\n\n [[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]],\n\n [[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]],\n\n ...,\n\n [[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]],\n\n [[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]],\n\n [[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]]], dtype=uint8)"}, "start_time": 1536647175.391843, "ret": null, "end_time": 1536647177.435443}}
{"tag": "function", "depth": 3, "time": "2018-09-11 14:26:18", "data": {"name": "_cv_match", "call_args": {"self": {"filename": "tpl1535007750276.png", "_filepath": "testcase\\tc_airtest\\TC_Stre_Camera_Normal_0010.air\\tpl1535007750276.png", "threshold": 0.6, "target_pos": 5, "record_pos": [-0.15, 0.572], "resolution": [720, 1500], "rgb": false, "__class__": "Template"}, "screen": "array([[[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]],\n\n [[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]],\n\n [[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]],\n\n ...,\n\n [[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]],\n\n [[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]],\n\n [[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]]], dtype=uint8)"}, "start_time": 1536647178.043843, "ret": null, "end_time": 1536647178.449443}}
{"tag": "function", "depth": 3, "time": "2018-09-11 14:26:18", "data": {"name": "try_log_screen", "call_args": {"screen": "array([[[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]],\n\n [[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]],\n\n [[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]],\n\n ...,\n\n [[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]],\n\n [[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]],\n\n [[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0],\n ...,\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]]], dtype=uint8)"}, "start_time": 1536647178.449443, "ret": "1536647178449.jpg", "end_time": 1536647178.4650428}}
{"tag": "function", "depth": 2, "time": "2018-09-11 14:26:18", "data": {"name": "loop_find", "call_args": {"query": {"filename": "tpl1535007750276.png", "_filepath": "testcase\\tc_airtest\\TC_Stre_Camera_Normal_0010.air\\tpl1535007750276.png", "threshold": 0.6, "target_pos": 5, "record_pos": [-0.15, 0.572], "resolution": [720, 1500], "rgb": false, "__class__": "Template"}, "timeout": 3, "threshold": null, "interval": 0.5, "intervalfunc": null}, "start_time": 1536647175.329443, "traceback": "Traceback (most recent call last):\n File \"C:\\Users\\quan.ren\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages\\airtest\\utils\\logwraper.py\", line 72, in wrapper\n res = f(*args, **kwargs)\n File \"C:\\Users\\quan.ren\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages\\airtest\\core\\cv.py\", line 60, in loop_find\n raise TargetNotFoundError('Picture %s not found in screen' % query)\nairtest.core.error.TargetNotFoundError: 'Picture Template(testcase\\\\tc_airtest\\\\TC_Stre_Camera_Normal_0010.air\\\\tpl1535007750276.png) not found in screen'\n", "end_time": 1536647178.527443}}
{"tag": "function", "depth": 1, "time": "2018-09-11 14:26:18", "data": {"name": "exists", "call_args": {"v": {"filename": "tpl1535007750276.png", "_filepath": "testcase\\tc_airtest\\TC_Stre_Camera_Normal_0010.air\\tpl1535007750276.png", "threshold": 0.6, "target_pos": 5, "record_pos": [-0.15, 0.572], "resolution": [720, 1500], "rgb": false, "__class__": "Template"}}, "start_time": 1536647175.329443, "ret": false, "end_time": 1536647178.527443}}
{"tag": "info", "depth": 0, "time": "2018-09-11 14:26:25", "data": {"name": "Final Error", "traceback": "Traceback (most recent call last):\n File \"C:\\Users\\quan.ren\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages\\poco\\proxy.py\", line 26, in wrapped\n proxy.wait_for_appearance(timeout=proxy.poco._pre_action_wait_for_appearance)\n File \"C:\\Users\\quan.ren\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages\\poco\\proxy.py\", line 567, in wait_for_appearance\n raise PocoTargetTimeout('appearance', self)\npoco.exceptions.PocoTargetTimeout: Waiting timeout for appearance of \"UIObjectProxy of \"com.mediatek.camera:id/shutter_button\"\"\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"C:\\Users\\quan.ren\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages\\airtest\\cli\\runner.py\", line 62, in runTest\n exec(compile(code.encode(\"utf-8\"), pyfilepath, 'exec'), self.scope)\n File \"E:\\AutoTP\\testcase\\tc_airtest\\TC_Stre_Camera_Normal_0010.air\\TC_Stre_Camera_Normal_0010.py\", line 33, in \n poco(\"com.mediatek.camera:id/shutter_button\").click()\n File \"C:\\Users\\quan.ren\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages\\poco\\proxy.py\", line 29, in wrapped\n raise e\n File \"C:\\Users\\quan.ren\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages\\poco\\proxy.py\", line 23, in wrapped\n return func(proxy, *args, **kwargs)\n File \"C:\\Users\\quan.ren\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages\\poco\\proxy.py\", line 283, in click\n pos_in_percentage = self.get_position(focus)\n File \"C:\\Users\\quan.ren\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages\\poco\\proxy.py\", line 499, in get_position\n pos = self.attr('pos')\n File \"C:\\Users\\quan.ren\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages\\poco\\proxy.py\", line 39, in wrapped\n return func(self, *args, **kwargs)\n File \"C:\\Users\\quan.ren\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages\\poco\\proxy.py\", line 620, in attr\n nodes = self._do_query(multiple=False)\n File \"C:\\Users\\quan.ren\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages\\poco\\proxy.py\", line 757, in _do_query\n raise PocoNoSuchNodeException(self)\npoco.exceptions.PocoNoSuchNodeException: Cannot find any visible node by query UIObjectProxy of \"com.mediatek.camera:id/shutter_button\"\n"}}

```

**复现步骤**
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**预期效果**
(预期想要得到什么、见到什么)

**相关截图**
(贴出遇到问题时的截图内容,如果有的话)

python 版本: python3.6.4
poco 版本: 1.0.62
系统: [Android 8.1]
PC: windows7

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.