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

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

问题:
使用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文件后,调用函数来删除变量

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