51Testing软件测试论坛

标题: QTP Tutorial 中的订票操作参数化后无法运行第二行的解决方法 [打印本页]

作者: walker1020    时间: 2007-4-4 12:31
标题: QTP Tutorial 中的订票操作参数化后无法运行第二行的解决方法
Description:
根据 QTP_Tutorial 里面的步骤介绍,先录制预定从 New York 到 San Francisco 航班的机票的操作,然后增加检查点 Checkpoint,最后对fromPort 进行参数化。最后的脚本如下:

Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "mercury"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").Set "mercury"
Rem 为了说明问题,上面一行是我对原来录制的脚本修改后的结果。如果是录制的脚本,上面一行应为
Rem Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "... "
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 21,2
Wait(5)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select DataTable("depatture", dtGlobalSheet)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromMonth").Select "December"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromDay").Select "29"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toPort").Select "San Francisco"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toMonth").Select "December"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toDay").Select "31"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebRadioGroup("servClass").Select "Business"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 65,7
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 77,10
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebTable("New York to San Francisco").Check CheckPoint("New York to San Francisco")
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Check CheckPoint("Book a Flight: Mercury")
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "Demie"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Check CheckPoint("passFirst0")
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "Sun"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "8888888888888888"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 35,3
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Check CheckPoint("New York")
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("home").Click
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").Sync

[ 本帖最后由 walker1020 于 2007-11-22 23:28 编辑 ]
作者: walker1020    时间: 2007-4-4 12:40
回放时,QTP正常运行完DataTable的第一行,但当第二次运行时,报告错误:

Cannot identify the object "fromPort" (of class WebList). Verify that this object's properties match an object currently displayed in your application.
Line (6): "Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select DataTable("depatture", dtGlobalSheet)".

[ 本帖最后由 walker1020 于 2007-11-22 23:29 编辑 ]
作者: walker1020    时间: 2007-4-4 12:45
标题: 寻找错误
设置断点后,发现是运行完第二行代码后,登陆不成功,自然就找不到这个对象了。仔细检查后发现:在运行第二行的参数时,登陆的时候,userName填完以后,填写password后,userName又变成空的。当然登陆就失败了。
作者: walker1020    时间: 2007-4-4 12:50
Solution:
删除最后一行,问题就解决了。

Analysis:
问题出在最后一行的Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2") 页面与初始页面 Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours") 不是一个页面,登陆自然不会成功。
作者: walker1020    时间: 2007-4-4 12:53
标题: 说明
这是我在帮助一位朋友解决此问题后写的详细结果过程。可能需要初学者都遇到过这个问题,愿我的解答能释去你们的疑惑。为了帮助更多的朋友,把正确的代码共享出来。具体代码请看附件。下载此代码不需要任何积分!
为了便于理解,我已经增加了不少注释。

[ 本帖最后由 walker1020 于 2007-4-4 13:13 编辑 ]
作者: songfun    时间: 2007-4-4 13:35
呵呵,walker兄弟热心,支持你
作者: yuanxinyi16rain    时间: 2007-4-4 13:51
标题: 回复 #5 walker1020 的帖子
good
作者: Coffey111111    时间: 2007-4-4 22:32
谢谢,我遇到过这个问题
作者: limxi520    时间: 2007-4-10 10:22
标题: QTP参数化问题
在最后一节的运行和分析多操作时,“FlightOrder”操作将运行两次,但在第二次循环时就不能识别对象了,请问是怎么回事?应该如何修改?
作者: walker1020    时间: 2007-4-10 21:07
请 limxi520 参考一下我在 #5的附件里面的脚本,看看两者有什么区别。如果问题还有得到解决,那么 就把第二次循环时就不能识别对象的那部分代码放上来吧。这样可以帮你。没有脚本根本没有办法帮你!
作者: limxi520    时间: 2007-4-11 09:03
To walker:
请问每次停止录制都会出现Sync事件是什么意思?这是进Find a Flight页面循环两次的脚本,第二次循环就不能识别对象了,请帮忙看一下应该如何修改?
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select "London"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromMonth").Select DataTable("p_fromMonth", dtLocalSheet)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromDay").Select "29"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toPort").Select DataTable("ArrivalCity", dtLocalSheet)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toMonth").Select DataTable("p_toMonth", dtLocalSheet)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toDay").Select "31"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 51,9
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 77,6
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "zhang"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "ming"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "123456"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 90,14
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("backtoflights").Click
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Sync
作者: walker1020    时间: 2007-4-11 14:00
原帖由 limxi520 于 2007-4-11 09:03 发表
To walker:
请问每次停止录制都会出现Sync事件是什么意思?这是进Find a Flight页面循环两次的脚本,第二次循环就不能识别对象了,请帮忙看一下应该如何修改?
Browser("Welcome: Mercury Tours").Page("Find ...


比较你在 #11放的代码和我在 #1的代码,我猜测你在最后一个页面上点击的是BACK TO FLIGHTS 按钮,而不是QTP Tutorial  里面要求的 BACK TO HOME 按钮。 点击 按钮后,QTP 会为你自动生成代码
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("home").Click

而不是你现在的
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("backtoflights").Click

另外,请把下面一行删除:
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").Sync

[ 本帖最后由 walker1020 于 2007-4-11 14:08 编辑 ]
作者: walker1020    时间: 2007-4-11 14:31
标题: To limxi520
如果你按照我在 # 12的操作去做,问题应该得到解决。提醒你一下:做测试一定要细心!
作者: 风之无痕    时间: 2007-4-11 16:59
搂主,你真行,我还没有作呢,在后面肯定能用上!还有我想问下,如果没有实际的项目,怎么才能练QTP除了那个预订票例子以外?
作者: walker1020    时间: 2007-4-11 18:36
标题: To 风之无痕
对一道数学题,如果你能用 N 种方法去解决,那么你的收获肯定要远远比解答 N个同类的问题的收获大。QTP Tutorial说的那个预订票例子的所有操作(录制、参数化、置检查点、回放等),你都理解吗? 在 Expert View里面的代码你都理解其含义吗?
作者: walker1020    时间: 2007-4-11 18:37
这是一个初学者练习QTP的最好的例子,因为有讲解,还可以来论坛发帖。呵呵!sdlkfj5
作者: 风之无痕    时间: 2007-4-12 09:35
谢谢你的回答,我想知道要学好这个工具都需要什么编程基础或者别的什么计算机知识的基础?
作者: liyun100    时间: 2007-4-12 15:13
谢谢,我也遇到了这个问题,不过我都是手动再录入一次登录名和密码后,就可继续运行了,方法比较笨,也不知道原因在哪,不过现在好了。
作者: zhaojingshu1025    时间: 2007-4-12 16:08
标题: 回复 #1 walker1020 的帖子
傲傲管用,顶一下!
作者: walker1020    时间: 2007-4-12 17:34
原帖由 风之无痕 于 2007-4-12 09:35 发表
谢谢你的回答,我想知道要学好这个工具都需要什么编程基础或者别的什么计算机知识的基础?


如果只是为了学习 QTP,那么只需要学习 VBScript 就可以了。当然,我们不是为了学习工具而学习它。为了测试工作的需要,你还需要
了解甚至熟悉测试系统的语言,例如我现在测试的是 J2EE架构的流程管理软件,那么我要知道 J2EE 方面的相关知识,还要知道企业流程方面的有关知识。学无止境。测试也一样。

[ 本帖最后由 walker1020 于 2007-4-12 17:40 编辑 ]
作者: 冲上云霄    时间: 2007-4-12 20:27
标题: 谢谢斑竹大哥!
帮我解决这个问题,真得很感谢。
毕业一年了,决定在测试这一行潜心学习。
遇到问题能够有斑竹这样的热心人帮忙,觉得感激不尽。
只有更认真学习!!sdlkfj6
作者: 冲上云霄    时间: 2007-4-12 20:29
标题: 学无止境
原帖由 walker1020 于 2007-4-12 17:34 发表


如果只是为了学习 QTP,那么只需要学习 VBScript 就可以了。当然,我们不是为了学习工具而学习它。为了测试工作的需要,你还需要
了解甚至熟悉测试系统的语言,例如我现在测试的是 J2EE架构的流程管理软件 ...


我要好好学习!sdlkfj2 sdlkfj2
作者: zhaojingshu1025    时间: 2007-4-13 11:17
标题: 回复 #1 walker1020 的帖子
楼主你好,我刚刚接触QTP.
想请教一个问题,为什么运行报告总提示
passfirst0失败?我进入Details查看时,value值
下面显示一行灰色条.
作者: walker1020    时间: 2007-4-13 12:52
标题: To zhaojingshu1025
设置检查点时,检查点的位置要选择 After(默认的选项是 Before),在回放就OK了。另外,

[ 本帖最后由 walker1020 于 2007-4-13 12:53 编辑 ]
作者: walker1020    时间: 2007-4-13 12:52
请参考 http://bbs.51testing.com/thread-48130-1-1.html
作者: lilyhuang    时间: 2007-4-13 14:44
我也遇到这个问题了,我按照《QTP8 Tutorial_oldsidney.pdf》上面的最后所提的插入已存在的动作说明做的,开始也遇到LZ在#1所述的现象,我也按LZ的解决方案去把最后的那句:Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").Sync给注释掉了,一运行,连第一次也不行了,同样错误提示.当我再把原来注释掉的打开时,也是一次也不能运行了.
请问这是怎么回事?
我的脚本:
'sign-in
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").WebEdit("userName").Set "lily"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").WebEdit("password").SetSecure "461f1f287666219f003701405990"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").Image("Sign-In").Click 38,7
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury_2").Sync
'copy of flightorder
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select "New York"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromMonth").Select DataTable("p_Item11", dtLocalSheet)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromDay").Select "29"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toPort").Select DataTable("p_Item1", dtLocalSheet)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toMonth").Select "December"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toDay").Select "31"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 64,12
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 59,14
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "huang"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "lily"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "789"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebCheckBox("ticketLess").Set "ON"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 58,3
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("home").Click
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").Sync
'rerurnhome
Return to page used in first step of the test.
Browser("Find a Flight: Mercury").Page("Find a Flight: Mercury").Link("Home").Click
Browser("Find a Flight: Mercury").Page("Welcome: Mercury Tours").Sync
作者: lilyhuang    时间: 2007-4-13 14:50
还有快速回复居然没有地方让我把图片附件给加上去!?
作者: walker1020    时间: 2007-4-13 16:06
请 lilyhuang  把 用户名和密码都改为 mercury后 ,重新录制 然后试试。还有,一定要把最后那一行删除,就是删除
Browser("Find a Flight: Mercury").Page("Welcome: Mercury Tours").Sync
作者: sneel    时间: 2007-4-14 13:10
sdlkfj5 谢谢斑竹了
作者: zhaojingshu1025    时间: 2007-4-26 11:10
标题: 回复 #1 walker1020 的帖子
版主,我想问一下,我对Frommonth参数化后,又进修正.但是运行结果时总提示Checkpoint失败.我不知道为什么.sdlkfj9 sdlkfj9
作者: walker1020    时间: 2007-4-28 08:35
你对 Frommonth参数化后,对 原来的Checkpoint 也要进行修改
作者: apple_love521    时间: 2007-4-29 16:00
标题: 感谢
sdlkfj9 我遇到这样的问题两天了两人,一直没有办法解决,虽然我现在还是晕乎乎的,可是再看几遍估计就能明白了
以后要好好学习,不能依赖别人找答案,要学会自己动手!sdlkfj2
作者: shuixin128    时间: 2007-5-8 09:27
非常感谢啊,好人!
作者: abens0426    时间: 2007-5-12 12:16
标题: 回复 #5 walker1020 的帖子
谢谢楼主
作者: allenzgw    时间: 2007-5-13 08:44
我当时就把登陆输入用户名的过程重复了一遍就行了
作者: yooyooo    时间: 2007-6-6 10:41
标题: 谢谢楼主
我也是遇到了这个问题, 等下去试下
作者: yooyooo    时间: 2007-6-6 14:33
原帖由 walker1020 于 2007-4-4 12:50 发表
Solution:
删除最后一行,问题就解决了。

Analysis:
问题出在最后一行的Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2") 页面与初始页面 Browser("Welcome: Mercury Tours").Page( ...


首先谢谢楼主! 用这个方法是解决了问题. 但我有两个疑问:
1. 我在删除最后一行后, 偶尔会在运行到第三个循环时还是会出同样的错. 再运行又不会出错. 是不是跟网速有关系?
2. 为什么把最后一行的Browser("Find a Flight: Mercury").Page("Welcome: Mercury Tours_2").Sync 改为 Browser("Find a Flight: Mercury").Page("Welcome: Mercury Tours").Sync就不行呢. 一定要删除这个同步点呢

呵,俺QTP还刚学不久:)
作者: yzgonline    时间: 2007-6-11 17:14
标题: 回复 #1 walker1020 的帖子
遇到过该问题
作者: walker1020    时间: 2007-6-13 15:52
原帖由 yooyooo 于 2007-6-6 14:33 发表


首先谢谢楼主! 用这个方法是解决了问题. 但我有两个疑问:
1. 我在删除最后一行后, 偶尔会在运行到第三个循环时还是会出同样的错. 再运行又不会出错. 是不是跟网速有关系?
2. 为什么把最后一行的Browser(" ...


关于你的第二个问题,请看 http://bbs.51testing.com/thread-71974-1-1.html上#4我的回复。
作者: candela    时间: 2007-6-25 16:48
谢谢 版主,我的情况与18楼的一样,现在才如梦初醒 呵呵
作者: amelia000    时间: 2007-7-10 10:05
标题: 为什么删除最后一行后运行还是会出现错误
参数话后代码如下,但是删除了最后一行,运行到第二个地址时还是出现错误提示:
Cannot identify the item (for object "fromPort"). Verify that this item's properties match an item currently displayed in your application.
Line (4): "Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select DataTable("departure", dtGlobalSheet)".

希望斑竹能帮帮我
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "mercury"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").Set "mercury"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 16,3
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select DataTable("departure", dtGlobalSheet)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromMonth").Select "December"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromDay").Select "29"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toPort").Select "San Francisco"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toMonth").Select "December"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toDay").Select "31"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebRadioGroup("servClass").Select "Business"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 54,10
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 51,8
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Check CheckPoint("Book a Flight: Mercury")
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "aaa"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Check CheckPoint("passLast0")
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "bbb"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "8888888888888888"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebCheckBox("ticketLess").Set "ON"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 52,10
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Check CheckPoint("New York")
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("home").Click
rem Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").Sync
作者: amelia000    时间: 2007-7-12 09:00
sdlkfj9 紧急求救!!版主请现身
作者: ymtest    时间: 2007-7-13 09:46
问题出在最后一行的Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").Sync页面与初始页面 Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours") 不是一个页面,登陆自然不会成功。

看了楼主的讲解,还是不清楚为什么要去掉Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").Sync这一行,在expert view里面没有Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours")这一行啊,没有对比之说啊

另外:我用的QTP9.2,不删除Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").Sync也会运行成功,当然只是偶尔成功
很奇怪为什么有的时候运行失败,啥都不修改,再运行一次就成功了,不知道为啥哦,抓狂中,希望楼主能帮忙看看


Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "ymtest"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "4694b6ec5a8a95ffef53b4492a77d1fa83e5"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 24,10
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select "New York"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromMonth").Select "December"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromDay").Select "29"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toPort").Select "San Francisco"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toMonth").Select "December"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toDay").Select "31"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebRadioGroup("servClass").Select "Business"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 46,11
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 73,16
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury_2").Check CheckPoint("Book a Flight: Mercury")
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury_2").WebTable("New York to San Francisco").Check CheckPoint("New York to San Francisco")
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebCheckBox("ticketLess").Set "ON"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "yum"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Check CheckPoint("passFirst0")
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "yumin"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "8888888888888"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 97,13
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury_2").Check CheckPoint("Flight Confirmation: Mercury_3")
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("home").Click
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").Sync
Browser("Welcome: Mercury Tours").Close
作者: ymtest    时间: 2007-7-13 09:48
另外楼主能否提供JAVA-addin和net-addin插件的破解文件啊,谢谢楼主哦
作者: john2006    时间: 2007-7-17 17:52
谢谢,我遇到过这个问题
作者: persist    时间: 2007-7-18 17:45
QTP 9.2没有遇到这样的问题啊。
作者: martsin    时间: 2007-7-22 11:24
我录制的时候没有
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").Sync
这一行代码啊?
作者: martsin    时间: 2007-7-22 12:51
我遇到的情况和版主的略有不同的,现在我把错误情况的图片和脚本发上来请大家帮忙解决。
scripts:
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "martsin"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "469e05b824052039fe5a4b6ffdfde1dca54a87a4"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 9,10
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select DataTable("departure", dtGlobalSheet)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromMonth").Select "December"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromDay").Select "29"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toPort").Select "San Francisco"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toMonth").Select "December"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toDay").Select "31"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 69,13
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Check CheckPoint("Select a Flight: Mercury")
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 68,6
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebTable("New York to San Francisco").Check CheckPoint("New York to San Francisco")
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Check CheckPoint("Book a Flight: Mercury")
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "ma"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Check CheckPoint("passFirst0_2")
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "rtsin"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "888"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebCheckBox("ticketLess").Set "ON"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 59,12
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("home").Click
作者: martsin    时间: 2007-7-22 12:56
sorry图片发错了!
错误提示内容“cannot identify the specified item of the fromport object.confirm that the specified item is included in the object's item collection."
作者: martsin    时间: 2007-7-22 13:33
我的第二次是可以登录成功的,但是在运行到departing from 时系统选择的是acapulco而不是数据表中portland。第三次运行时也是自动选择acapulco而不是数据表中seattle。
作者: panpan831    时间: 2007-7-23 17:18
原帖由 walker1020 于 2007-4-13 12:52 发表
设置检查点时,检查点的位置要选择 After(默认的选项是 Before),在回放就OK了。另外,

奇怪啊,我们设置检查点选择了after后,怎么跟你的例子不一样呢。
比如我要在这里设置检查网页的点,结果变成这样了:
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury_2").Check CheckPoint("Flight Confirmation: Mercury")

我在expert view去掉这数字,结果变成问题页面了?
sdlkfj7
作者: xishuai0328    时间: 2007-7-24 16:36
原帖由 walker1020 于 2007-4-13 16:06 发表
请 lilyhuang  把 用户名和密码都改为 mercury后 ,重新录制 然后试试。还有,一定要把最后那一行删除,就是删除
Browser("Find a Flight: Mercury").Page("Welcome: Mercury Tours").Sync



为什么要删掉最后那句呢
那句是什么意思?
作者: martsin    时间: 2007-7-24 18:00
大家帮忙看看我的是那里出问题了!
作者: selien    时间: 2007-7-30 14:50
谢谢,刚刚遇到这个问题了!!解决了,谢谢楼主!!
作者: 追逐日光    时间: 2007-7-30 17:05
为什么要把sync的这行删除呢,好像录制时经常有这方面的呢
作者: selien    时间: 2007-7-31 10:58
标题: 回复 #59 martsin 的帖子
我和你同样问题?怎么弄重怎么弄,高手指点啊!
作者: marygao929    时间: 2007-9-24 11:51
删除了Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").Sync
回放第二次时,到了输入密码处,密码框又为空,到这里就抱错结束了。如何解决?
作者: 3424li    时间: 2007-9-25 09:47
标题: 回复 #5 walker1020 的帖子
非常感谢楼主,简直是雪中送炭,我正好碰到这个问题了,运行过n遍了也过不去。楼主真是个热心人,讲解的还这么仔细,对初学者来说很有用的。sdlkfj2
作者: kankan520    时间: 2007-9-25 15:25
好东西谢谢
作者: prayjoy    时间: 2007-10-22 11:39
标题:
我也曾经遇到同样问题,在输入用户名后,页面刷新了一次,我当初理解为:结束时和开始时的两次登录所导致的结果……
作者: vickiren    时间: 2007-11-16 12:27
标题: 回复 5# 的帖子
感谢了,
作者: 爱喝可乐的蚊子    时间: 2007-11-20 12:20
谢谢.帮助很大.
作者: oneinhslcn    时间: 2007-11-22 14:06
我也遇到这个问题,谢谢walker兄!
作者: fengchu    时间: 2007-11-22 22:53
谢谢楼主,我今天刚碰到这样的问题,很是郁闷,我还以为是我的安装系统出现问题了呢。
因为安装的时候有个。dll没有注册成功。
真的十分感谢!
作者: leoling    时间: 2007-11-26 16:04
标题: So cool
So cool you are !
作者: susieliu    时间: 2007-12-6 16:36
标题: 回复 3# 4# 的帖子
斑竹, 看了你3# 和4# 得讲解还是没有明白

从result tree来看,第二次执行时,user name和passwd都通过了,但是 为什么会出现 “userName填完以后,填写password后,userName又变成空的“得情况呢?

这个怎么会是sync那句引起的呢,第二次的第一步就是重新登陆,登陆叶面也是正确的,怎么会与前一个页面 有关系?

盼赐教
作者: ihrrr0213    时间: 2007-12-6 19:07
标题: 谢谢版主
我也录制了这个程序,但是我在建立表格检查点后,建立输出值,但却无法输出(在Data Table没有数据显示),且表格检查点Failed,查看Detail是因为没有数据检查。。。
版主能给个联系方式吗?如MSN。。。
或你加我MSN: crystal.0213@hotmail.com
非常感谢
作者: susieliu    时间: 2007-12-7 15:37
斑竹 看不到 哦
看来不会回答了咯
作者: freshrain    时间: 2007-12-18 16:19
标题: 试试
谢谢
作者: zjxtina    时间: 2007-12-21 18:04
斑竹也帮帮我吧,我也是第二次回放时您说的错误,可我按您的修改后,还是有问题,如果让QTP自动帮我运行可以,我写了一个循环就不能运行第二次了,您帮我看看吧。
For i=1 to  Datatable.GetRowCount   
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set DataTable("username", dtGlobalSheet)
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure DataTable("password", dtGlobalSheet)
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 19,10
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Sync
Browser("Welcome: Mercury Tours").Close
datatable.GlobalSheet.SetNextRow
Next

就是上面的这段脚本,先谢了。
作者: ytyld    时间: 2007-12-27 15:16
Dialog("Login").WinEdit("Agent Name:").Set "mmmmmm"
Dialog("Login").WinEdit("Agent Name:").Type  micTab
Dialog("Login").WinEdit("Password:").SetSecure "4773241063e160a94f876b2ea8fdbe6ac0d74057"
Dialog("Login").WinEdit("Password:").Type  micReturn
Window("Flight Reservation").ActiveX("MaskEdBox").Type "010108"
Window("Flight Reservation").WinComboBox("Fly From:").Check CheckPoint("Fly From:")
Window("Flight Reservation").WinComboBox("Fly From:").Select DataTable("from", dtGlobalSheet)
Window("Flight Reservation").WinComboBox("Fly To:").Select "Frankfurt"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Activate "15789   DEN   12:48 PM   FRA   01:33 PM   AA     $106.00"
Window("Flight Reservation").WinEdit("Name:").Set "ee"
Window("Flight Reservation").WinRadioButton("First").Set
Window("Flight Reservation").WinButton("Insert Order").Click
也是参数化后运行到第二行出错,代码如上,如何解决?
作者: hzz529    时间: 2008-1-1 01:25
To walker1020或者其他的高手:

我在照着QTP8 Tutorial_oldsidney.pdf上介绍的参数化OUTPUT做的时候,发现在运行DATA TABLE里第2个值的时候报错 :Cannot identify the item (for object "outFlight"). Verify that this item's properties match an item currently displayed in your application.

请问是什么原因啊?


Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "hzz529"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "476920f9c3bbe6b24791a6788454f3686701"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 16,10
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select DataTable("departure", dtGlobalSheet)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromDay").Select "29"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toPort").Select "San Francisco"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toDay").Select "31"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebRadioGroup("servClass").Select "Business"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 51,8
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Output CheckPoint("270")
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").WebRadioGroup("outFlight").Select "Blue Skies Airlines$361$271$7:10"
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").WebRadioGroup("inFlight").Select "Blue Skies Airlines$631$273$14:30"
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 56,6
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Check CheckPoint("Book a Flight: Mercury")
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebTable("New York to San Francisco").Check CheckPoint("New York to San Francisco")
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "Robin"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Check CheckPoint("passFirst0")
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "Huang"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "888-1234566"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 62,8
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Check CheckPoint("New York")
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("home").Click
以上是我的脚本 谢谢了。
作者: huzengyu1026    时间: 2008-1-2 14:59
楼主是个超级大好人
作者: 人鱼朵朵    时间: 2008-1-24 10:51
这两天也一直被这个问题困扰,但找不着实质的问题,看了楼主的讲解,终于明白了.
谢谢楼主.
作者: jaunty    时间: 2008-3-11 23:41
我遇到这个问题了, 但是其实我的原始代码没有加入同步点的
所以应该不存在这个问题
我猜测是页面的名字一个是有2后缀的所以找不到
但是我很奇怪的是 第一次run的时候有问题
第2天来了我run 他自己好了
我都很无语
作者: huyanquan    时间: 2008-4-1 17:43
标题: 楼主热心,帮升旗
楼主热心,帮升旗
作者: 2oon    时间: 2008-4-21 10:21
非常感谢楼主,正好解决我的问题
作者: mustxc    时间: 2008-5-8 14:43
需注意录入Data Table中的出发点资料,数据需完全一致,比如Porland和porland是完全不一样的
作者: kuailedelanbeik    时间: 2008-5-15 13:33
我也出现了这个问题,我把最后的那句话去掉了还是不行,在运行第二行的参数时,登陆的时候,userName填完以后,填写password后,userName又变成空的。登陆就失败了。还有其他原因吗?
作者: walker1020    时间: 2008-5-16 15:07
做测试一定要细心。只要你严格按照 QTP Tutorial 上面的说明去操作,肯定没有问题。如果出现了问题,自己逐步去调试吧。看看 到底是那个对象出了问题,还是某个步骤出了问题
作者: walker1020    时间: 2008-5-16 15:08
看看手工操作是什么效果,如果QTP的脚本没有出现和手工操作一样的效果,那就是你的脚本有问题
作者: babyfeir    时间: 2008-8-21 16:47
哈哈,我也遇到同样的问题,我把最后一行代码注释掉就OK了
作者: 84690267    时间: 2008-8-28 18:12
前段时间我也遇到这个问题,看了楼主的帖子才知道原因所在,原来这么简单
之前用了个笨点的方法,贴出来大家就当看着玩吧
第二遍走不过去后发现在开始登录的时候不对劲,运行好几遍还是卡在登录那,就在开始登录的网页上多加了一个检查点:(图附件1)
之后运行了下,可以走完3个了,不过第一次运行因为没有页面可检查会显示一处错误(图2)
感觉不舒服的话节就运行完的网页,第二次运行脚本就完全正常了(图3)

这样能全部走完,我就这么用了好几天了才看到这篇帖子,呵呵
加检查点缺陷也很大:检查会用不少时间(我用的虚拟机,给的内存小,感觉相当明显)
作者: zj_2782495    时间: 2010-6-7 22:28
标题: 我用QTP9.5也遇到这个问题,希望能帮我看下
我的录制过程也是从home page 到 Back to home, 代码中只参数化了WebList("fromPort").Select DataTable("departure"0)运行后,QTP正常运行完DataTable的第一行,但当第二次运行时,报告错误:
Cannot identify the object "fromPort" (of class WebList). Verify that this object's properties match an object currently displayed in your application.
Line (6): "Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select DataTable("depatture", dtGlobalSheet)".



代码
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "zj_2782495"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "4c0cf522405fce90aa63c1bd44eb89a35c3b851f"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 20,3
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select DataTable("departure", dtGlobalSheet)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromMonth").Select "April"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromDay").Select "28"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toDay").Select "27"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebRadioGroup("servClass").Select "Business"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 41,4
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").WebRadioGroup("outFlight").Select "Blue Skies Airlines$361$271$7:10"
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").WebRadioGroup("inFlight").Select "Pangea Airlines$632$282$16:37"
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 55,6
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "ss"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "ss"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "888888888"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 37,8
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("home").Click

另外我比较了我的代码和walker的代码,发现最后一行对应的页面不同,不知道是为什么
作者: sophiashan07    时间: 2010-12-17 11:44
我公司2010年6月份刚在纳斯达克上市,现在要找一名自动化测试组长,薪资福利良好:

我们项目组需要招聘自动化测试组组长,职位信息如下:
1.计算机相关专业本科以上学历,熟悉软件工程师学原理;
2.软件测试相关经验3年以上,其中至少包括2年功能自动化测试经验;
3.熟悉QTP工具的使用,了解QTP原理和对象识别机制;
4.熟悉VBScript脚本语言,能进行相关自动化脚本函数的编写;
5.较强的语言表达和文档编写能力及良好的沟通技巧;
6.有金融银行基础业务知识经验、有网银业务经验为佳;
7.有自动化框架编写、设计经验和软件开发经验有团队管理经验为佳;
8.熟悉Java、J2EE 、WebSphere 、Application Serve、DB2、Oracle等为佳
9.有Unix平台的使用经验(AIX/Solaris/HPUX/Linux)为佳;
欢迎各专业人士来信探讨,谢谢:
shanjing1983@163.com
sophiashan07@hotmail.com




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