当前位置: 代码迷 >> 综合 >> RobotFramework(一)之None与null的使用
  详细解决方案

RobotFramework(一)之None与null的使用

热度:2   发布时间:2023-12-15 18:35:10.0

最近看到很多人问在RobotFramework中怎么比较None与null?或者问能不能用run keyword if比较变量与null、None啊?答案是肯定可以的,但是很多人忽略了空字符串。下面一一述来。


一、概念

1.空字符串:空字符串是指在内存中分配了存储空间,只是值的长度是0,在RobotFramework中表示方法:”;

2.None与null:None与null是指没有在内存中分配空间的,所以是没有值的。为什么None与null放一起说,都是一样的,只是在一些运行上可能不认None,但是null是基本都认的。在RobotFramework中会把null转换成Nome,下面会有例子说明。在RobotFramework中表示方法:NoneNone、{null},理论上不区分大小写,但是None如果写成none是不认的很奇怪。


二、例子

1.空字符串

(1)下面打开百度,取一下值,然后与null比较


可以看到结果:失败,失败的原因是空字符串不等于None,可以看到明明我写的null,但是结果却显示None,验证了我上面说的会把null转成None。


(2)来看看用run keyword if比较


结果很明显,是打印了456,因为空字符串是不等于null的。


(3)使用run keyword if比较空字符串


结果:是正确的,输出了123



2.None与NULL

None与null我就一起说了,可以看到最后一行,是拿None与null比较


结果:来看结果,都是输出了123,再次证明None与null是一样的,所以任选其一使用就行啦。



3.注意事项

None与null,一定要注意格式,如果直接写成了testvalue==nullnullnulltestvalue==null,这种比较是直接变量与null这个字符串比较,字符串的值是null,所以如果{test value}的值刚好等于null了,则会输出123


结果:可以看到输出了123,但是当${test value}的值不为null,则会输出456,因为这个不是与null对象比较,而是与字符串值为null的对象比较。



总结:对于空字符串与None比较,其最重要的一点就是要弄清楚,你比较的这个对象到底是空字符串还是None,不要看到没值就认为是None。就好像那句,你看到的不一定是真的。哈哈



  相关解决方案