AirtestProject / AirtestProject/Poco
exists判断UI元素是否存在,单独选中代码运行正常,执行整个脚本报错
- 主要言語
- Python
- スター
- 2k
- フォーク
- 341
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
(请尽量按照下面提示内容填写,有助于我们快速定位和解决问题,感谢配合。否则直接关闭。)
**(重要!问题分类)**
* 图像识别相关问题 -> 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`可以命令可以查到
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
評価
この issue はまだ評価されていません。