51Testing软件测试论坛

标题: qtp参数化后运行报错,急需帮助,非常感谢 [打印本页]

作者: chy0705    时间: 2009-5-13 11:56
标题: qtp参数化后运行报错,急需帮助,非常感谢
错误指向Dialog("Login").WinEdit("Agent Name:").Set "mercury"
作者: lgc860617    时间: 2009-5-13 12:09
。。。。你把代码都发出来啊,光看这一行也没用啊
作者: angek    时间: 2009-5-13 14:16
应该把错误描述也贴出来
作者: chy0705    时间: 2009-5-13 15:45
标题: 代码如下
Dialog("Login").WinEdit("Agent Name:").Set "mercury"
Dialog("Login").WinEdit("Password:").SetSecure "4a0a171da866fbb6ee06091ba8a7a87cab684f40"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").WinObject("Date of Flight:").Type "090909"
Window("Flight Reservation").WinComboBox("Fly From:").Select DataTable("fly_from", dtGlobalSheet)
Window("Flight Reservation").WinComboBox("Fly To:").Select "Paris"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select RandomNumber(0, 100)
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "tom"
Window("Flight Reservation").WinButton("Insert Order").Click
Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"
作者: chy0705    时间: 2009-5-13 15:50
标题: qtp参数化后运行报错,如图所示
恳请帮忙解答!谢谢!
作者: allenzhao28    时间: 2009-5-13 16:15
你的from city是参数化了,但是to city是hard code到Paris,不是所有航线都到Paris。

建议你将to city用随机数来选取。
作者: fei.ge    时间: 2009-5-13 16:54
错误指向Dialog("Login").WinEdit("Agent Name:").Set "mercury"

<<什么错误描述啊,第一行就报错,该不是找不到登录的页面吧
作者: 鹭岛    时间: 2009-5-13 17:09
软件是否启动?
作者: chy0705    时间: 2009-5-13 17:36
标题: 报错信息如下
Cannot find the "Agent Name:" object's parent "Login" (class Dialog). Verify that parent properties match an object currently displayed in your application.
作者: chy0705    时间: 2009-5-13 17:43
标题: 谢谢你们的帮忙!
感谢啦!再麻烦看下
作者: peterz    时间: 2009-5-13 17:44
原帖由 chy0705 于 2009-5-13 17:36 发表
Cannot find the "Agent Name:" object's parent "Login" (class Dialog). Verify that parent properties match an object currently displayed in your application.

去对象库里用highlight查查
作者: hsjzfling    时间: 2009-5-13 19:26
Dialog("Login")这个对象没找到嘛。。。
1. 建议你从运行flight程序的代码开始执行,执行前关闭掉其它的flight进程。
2. 可能是对象库中的Dialog("Login")对象属性与实际的不匹配,如果你修改过对象库中的该对象则可能导致此问题。
作者: chy0705    时间: 2009-5-14 09:39
标题: 现在问题解决了哈!就是页面没打开,执行第二组是数据时,需要手动打开程序
请问各位同学能不能让其自动打开程序执行呢?怎样设置呢?
作者: fei.ge    时间: 2009-5-14 10:03
可以的,有两种方式打开程序
1、程序设定automation--->record and Run settings--->   web 程序在web栏设定,CS程序在windows applications  设定

2、脚本里通过语句设定
   语句有好几种,推荐用systemutil.run ,具体用法你看下QTP帮助文档
作者: chy0705    时间: 2009-5-14 10:23
标题: 执行报错
fei.ge我按照你说的设置了,居然报错了,第一组数据程序都打不开了呢。实际上应该是在这里设置的哈,怎么回事呢
作者: chy0705    时间: 2009-5-14 10:26
而且很奇怪的是,只有执行第二组数据时需手动打开程序,第三组就能够自动打开执行了
作者: chy0705    时间: 2009-5-14 11:15
没人回复哇?
作者: fei.ge    时间: 2009-5-14 13:47
你按照QTP程序里设置的方法启动程序,那么在录制或回放的时候,会打开程序。

参数话的方法循环的化,不会再次打开程序。

你多试试!
作者: chy0705    时间: 2009-5-14 14:13
标题: 回复 18# 的帖子
好的!
还要再请教一个问题,为啥参数化后运行结果都是done?而没有pass或fail的呢?
作者: fei.ge    时间: 2009-5-14 14:18
你可以通过
Reporter.ReportEvent 0,”对象/事件名称”,”详细说明”

这个函数来生成报告。
作者: chy0705    时间: 2009-5-14 14:49
标题: 回复 20# 的帖子
非常感谢fei.ge!
作者: jlyu_123456    时间: 2009-5-15 18:48
你没有设检查点,所以报告中应该没有pass或者fail
作者: choco_zmf    时间: 2010-7-16 14:29
我也遇到相同的问题, 参数化循环, 第一组数据执行完以后就停止了, 手动启动了login界面继续执行第二组数据,第三组数据则可以循环, 这个是什么原因造成的?

另外, 我已经设置了 Run on all rows.
作者: zhuxi123    时间: 2010-7-20 09:47
那是因为你第一次循环结束时的状态和循环开始时的状态不一样 你只要让你的脚本在循环结束后回到你循环开始时的页面就可以了




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