51Testing丛书连载:(三十)精通QTP——自动化测试技术领航

发表于:2012-1-16 11:11

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:余杰 赵旭斌    来源:51Testing软件测试网

分享:

  然后,仍然复用之前的脚本,唯一更改的一处就是把引用Globl Sheet改成引用Local Sheet,代码如下所示:

SystemUtil.Run "www.baidu.com"

'唯一的区别就是把Global改成了Action1

testData = DataTable.Value("关键字输入","Action1")

Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("关键字输入框").Set testData

Browser("百度一下,你就知道").Page("百度一下,你就知道").WebButton("百度一下").Click

Browser("百度一下,你就知道").Close

  然后,运行脚本,来看一下尽管Local Sheet中有3行测试数据,但是是否只运行了一次,如图1-209所示。

图1-209

  很明显,图1-209已经给出了结果!通过这两个实例,已经明确了它们之间各自的用处。但是呢,Data Table的确是QTP的一个难点,即使Global Sheet没有数据,仍然可以通过别的方式(代码控制的方式排除在外)去执行Local Sheet下的所有行。在Test Flow(后续章节会介绍)里反击Action后可以进入Action的一些相关设置,如图1-210和图1-211所示。

图1-210

图1-211

  如图1-211,界面很熟悉吧?它和Global的Data Table iterations设置界面相似,在这里选中Run on all rows就可以执行Local Sheet下的所有测试数据了。虽然都是执行所有行数据,不过它们的区别还是很大的,先看一下执行结果,如图1-212(脚本略)。

43/4<1234>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • 海马11
    2016-2-07 09:56:39

    Action设置为 Run one iteration only才对

  • 43220056
    2014-11-11 11:09:02

    我也不明白"“在最后,还总结了一些Global和Local之间的逻辑规则,大致为以下几点"
    我自己试验的也是M*N,不是作者说的那样,为什么呢

  • 如果弯弯
    2013-3-14 21:23:03

    “在最后,还总结了一些Global和Local之间的逻辑规则,大致为以下几点......”我记得不是这样的吧,Global 有M行数据,Aciton1有N行数据的话,全部设置为“run on all rows”我怎么记得是执行M*N次呢,是我理解错误了么

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号