51Testing软件测试论坛

标题: 参数化的问题 [打印本页]

作者: hiyizhiyu    时间: 2006-5-8 09:41
标题: 参数化的问题
刚刚学习QTP
照着用户手册测试飞机订票网站时
我在参数化地点后
在对应的字段中输入了好几个地点
用户手册上说脚本会自动按每个地点值执行一次
但为什么我的脚本每次总是只执行第一个值后就自动停止了
一直不知道怎么解决
哪个大哥给点提示
谢谢
作者: hiyizhiyu    时间: 2006-5-8 09:52
Browser("Welcome: Mercury").Page("Welcome: Mercury").WebEdit("userName").Set "yizhiyu"
Browser("Welcome: Mercury").Page("Welcome: Mercury").WebEdit("password").SetSecure "444c8eef8998786dbc34"
Browser("Welcome: Mercury").Page("Welcome: Mercury").Image("Sign-In").Click 28,6
Browser("Welcome: Mercury").Page("Find a Flight:").Sync
Browser("Welcome: Mercury").Page("Find a Flight:").WebList("fromPort").Select DataTable("p_Item", dtGlobalSheet)
Browser("Welcome: Mercury").Page("Find a Flight:").WebList("fromMonth").Select "December"
Browser("Welcome: Mercury").Page("Find a Flight:").WebList("fromDay").Select "29"
Browser("Welcome: Mercury").Page("Find a Flight:").WebList("toPort").Select "San Francisco"
Browser("Welcome: Mercury").Page("Find a Flight:").WebList("toMonth").Select "December"
Browser("Welcome: Mercury").Page("Find a Flight:").WebList("toDay").Select "31"
Browser("Welcome: Mercury").Page("Find a Flight:").WebRadioGroup("servClass").Select "Business"
Browser("Welcome: Mercury").Page("Find a Flight:").Image("findFlights").Click 51,16
Browser("Welcome: Mercury").Page("Select a Flight:").Image("reserveFlights").Click 60,14
Browser("Welcome: Mercury").Page("Book a Flight:").WebEdit("passFirst0").Set "lee"
Browser("Welcome: Mercury").Page("Book a Flight:").WebEdit("passLast0").Set "logan"
Browser("Welcome: Mercury").Page("Book a Flight:").WebEdit("creditnumber").Set "88888888888888"
Browser("Welcome: Mercury").Page("Book a Flight:").WebCheckBox("ticketLess").Set "ON"
Browser("Welcome: Mercury").Page("Book a Flight:").Image("buyFlights").Click 47,15
Browser("Welcome: Mercury").Page("Flight Confirmation:").Image("home").Click
Browser("Welcome: Mercury").Page("Welcome: Mercury_2").Sync

这个是我录制的脚本
Browser("Welcome: Mercury").Page("Find a Flight:").WebList("fromPort").Select DataTable("p_Item", dtGlobalSheet)
这个是参数化后的语句
那个好心人帮我看看问题在哪里吧
谢谢
作者: 海龙    时间: 2006-5-8 11:31
把你的脚本打包发上来

错误信息是什么?
作者: hiyizhiyu    时间: 2006-5-8 13:11
斑竹
没有错误信息啊
就是参数化后没有循环执行表字段中的所有值
只是执行了表字段中的第一个值
是不是参数化后还要修改QTP什么设置才能循环执行所有表字段中的值呢?
作者: 梦醒十分    时间: 2006-5-8 14:20
Menu>Test>Settings>Run>Run on all rows.
另:最后一句Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").Sync最好把它注释掉。
作者: hiyizhiyu    时间: 2006-5-9 09:34
楼上的朋友
好像不是这个原因
难道还是脚本的问题
问一下斑竹
参数化后
是不是整个脚本执行完一次后马上就开始循环
或者能不能给我发个参数化的小脚本参考一下
感谢感谢啊
作者: 海龙    时间: 2006-5-9 13:47
将你的脚本发上来,别人帮你调试好,问题不就解决了吗


参数化后
是不是整个脚本执行完一次后马上就开始循环

这要看你的脚本怎么写
作者: hiyizhiyu    时间: 2006-5-9 18:31
好的
这个是我的脚本
帮忙哦
作者: 海龙    时间: 2006-5-9 22:56
脚本在我的机器上可以回放,只是慢了点
参数华没有问题

你第二次运行失败的原因是因为,IE失去焦点导致找不到窗口,可以通过选择low-level录制模式,在脚本开始插入
Window("Microsoft Internet Explorer").Activate
来解决

  1. Window("Microsoft Internet Explorer").Activate
  2. Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "yizhiyu"
  3. Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "445ece3798a3f1f074a2aff2e4179eaa6827"
复制代码

作者: hiyizhiyu    时间: 2006-5-10 10:17
回放是可以的啊
但是参数化的时候我在global sheet里设置了两个地点:New York,London
可是回放的时候脚本总是只选择New York执行一次
不会执行选择London的操作
为什么呢
这样的话那不是参数化没有什么意义了
帮忙帮忙
作者: ivanland    时间: 2008-9-12 14:42
是不是因为在脚本开始运行第二次迭代的时候找不到页面对象,结束的页面必须和开始的是同一个页面
作者: xiaodong    时间: 2008-9-12 16:03
记得有一个object.init()方法..在QTP的官方文档上能查到.
作者: ziheng198688    时间: 2008-9-24 11:28
按照截图试试,应该可以的




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