QTP脚本下标越界的解决办法(图文详解)

2025-11-06 02:41:17

1、VBS(VBScript)作为一种脚本语音,很多时候大家将VBS看作是VB语言的一个简化版,它们之间存在着继承的关系,在这里小编为什么要提到VB语言呢?因为小编即将会用VB语言里面的东西来阐述下标越界。

QTP脚本下标越界的解决办法(图文详解)

2、我们通常所遇到的下标越界发生在数组的使用中,所谓下标对应的还有上标,读者可以把上标与下标之间看作是一个范围,而发生下标越界,就是操作者引用了不存在的数组元素,超出的数组元素的范围,从而引发下标越界。

QTP脚本下标越界的解决办法(图文详解)

3、下面我为大家写一个简单的脚本例子,来重现下标越界。

例子:

Dim array_test '定义一个数组

array_test=array("张三","李四","王二") ’为数组赋值

msgbox array_test(3) ’打印出数组第3个元素

QTP脚本下标越界的解决办法(图文详解)

4、读者从步骤3的例子中有没有发现什么问题?小编第一步就是定义了一个数组名字叫array_test,第二步为这个数组赋值3个数组元素,第三步打印出第3个数组元素。但是脚本运行却发生错误,提示"下标越界"如下图:

QTP脚本下标越界的解决办法(图文详解)

5、数组明明定义了3个数组元素,为什么将第三个元素打印出来会提示错误呢?接着读者就跟随小编的脚步进行排查一下吧。

array_test=array("张三","李四","王二")

QTP脚本下标越界的解决办法(图文详解)

6、排查方法:

Dim array_test

array_test=array("张三","李四","王二")

For i=1 to 3  '循环打印出数组中的元素

print  array_test(i)&i

Next

******************************************

打印出的结果:

李四1

王二2

QTP脚本下标越界的解决办法(图文详解)

7、解说:

大家从打印出的结果可以看出循环打印的第一个数组元素是“李四”,但是从数组定义中“李四”应该是第二个元素,说到这里读者可能就会明白脚本在读取数组时是从数组0开始读取,所以在循环1到3时就只打印了数组第2个和第3个元素。

QTP脚本下标越界的解决办法(图文详解)

8、修改办法:

将上面给出的例子中的打印msgbox array_test(3)改为msgbox array_test(2)即可以解决下标越界的问题。

Dim array_test '定义一个数组

array_test=array("张三","李四","王二") ’为数组赋值

msgbox array_test(2) ’打印出数组第3个元素

QTP脚本下标越界的解决办法(图文详解)

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢