RobotFramework中None与null的使用

一、概念

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

2.None与null:None与null是指没有在内存中分配空间的,所以是没有值的。为什么None与null放一起说,都是一样的,只是在一些运行上可能不认None,但是null是基本都认的。在RobotFramework中会把null转换成Nome,下面会有例子说明。在RobotFramework中表示方法:${None}、${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,一定要注意格式,如果直接写成了${test value} == null,这种比较是直接变量与null这个字符串比较,字符串的值是null,所以如果${test value}的值刚好等于null了,则会输出123

    

 

 

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

    

 

 

 

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

posted @ 2021-07-13 11:51  IT界的一名小婊渣  阅读(776)  评论(0编辑  收藏  举报