前言
我在优化在公司写的脚本的时候,为了提高其通用性,想让他最大化去进行利用,我打算直接传递字典参数给.py文件的自定义函数,进行一些操作,然后就发现事情并不像我想象的那么简单,传过去老是出错,然后robotframework又看不到python的控制台,那么怎么办呢,经过我和开发同学的讨论,发现我们是传过去进行函数的执行了,只是看不到控制台,于是我就打算使用建一个.txt文件,然后把我想要看到的输出(想print的内容)写入到该txt中,这样就可以看到我的程序执行结果了,不过这也是没有debug,没有控制台的下下策吧。
奇怪的格式
通过txt的显示,我发现我本身想要传过去的是一个dict,字典格式,而我在robotframework里也是用的Creat Dictionary,但是我实际传过去的虽然表面来看,直接转str是字典的样子,而且也能使用dict[‘key’]来输出对应的value,但实际上我使用type()却发现,他并不是原始的dict,而是<class ‘robot.utils.dotdict.DotDict’>,是DotDict格式,而不是Dict格式,经过查看,我觉得他是一种伪字典,为了适配robotframework的特殊语法而建立的,同样,他也可以使用.values()方法,但生成的也并不是list,通过type查看发现是<class ‘odict_values’>,其实这就很玄幻,感觉这是一个大坑,以后写的时候一定要注意这种直接传字典,列表之类的到.py文件这边的自定义函数,容易出现问题