51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4494|回复: 20
打印 上一主题 下一主题

[求助] 设置日期

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-11-5 14:47:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一个编辑框(不能有set或其他语句给其赋值),点击之后会弹出一日期选择控件(图1),那spy去查询年份位置的对象类为webelement。点击2007后日期控件如图2所示,年份位置会变成一选择列表,然后可以选择年份!!
用qtp录制的脚本如下:
Browser("鳌拜").Page("鳌拜").Frame("main").WebEdit("beginTime").Click
Browser("鳌拜").Page("鳌拜").Frame("meizzCalendarIframe").WebElement("WebTable").Click
Browser("鳌拜").Page("鳌拜").Frame("meizzCalendarIframe").WebList("tmpYearSelect").Select "2008"
Browser("鳌拜").Page("鳌拜").Frame("meizzCalendarIframe").WebElement("WebTable_2").Click
执行回放时却提示:(图3所示)

并且对象库中有此对象存在!

不知道大家有碰到这个情况的没有,怎么个解决法

本帖子中包含更多资源

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

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

使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2007-11-5 15:17:25 | 只看该作者
    软件是用什么语言开发的? 加载相应的插件后试试
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2007-11-5 16:08:10 | 只看该作者
    加上java插件后,对象库能加入页面中所有对象,但是对其进行录制时,expert view未录制到任何信息!!!问:原因为何?是插件装的有问题?(qtp9.2配qtp9.1的java插件)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2007-11-5 17:05:56 | 只看该作者
    加上插件后录制情况跟原来一样?如上上问?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-11-5 17:15:58 | 只看该作者
    直接录制不上但能添加对象到对象库时,可以使用Step Generator单步添加操作

    因为你的日期是变化的,则点击的日期对象也是会变化的,所以你要在对象库中将会变化的对象的相应属性值进行参数化,确保能动态识别对象

    另外对于某日期控件的处理我在
    http://bbs.51testing.com/viewthr ... 81&page=1#pid773911
    中给出了一点处理方法,楼主可以参考下

    [ 本帖最后由 hsjzfling 于 2007-11-5 17:20 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-11-5 17:51:46 | 只看该作者
    关于日期的问题还真多啊哈哈,兄弟我给那个问题搞了几天嘿嘿,现在终于解决了你的问题和我的差不多啊,多亏hsjzfling老大帮忙啊,学这东西真累问题永远让你头疼。一起努力吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2007-11-5 18:25:18 | 只看该作者
    呵呵!!要得要得!!多多沟通,多多研究
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2007-11-7 14:11:09 | 只看该作者
    browser("abc").Page("abc").Frame("abc").WebEdit("beginTime").Click
    Set oDesc = Description.Create()
    oDesc("Class Name").Value = "WebElement"
    oDesc("class").Value = "out"
    Set WECollection = browser("abc").Page("abc").Frame("abc").WebTable("28").ChildObjects(oDesc)
    当执行到最后一句时系统报general run error的错误!!!问题还真多!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2007-11-7 14:54:52 | 只看该作者

    回复 8# 的帖子

    oDesc("Class Name").Value = "WebElement" 改为oDesc("micclass").Value = "WebElement"
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2007-11-7 15:39:30 | 只看该作者
    得到结果了!!凶悍啊!!!!但是有个疑问:我用object spy查询到这个日期控件中没有micclass这个属性!!!为什么在脚本就要这么设置呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-11-7 16:19:08 | 只看该作者
    呵呵,和我的问题大同小异。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2007-11-7 16:26:11 | 只看该作者

    回复 10# 的帖子

    1、对象是没有一个叫"Class Name"的属性的,所以你使用它肯定得不到结果

    2、个人理解:micclass属性是web中大多数对象的默认的主要识别属性之一,但是该属性是不会显示出来的,它的值就是对应对象的类名,比如WebTable,WebEdit,Link等等

    PS: 还是你上道呀,这么长时间来只有你一个人记得送花~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
     楼主| 发表于 2007-11-7 16:29:37 | 只看该作者
    呵呵!!做人要厚道嘛!!知识是无价的,一朵花算的了啥哦!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
     楼主| 发表于 2007-11-7 16:36:03 | 只看该作者
    接着问:
    以前研究的都是如何去设置日期中哪天,,,这个好像只要是把所有对象都放入对象库就能解决了,,,现在的问题是:如何解决年和月?????还是如本帖所问,看大侠提供的其他帖子也不是很懂啊!!!
    browser("abc").Page("abc").Frame("abc").WebEdit("beginTime").Click
    Set oDesc = Description.Create()
    oDesc("micclass").Value = "WebList"
    oDesc("name").Value = "tmpMonthSelect"
    Set WECollection = browser("default.jsp").Page("default.jsp").Frame("meizzCalendarIframe").ChildObjects(oDesc)
    msgbox WECollection.count   '提示为1,就是说存在一个名为tmpMonthSelect"的weblist
    那如何去选择相关的年份呢???比如我现在要选择的年份为2010年
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2007-11-7 18:40:51 | 只看该作者
    原帖由 zhuyuancan 于 2007-11-7 16:36 发表
    那如何去选择相关的年份呢???比如我现在要选择的年份为2010年
    browser ...


    如果让你选择年份为2010年你在页面上是如何操作的呢,若有多种方式选择就都列出来一下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2007-11-8 09:44:27 | 只看该作者
    是啊,老大帮我那么多次,一次花都没献过
    BS下自己哈哈
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
     楼主| 发表于 2007-11-8 09:46:40 | 只看该作者
    只有一种方式:点击编辑框(webedit)就会弹出一日期选择控件,点击年份处,就会显示一下拉框!!然后选择年份!!!月份也是如此!!!(如本帖的贴图)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2007-11-8 10:09:05 | 只看该作者
    既然操作步骤明确,对象又都可以识别,那就按部就班咯~
    你的前几句都通过了,目前问题在WebList("tmpYearSelect")的选项识别出错,你确定WebList中的选项为"2008"??

    然后就是将对象库中 WebList("tmpYearSelect")的部分属性的值参数化,比如包含"2007"等值的属性~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2007-11-8 10:13:08 | 只看该作者
    对于不能set 的日期编辑框可以直接赋值,注意赋值格式

    Browser("鳌拜").Page("鳌拜").Frame("main").WebEdit("beginTime").object.value = "2007-11-8"

    [ 本帖最后由 danmy 于 2007-11-8 10:14 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
     楼主| 发表于 2007-11-9 09:57:24 | 只看该作者
    受益非浅啊!!再次表示感谢!!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-27 00:33 , Processed in 0.075650 second(s), 31 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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