如何在关键字视图中用随机数来参数化
最近买了陈能技老师的《QTP自动化测试实践》来看,第8章中讲到使用随机数来参数化,从而实现订票过程中随机选择航班,书上的代码是:'取得航班列表的行数
ItemCount=Window("Flight Reservation").Dialog("Flights Table").WinList("From").GetItemsCount
'随机选取其中一项
SelectItem=RandomNumber(0,ItemCount)
'选择航班
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select SelectItem
运行正确,关键字视图如下:
试了一下用代码可以,但在关键字视图中来操作,进行如下设置:
设置后关键字视图如下:
专家视图中代码如下:
初学,书上也没有详细的步骤,看了帮助,只讲了对话框里出现的这些选项的意义,具体什么的也没讲,现在的问题是手动设置的随机数参数化能够执行,但就是没有做到随机,试了好几次,每次选择航班时都是选择最后一趟,不知道为什么会这样
希望得到大家的指点,谢谢~~
上传自己录制的脚本,请大家指正~
[ 本帖最后由 purify_jj 于 2008-9-22 13:29 编辑 ] 没人看这本书遇到同样的问题吗? 书买了,但是还没有看到····· lz是用这个方式添加的吗?如图所示:
如果是的话,请把你的设置截图贴上来
[ 本帖最后由 rcpp 于 2008-9-22 10:32 编辑 ] 谢谢楼上rcpp的提醒,现附上操作截图和录制的脚本,有时间帮我看一下哦~ :lol 看来我要找个时间去找找看有这书不,争取在哪里把它翻完了然后不用买 因为楼主的Generate new random number 选择的是For each action iteration,所以在你运行脚本是它总是产生一个随机数,如果楼主尝试多次运行此Action,产生的随机数会不一样,还有一个办法就是不勾选Name,楼主可以试一下! 谢谢楼上,试过还是一样的结果,另外我想在这里,for each atction 和for each test应该是一样的,因为在这个test中,总共就一个action,和陈老师给的代码相比,就是RandomNumber(0,ItemCount)这个函数里面的参数itemCount有不同了,但想想在(0,ItemCount)里选一个,和在(0,100)里先一个应该是一样的效果啊,这里总航班也没有超过100. 这个问题以前有人问过我
现在lz又问起,我觉得有必要写一写了
http://www.51testing.com/?166993/action_viewspace_itemid_93390.html 看了,这样解释能够理解,但有疑惑的地方是,为什么代码方式下,就可以随机呢?产生随机数的道理是一样的,用的函数都是同一个,照理说手动和代码也不应该有区别才是:loveliness:
回复 10# 的帖子
成因不是很清楚,可能是qtp在RandomNumber对象的代码上存在某些问题由于看不到代码,只能就此作出黑盒分析了 呵呵,谢谢热心的rcpp~刚刚开始接触,还有很多似懂非懂的问题,以后多多指教哦,陈老师的书写得还比较好懂,打算先看完,然后再把自带的tutorial做一遍,把基础的弄明白了再说~ 这是QTP的随机对象的一个缺陷,苛刻点说这个对象的实现是有严重的bug。
我遇到过的一些错误:
1.通过关键字视图参数化窗口配置的随机对象,产生的是一个固定的值。
2.通过专家视图书写的脚本,也会产生一个固定的值。
这两种错误都不能100%重现。
如果因为某些原因你遇到这种情况,有个很挫的方法可以规避:
假如下面这行语句产生的是一个固定的值:
tmp = RandomNumber(0, 10)
print tmp
那么就改成下面这样:
RandomNumber(0, 10)
tmp = RandomNumber(0, 10)
print tmp
把这个无耻的随机数对象多调用一次就可以了。 :lol 哈哈,这个QTP随机对象真的是够“无耻”的~~
谢谢gavin.chen
在大家的帮助下,每天积累一小步~
页:
[1]