51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2668|回复: 9
打印 上一主题 下一主题

[求助] 小白求问,QTP录制登录百度首页

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-5-23 14:48:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一次用QTP,想去录制登录百度的脚本,但出问题了。
录制的脚本没有捕获到点击右上角“登录”的操作

自己尝试加上在第一行加上Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("登录").Click
还是不行的,提示如下

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2013-5-23 16:00:18 | 只看该作者
nobody??
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2013-5-23 17:09:05 | 只看该作者
Link("登录") 没有添加到对象库里去
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2013-5-24 15:21:30 | 只看该作者
回复 3# anne32184
要手动添加么?为什么同一个页面上的link(“注册”)却被添加到对象库呢?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2013-5-26 11:54:58 | 只看该作者
对象库编程(需要手动添加“登录”连接至测试对象库):
  1. Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("登录").Click
  2. Browser("百度一下,你就知道").Page("百度一下,你就知道").Frame("Frame").WebEdit("username").Set "username"
  3. Browser("百度一下,你就知道").Page("百度一下,你就知道").Frame("Frame").WebEdit("password").SetSecure "password"
  4. Browser("百度一下,你就知道").Page("百度一下,你就知道").Frame("Frame").WebCheckBox("mem_pass").Set "OFF"
  5. Browser("百度一下,你就知道").Page("百度一下,你就知道").Frame("Frame").WebButton("登录").Click
  6. Browser("百度一下,你就知道").Page("百度一下,你就知道").Sync
复制代码

描述性编程(不需要对象库):
  1. Browser("index:=0").Page("index:=0").Link("text:=登录", "html tag:=A").Click
  2. Browser("index:=0").Page("index:=0").Frame("name:=", "html id:=login_iframe").WebEdit("type:=text", "name:=username", "html tag:=INPUT", "html id:=pass_login_username_0").Set "username"
  3. Browser("index:=0").Page("index:=0").Frame("name:=", "html id:=login_iframe").WebEdit("type:=password", "name:=password", "html tag:=INPUT", "html id:=pass_login_password_0").SetSecure "password"
  4. Browser("index:=0").Page("index:=0").Frame("name:=", "html id:=login_iframe").WebCheckBox("type:=checkbox", "name:=mem_pass", "html tag:=INPUT", "html id:=pass_login_rem_0").Set "OFF"
  5. Browser("index:=0").Page("index:=0").Frame("name:=", "html id:=login_iframe").WebButton("type:=button", "name:=登录", "html tag:=INPUT", "html id:=pass_login_input_submit_0").Click
  6. Browser("index:=0").Page("index:=0").Sync
复制代码


题外话:
不要看描述性编程貌似很麻烦,其实这种方式最简单,实际测试时这些代码可以不需要自己敲进去的,而是由自动化测试框架从测试用例中根据对象的名称从XML格式的对象库中取得对象描述性信息再根据这个控件的类型加上控件的方法就能拼出这些代码。框架+XML格式对象库+测试用例(实际往往还会加上一份通用关键字),测试时只需要在测试用例里写用例,然后交给框架动态去解释并执行用例,而不需要另外去写脚本。逻辑、对象和数据都是分离的,没有测试对象(TO)的臃肿和耦合,且复用性和可维护性都比TO好得多
回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    6#
    发表于 2013-5-27 09:12:53 | 只看该作者
    回复 5# hotren


        一半一半吧,也没必要全使用描述性编程,又降低了速度又增加了维护的麻烦。
    结合使用,各用所长。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    7#
    发表于 2013-5-27 09:13:47 | 只看该作者
    回复 1# whendream


        手动添加 登录 Link 至对象库,然后拖到 脚本里进行编写。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2013-5-28 10:34:16 | 只看该作者
    回复 7# 黑羽祭


        尴尬,添加到了登录link到了对象库,也拖过去继续录制的,录制完,登录link是被点击了的,但是没办法打开百度登录的窗口,囧,试了LS给的代码也不行的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2013-5-28 10:40:47 | 只看该作者
    回复 7# 黑羽祭


        试了一下把frame添加到对象库就行了的,囧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    10#
    发表于 2013-5-28 11:40:41 | 只看该作者
    回复 9# whendream


        什么意思?之前你自己改动了对象库的结构吗?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-22 07:22 , Processed in 0.085598 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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