AirtestProject / AirtestProject/Poco
Poco元素查询耗时很长
- Langage dominant
- Python
- Étoiles
- 2k
- Forks
- 341
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
**问题分类**
控件识别、树状结构
**描述问题bug**
在 Poco **1.0.87** 版本后,某些场景出现查询节点耗时很慢的问题。
```
# 例子运行在AirTest中,直接python触发效果也等同,因此排除AirTest导致。
from airtest.core.api import *
import json
import inspect
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
auto_setup(__file__)
last_time = time.time()
ui = poco.agent.hierarchy.dump()
print("poco获取dump耗时" + str(time.time() - last_time))
last_time = time.time()
poco("add_passenger_button").exists()
print("poco查询元素存在耗时" + str(time.time() - last_time))
last_time = time.time()
poco("add_passenger_button").click()
print("poco点击耗时" + str(time.time() - last_time))
# 打印的结果
============================================================
[Start running..]
save log in '/var/folders/1x/65cvlf_d715ct5kzqtbnzdqm0000gn/T/AirtestIDE/scripts/5abc0f154388cfbfe093f75f50d61f56'
poco_target
/Applications/AirtestIDE.app/Contents/MacOS/poco/drivers/android/uiautomation.py
poco获取dump耗时0.5019688606262207
poco查询元素存在耗时10.28783893585205
[12:18:34][INFO] update orientation None->0
poco点击耗时14.770931243896484
----------------------------------------------------------------------
Ran 1 test in 28.339s
OK
[Finished]
============================================================
```
```
#耗时正常日志
============================================================
[Start running..]
save log in '/var/folders/1x/65cvlf_d715ct5kzqtbnzdqm0000gn/T/AirtestIDE/scripts/5abc0f154388cfbfe093f75f50d61f56'
poco获取dump耗时1.6259679794311523
poco查询元素存在耗时0.3818488121032715
[12:31:51][INFO] update orientation None->0
poco点击耗时4.8794450759887695
----------------------------------------------------------------------
Ran 1 test in 9.681s
OK
[Finished]
============================================================
```
**复现步骤**
1. 降低Poco版本到 **1.0.84** 此问题没有出现。
2. 继续测试发现,将Poco的版本保持在1.0.84(低版本),Poc Service 的APK的版本升级到 1.0.45(高版本),耗时变得很长。
3. 将Poco的版本保持在1.0.87(高版本),Poc Service 的APK的版本降低到 1.0.43(低版本),耗时正常。
由此推断,是Poco Service Apk升级后,导致某些场景查询exist 和 click事件耗时很长。
**预期效果**
希望查询耗时正常。
**相关截图**
(贴出遇到问题时的截图内容,如果有的话)
**python 版本:** `Python 3.8.9`
**poco 版本:** `1.0.87`
**设备:**
- 型号: [三星s8+]
- 系统: [eAndroid 9]
- (别的信息)
**其他相关环境信息**
排除平台和手机特性导致。测试了不同机型的手机,和所有平台的环境,均能稳定复现。
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Évaluation
Cette issue n'a pas encore été évaluée.