AirtestProject / AirtestProject/Airtest
脚本循环使用exists进行查找,概率脚本卡主的情况
- Lenguaje dominante
- Python
- Estrellas
- 9.6k
- Forks
- 1.5k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
(请尽量按照下面提示内容填写,有助于我们快速定位和解决问题,感谢配合。否则直接关闭。)
**(重要!问题分类)**
* 测试开发环境AirtestIDE使用问题 -> https://github.com/AirtestProject/AirtestIDE/issues
* 控件识别、树状结构、poco库报错 -> https://github.com/AirtestProject/Poco/issues
* 图像识别、设备控制相关问题 -> 按下面的步骤
**描述问题bug**
脚本循环使用exists进行查找,概率脚本卡主的情况
```
[07:43:14][DEBUG] find_best_result() run time is 0.11 s.
[07:43:14][DEBUG] try match with BRISKMatching
[07:43:15][DEBUG] [BRISK] threshold=0.95, result={'result': [319, 223], 'rectangle': [(50, 152), (50, 293), (587, 293), (587, 152)]
, 'confidence': 0.7063780277967453}
[07:43:15][DEBUG] find_best_result() run time is 0.39 s.
[07:43:15][DEBUG] match result: None
[07:43:15][INFO] Try finding:
Template(C:\Users\Administrator\Desktop\worst1.0.0.air\tpl1575167306873.png)
[07:57:15][DEBUG] orientationWatcher has ended
Traceback (most recent call last):
File "F:\AirtestIDE_2019-09-11_py3_win64\sample\custom_launcher.py", line 46, in
run_script(args, CustomCase)
File "D:\ProgramData\Anaconda3\lib\site-packages\airtest\cli\runner.py", line 138, in run_script
result = unittest.TextTestRunner(verbosity=0).run(suite)
File "D:\ProgramData\Anaconda3\lib\unittest\runner.py", line 176, in run
test(result)
File "D:\ProgramData\Anaconda3\lib\unittest\suite.py", line 84, in __call__
return self.run(*args, **kwds)
File "D:\ProgramData\Anaconda3\lib\unittest\suite.py", line 122, in run
test(result)
File "D:\ProgramData\Anaconda3\lib\unittest\case.py", line 653, in __call__
return self.run(*args, **kwds)
File "D:\ProgramData\Anaconda3\lib\unittest\case.py", line 605, in run
testMethod()
File "D:\ProgramData\Anaconda3\lib\site-packages\airtest\cli\runner.py", line 61, in runTest
exec(compile(code.encode("utf-8"), pyfilepath, 'exec'), self.scope)
File "C:\Users\Administrator\Desktop\worst1.0.0.air\worst1.0.0.py", line 135, in
t2_check_and_get()
File "C:\Users\Administrator\Desktop\worst1.0.0.air\worst1.0.0.py", line 127, in t2_check_and_get
catch_exception()
File "C:\Users\Administrator\Desktop\worst1.0.0.air\worst1.0.0.py", line 33, in catch_exception
exist = exists(Template(r"tpl1575167306873.png", threshold=0.9, target_pos=6, record_pos=(0.182, -0.829), resolution=(900, 1600)))
File "D:\ProgramData\Anaconda3\lib\site-packages\airtest\utils\logwraper.py", line 78, in wrapper
res = f(*args, **kwargs)
File "D:\ProgramData\Anaconda3\lib\site-packages\airtest\core\api.py", line 411, in exists
pos = loop_find(v, timeout=ST.FIND_TIMEOUT_TMP)
File "D:\ProgramData\Anaconda3\lib\site-packages\airtest\utils\logwraper.py", line 78, in wrapper
res = f(*args, **kwargs)
File "D:\ProgramData\Anaconda3\lib\site-packages\airtest\core\cv.py", line 59, in loop_find
screen = G.DEVICE.snapshot(filename=None)
File "D:\ProgramData\Anaconda3\lib\site-packages\airtest\core\android\android.py", line 218, in snapshot
screen = self.minicap.get_frame_from_stream()
File "D:\ProgramData\Anaconda3\lib\site-packages\airtest\core\android\minicap.py", line 24, in wrapper
return func(inst, *args, **kwargs)
File "D:\ProgramData\Anaconda3\lib\site-packages\airtest\core\android\minicap.py", line 343, in get_frame_from_stream
return six.next(self.frame_gen)
File "D:\ProgramData\Anaconda3\lib\site-packages\airtest\core\android\minicap.py", line 282, in _get_stream
frame_data = s.recv(frame_size)
File "D:\ProgramData\Anaconda3\lib\site-packages\airtest\utils\safesocket.py", line 30, in recv
trunk = self.sock.recv(min(size-len(self.buf), 4096))
KeyboardInterrupt
[07:57:15][DEBUG] D:\ProgramData\Anaconda3\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s 192.168.31.63:5555 for
ward --remove tcp:19717
[07:57:16][DEBUG] D:\ProgramData\Anaconda3\lib\site-packages\airtest\core\android\static\adb\windows\adb.exe -s 192.168.31.63:5555 for
ward --remove tcp:15716
```
**相关截图**

**复现步骤**
我把图片查找时间设置的很短,不知道是不是这个原因
因为是循环查找,所以我把图片超时时间设置成1秒,然后只找一次,把TMP的时间设置成0.1秒了
ST.FIND_TIMEOUT = 1
ST.FIND_TIMEOUT_TMP = 0.1
**预期效果**
不知道出现了什么问题,该如何规避这种问题
**python 版本:** `python3.5`
**airtest 版本:** `1.1.1`
**设备:**
- 型号: vivo x9s
- 系统: Android 8.1
**其他相关环境信息**
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.