AirtestProject / AirtestProject/Poco

exists判断UI元素是否存在,单独选中代码运行正常,执行整个脚本报错

Abierto
#202 8 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
2k
Forks
341
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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

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

**描述问题bug**
代码如下:
repetitive = poco("n41")
print(repetitive.exists())
该ui不存在时,运行脚本报错,单独运行该部分代码,能够打印结果(False)

```
Traceback (most recent call last):
File "C:\Install\Python35\lib\site-packages\airtest\cli\runner.py", line 65, in runTest
six.reraise(*sys.exc_info())
File "C:\Install\Python35\lib\site-packages\six.py", line 693, in reraise
raise value
File "C:\Install\Python35\lib\site-packages\airtest\cli\runner.py", line 61, in runTest
exec(compile(code.encode("utf-8"), pyfilepath, 'exec'), self.scope)
File "D:\workspace\auto_ui_poco\login.air\login.py", line 176, in
login(account='new',server_id='waiwang',name="一四",country="wei")
File "D:\workspace\auto_ui_poco\login.air\login.py", line 113, in login
create(name,country)
File "D:\workspace\auto_ui_poco\login.air\login.py", line 141, in create
print(repetitive.exists())
File "C:\Install\Python35\lib\site-packages\poco\proxy.py", line 72, in wrapped
return func(proxy, *args, **kwargs)
File "C:\Install\Python35\lib\site-packages\poco\proxy.py", line 774, in exists
return self.attr('visible')
File "C:\Install\Python35\lib\site-packages\poco\proxy.py", line 39, in wrapped
return func(self, *args, **kwargs)
File "C:\Install\Python35\lib\site-packages\poco\proxy.py", line 734, in attr
nodes = self._do_query(multiple=False)
File "C:\Install\Python35\lib\site-packages\poco\proxy.py", line 872, in _do_query
self._nodes = self.poco.agent.hierarchy.select(self.query, multiple)
File "C:\Install\Python35\lib\site-packages\poco\freezeui\hierarchy.py", line 90, in select
return self.selector.select(query, multiple)
File "C:\Install\Python35\lib\site-packages\poco\sdk\Selector.py", line 78, in select
return self.selectImpl(cond, multiple, self.getRoot(), 9999, True, True)
File "C:\Install\Python35\lib\site-packages\poco\sdk\Selector.py", line 71, in getRoot
return self.dumper.getRoot()
File "C:\Install\Python35\lib\site-packages\poco\freezeui\hierarchy.py", line 35, in getRoot
root = Node(self.dumpHierarchy())
File "C:\Install\Python35\lib\site-packages\poco\utils\simplerpc\utils.py", line 13, in new_func
ret, err = cb.wait(timeout=30)
File "C:\Install\Python35\lib\site-packages\poco\utils\simplerpc\simplerpc.py", line 74, in wait
self.agent.update()
File "C:\Install\Python35\lib\site-packages\poco\utils\simplerpc\rpcclient.py", line 64, in update
data = self.conn.recv()
File "C:\Install\Python35\lib\site-packages\poco\utils\simplerpc\transport\tcp\main.py", line 36, in recv
msg_bytes = self.c.recv()
File "C:\Install\Python35\lib\site-packages\poco\utils\simplerpc\transport\tcp\safetcp.py", line 39, in recv
trunk = self.sock.recv(size)
ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。
```

**预期效果**
没有检测到该ui,直接返回false,而非中断

**python 版本:** `python3.5`

**poco 版本:** `1.0.76`
> poco版本通过`pip freeze`可以命令可以查到

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.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.