自动化工具 [RF] 在 RF 中如何释放大量迭代产生的内存占用?

JackyRoc · 2018年04月17日 · 最后由 在路上 回复于 2018年04月18日 · 1645 次阅读

问题:
使用 Robot Framework 做一些自动化辅助工具,中间需要用到大量的多层迭代,处理了大量的 JSON 报文,使用了很多变量,
在运行的时候,python 进程就会占用大量内存 (达到 1GB),影响执行速度,最后生成 excel 的时候有时还会报内存错误。

尝试:
python 中有几种方法,
1.减少内存消耗:如使用 xrange、使用生成器 yeild
2.回收内存:
del {变量}
gc.collect()
3.使用高效编译器,如 pypy

困难:
方法 1,难以在 RF 使用,如果要使用需要自己写大量扩展
方法 3,很奇怪,我使用没什么效果,原版 pybot 执行一遍 40 分钟,pypy 的 pybot 跑一边也差不多 40 分钟,内存消耗也差不多。

比较方便应用的感觉就是方法 2 了,
但是 ‘del {变量}’ 这句在 RF 该如何写?
Evaluate del ${res},${response}
直接这样用会报错。

共收到 1 条回复 时间 点赞

把删除变量的功能封装成函数,RF 引用 py 文件后,调用函数来删除变量

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册