51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 26120|回复: 84
打印 上一主题 下一主题

QTP Tutorial 中的订票操作参数化后无法运行第二行的解决方法

[复制链接]
  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2007-4-4 12:31:23 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    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 编辑 ]

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    推荐
     楼主| 发表于 2007-4-12 17:34:23 | 只看该作者
    原帖由 风之无痕 于 2007-4-12 09:35 发表
    谢谢你的回答,我想知道要学好这个工具都需要什么编程基础或者别的什么计算机知识的基础?


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

    [ 本帖最后由 walker1020 于 2007-4-12 17:40 编辑 ]
    回复 支持 1 反对 0

    使用道具 举报

    该用户从未签到

    85#
    发表于 2010-12-17 11:44:33 | 只看该作者
    我公司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
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    84#
    发表于 2010-6-7 22:28:41 | 只看该作者

    我用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的代码,发现最后一行对应的页面不同,不知道是为什么

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    83#
    发表于 2008-8-28 18:12:07 | 只看该作者
    前段时间我也遇到这个问题,看了楼主的帖子才知道原因所在,原来这么简单
    之前用了个笨点的方法,贴出来大家就当看着玩吧
    第二遍走不过去后发现在开始登录的时候不对劲,运行好几遍还是卡在登录那,就在开始登录的网页上多加了一个检查点:(图附件1)
    之后运行了下,可以走完3个了,不过第一次运行因为没有页面可检查会显示一处错误(图2)
    感觉不舒服的话节就运行完的网页,第二次运行脚本就完全正常了(图3)

    这样能全部走完,我就这么用了好几天了才看到这篇帖子,呵呵
    加检查点缺陷也很大:检查会用不少时间(我用的虚拟机,给的内存小,感觉相当明显)

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    82#
    发表于 2008-8-21 16:47:00 | 只看该作者
    哈哈,我也遇到同样的问题,我把最后一行代码注释掉就OK了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    81#
     楼主| 发表于 2008-5-16 15:08:20 | 只看该作者
    看看手工操作是什么效果,如果QTP的脚本没有出现和手工操作一样的效果,那就是你的脚本有问题
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    80#
     楼主| 发表于 2008-5-16 15:07:28 | 只看该作者
    做测试一定要细心。只要你严格按照 QTP Tutorial 上面的说明去操作,肯定没有问题。如果出现了问题,自己逐步去调试吧。看看 到底是那个对象出了问题,还是某个步骤出了问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    79#
    发表于 2008-5-15 13:33:23 | 只看该作者
    我也出现了这个问题,我把最后的那句话去掉了还是不行,在运行第二行的参数时,登陆的时候,userName填完以后,填写password后,userName又变成空的。登陆就失败了。还有其他原因吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    78#
    发表于 2008-5-8 14:43:17 | 只看该作者
    需注意录入Data Table中的出发点资料,数据需完全一致,比如Porland和porland是完全不一样的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    77#
    发表于 2008-4-21 10:21:27 | 只看该作者
    非常感谢楼主,正好解决我的问题
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-4-28 09:33
  • 签到天数: 392 天

    连续签到: 5 天

    [LV.9]测试副司令

    76#
    发表于 2008-4-1 17:43:36 | 只看该作者

    楼主热心,帮升旗

    楼主热心,帮升旗
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    75#
    发表于 2008-3-11 23:41:41 | 只看该作者
    我遇到这个问题了, 但是其实我的原始代码没有加入同步点的
    所以应该不存在这个问题
    我猜测是页面的名字一个是有2后缀的所以找不到
    但是我很奇怪的是 第一次run的时候有问题
    第2天来了我run 他自己好了
    我都很无语
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    74#
    发表于 2008-1-24 10:51:02 | 只看该作者
    这两天也一直被这个问题困扰,但找不着实质的问题,看了楼主的讲解,终于明白了.
    谢谢楼主.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    73#
    发表于 2008-1-2 14:59:23 | 只看该作者
    楼主是个超级大好人
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    72#
    发表于 2008-1-1 01:25:07 | 只看该作者
    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
    以上是我的脚本 谢谢了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    71#
    发表于 2007-12-27 15:16:54 | 只看该作者
    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
    也是参数化后运行到第二行出错,代码如上,如何解决?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    70#
    发表于 2007-12-21 18:04:37 | 只看该作者
    斑竹也帮帮我吧,我也是第二次回放时您说的错误,可我按您的修改后,还是有问题,如果让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

    就是上面的这段脚本,先谢了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    69#
    发表于 2007-12-18 16:19:57 | 只看该作者

    试试

    谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    68#
    发表于 2007-12-7 15:37:06 | 只看该作者
    斑竹 看不到 哦
    看来不会回答了咯
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    67#
    发表于 2007-12-6 19:07:12 | 只看该作者

    谢谢版主

    我也录制了这个程序,但是我在建立表格检查点后,建立输出值,但却无法输出(在Data Table没有数据显示),且表格检查点Failed,查看Detail是因为没有数据检查。。。
    版主能给个联系方式吗?如MSN。。。
    或你加我MSN: crystal.0213@hotmail.com
    非常感谢
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-26 21:59 , Processed in 0.090607 second(s), 30 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表