51Testing软件测试论坛

标题: 关于QTP中global 和 local 的问题?(问题已解决) [打印本页]

作者: bdwang    时间: 2008-3-14 11:38
标题: 关于QTP中global 和 local 的问题?(问题已解决)
global 和 local的区别在一些文档中写道:
global 是全局的,有几行数据程序就要回放几次!!不能重新设置!!
local 是局部的,有几行数据action 就要回访几次!设置action的重复次数的操作:反击action,选择action call property,即可进行选择.

在实际应用中,当只global sheet中有数据时,有几行数据脚本就回放几次;只local action sheet有数据时,选择action call property中Run  one iteration only时,只运行一行,选择Run On all Rows时所有行数据都运行。

现在,把global(3行数据)和local(4行数据)结合起来使用时出现了下面的问题:
被执行action的action call property属性选择Run On all Rows,脚本回放过程中,因为global中有3行,所以脚本应该运行3次;
第一次:global第一行数据运行,local action运行了4次,但每次都是运行local中的第一行数据;
第二次:global第二行数据运行,local action运行了4次,但local中的4行数据被依次执行;
第三次:global第三行数据运行,local action运行了4次,local中的4行数据被依次执行;

疑问:第一次的运行时的现象怎么解释阿??又怎么解决呢?
请教各位,谢谢!

[ 本帖最后由 bdwang 于 2008-3-14 13:36 编辑 ]
作者: bdwang    时间: 2008-3-14 13:35
问题已解决!
作者: jaunty    时间: 2008-3-14 14:07
请把问题解决方案解决
作者: yayali    时间: 2008-3-14 16:30
楼主咋解决的,共享出来经验不?
谢谢~
作者: bdwang    时间: 2008-3-14 17:22
其实是我修改脚本后出现的问题:我在脚本中加入了output checkpoint,并把输出的结果生成在data table 的action sheet里的一列,运行local的第一行数据时,由于输出的数据比较多,把这行的行幅变宽了;导致第二条数据向下移了,local运行第二次时,没有在原来的位置捕获第二行数据,捕获的还是第一行数据,依次类推,由于data table初始的行距运行脚本时发生了变化,所以local运行4次时都是第一行的数据。global第二次,第三次运行时local的数据能够依次的被正确执行是因为运行完第一次后,由于已经有数据输出,local sheet中的行距已经成型,固定了,不会变宽,这样就正确的捕获了数据。

这么说不知道大家能不能看明白,其实自己操作一下就明白了。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2