如何从内存中清除转储(AndroidViewClient/Culebra)数据?

2024-09-29 02:22:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用AndroidViewClient运行一个自动测试脚本。我在剧本中做了几次转储。该脚本用于android设备上的速度/响应时间测试,测试运行时间为n>;300。我在运行#150时得到以下错误。在

raise ValueError(“接收的不包含有效的XML:”+receivedXml) 值错误:接收的不包含有效的XML:Killed

在使用“memory_profiler”对内存进行了一些挖掘和监视之后,转储数据似乎堆积在内存上,减慢了测试速度并影响了测试结果。在

1-为什么我得到错误? 2-转储数据存储在何处? 2-如何在每次转储时清除内存?在


Tags: 数据内存gt脚本错误时间xml速度
1条回答
网友
1楼 · 发布于 2024-09-29 02:22:29

您所描述的似乎是uiautomator dump(可能是您的设备实现)的问题,AndroidViewClient将其用作API>;=19的默认后端。在

但是,为了确保您应该从图片中删除AndroidViewClient,并运行与后端相同的命令。在

AndroidViewClient 12.0.2支持在命令行中指定的一些调试选项,确定正在运行的命令非常有用。在

$ dump  debug UI_AUTOMATOR:True > /dev/null

此命令将打印如下内容

^{pr2}$

然后,您可以重复运行此命令来确定设备是否存在问题。在

例如,复制在您可以使用bash运行之前打印的命令

for n in {0..299}; do echo $n; adb shell uiautomator dump  compressed /dev/tty \>/dev/null >/dev/null; done

然后检查设备上是否有内存泄漏或故障。在

关于您的问题,正如您从命令中看到的,转储数据不会存储在任何地方,只复制到套接字。 有些版本要求数据存储在本地设备上,但在这种情况下,每次使用的文件都会被覆盖。在

相关问题 更多 >