robot framework 2.8与3.0/2.9版本的差异

之前一直用的是2.8的版本,后来升级到3.0后发现好多坑,这里介绍一个List和scalar变量转换问题

根据2.8版本list与scalar变量转换限制:

                                 对于List和Scalar变量,必须要赋值(类似于初始化)后才能使用,但要想将List和Scalar变量互相转换,那 有一个限制就是变量必须没有初始化或者赋值过。

 

接下来我在windows上安装3.0版本和linux下安装2.8版本:

robot framework 2.8与3.0/2.9版本的差异_第1张图片robot framework 2.8与3.0/2.9版本的差异_第2张图片

 

看一下案例(左边为windows):

robot framework 2.8与3.0/2.9版本的差异_第3张图片

1.首先对第一行对@{list_val}初始化值为:1,2,3;

2.第二行${list_val}(因为${list_val}没有进行初始化,不会有转换限制),可以看到${list_val}为紫色(说明未初始化),此时打印的log应该为:1,2,3

3.第三行对${list_val}进行赋值,此时的${list_val}值为:4,5,6,这个时候scalar变量${list_val}与@{list_val}都已经进行了初始化,所以不能进行相互间的转换

4.所以第四行打印的log为赋值过后的${list_val}:4,5,6;

5.第五行对@{list_val}从新赋值,此时的@{list_val}值发生改变为:7,8,9;

6.第六行,当打印log时,因为转换限制的原因@{list_val}和${list_val}都已经进行了初始化,他们之间是不能进行转换的,所以此时log打印的应该是初始化的${list_val}:4,5,6;

 

接下里先看下结果(左边是windows):

robot framework 2.8与3.0/2.9版本的差异_第4张图片

可以看出robot framework3.0版本打印的并不是:4,5,6;好像2.9版本也出现这样;希望大家在定义变量的时候多注意规范,尽量不要重名!!!

你可能感兴趣的:(robot framework 2.8与3.0/2.9版本的差异)