51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2139|回复: 10
打印 上一主题 下一主题

[原创] 用描述性编程怎么来录制弹出式日期控件?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-7-15 11:51:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
搜索输入框有两个时间按钮,我需要选中其中的一个日期按钮来进行操作,代码如下:
public function  OneCode()   
   set  BrowserLoginDesc = Description.Create()
   Set PageLoginDesc = description.Create()
   Set FrameLeftDesc = description.Create()
   Set FrameRightDesc = description.Create()
   Set LinkDesc = description.Create()
   Set  WebTableDesc = description.Create()
   Set  WebEditDesc = description.Create()
   
   BrowserLoginDesc("name").value = "::系统::"               'name 为Browser的属性
   PageLoginDesc("title").value ="::系统::"                   'title 为Page的属性-
   FrameLeftDesc("name").value = "LEFT"
   FrameRightDesc("name").value = "RIGHT"
   LinkDesc("name").value  = "编码"  
   WebTableDesc("name").value ="__displayed_"
   WebEditDesc("name").value = "__displayed_"
   WebTableDesc("index").value = 0
   WebEditDesc("index").value = 1

   Browser(BrowserLoginDesc).Page(PageLoginDesc).Frame(FrameLeftDesc).link(LinkDesc).Click
   Browser(BrowserLoginDesc).Page(PageLoginDesc).Frame(FrameLeftDesc).WebTable(WebTableDesc).WebEdit(WebEditDesc).Object.value = "2008-05-02"
   
end function
两个时间按钮都可以直接输入日期,因此属性显示是WebEdit,当鼠标左键点击输入框时,可以弹出日期控件来选择日期,用SPY来查看日期控件的属性如图,它的上一层为WebTable,
两个日期控件的属性可能相同,故用index来标示,上面的代码不知道对不对?运行的时候总是报如图
请问各位大侠该怎么来录制得到我所选的日期呢?谢谢(java 编的系统)

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-7-15 13:26:56 | 只看该作者
有知道怎么做的人吗?自己顶下
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-7-15 16:03:28 | 只看该作者
一般情况QTP 很难去模拟选择日期,因为很多日期的控件都不识别!都是直接给属性付值,
来做脚本,哪个日期控件可以独立那出来手工测试.
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-7-15 16:24:59 | 只看该作者
楼上版主,我现在就是用脚本来进行赋值的嘛,但不知道是哪里出了毛病,总是报找不到WebTable,还请多指点,谢谢了!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-7-15 16:41:33 | 只看该作者
WebTableDesc("name").value ="__displayed_"
   WebEditDesc("name").value = "__displayed_"
   WebTableDesc("index").value = 0
   WebEditDesc("index").value = 1

这里好象有些问题
用Name和index是否能唯一识别出该WebTable呢?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2008-7-15 17:20:29 | 只看该作者
WebTable 和WebEdit 的name 都是"__displayed_"
陈老师,你说的意思是WebTable不只一个,需要用其他的属性,比如index来识别该WebTable
如果是这样,那用name和index应该可以唯一识别该WebTable了啊,引文index可以赋不同的值,可以用它来
区别好了
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2008-7-15 18:34:29 | 只看该作者
欢迎各位同仁,高手加入测试群28239228,谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-7-16 08:19:02 | 只看该作者
把WebEdit加入对象库,给WebEdit直接Set一个日期格式的字符串,注意日期格式。

QTP是识别不了这些JS的控件的~
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2008-7-16 10:46:59 | 只看该作者
请问,我没有装JAVA插件,是不是必须得装插件才可以呢?
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-7-16 11:39:01 | 只看该作者
LZ既然是一个WEBEDIT的格式,应该就可以直接SET给它日期格式的值,没必搞得那么麻烦。。。手工去测试下那个日期选择的对不对就OK了
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2008-7-16 15:37:36 | 只看该作者
上面出错的语句实际上是多了一层WebTable,去掉即可
Browser(BrowserLoginDesc).Page(PageLoginDesc).Frame(FrameRightDesc).WebEdit(WebEditDesc).Object.value=“2008-05-02”
但是想把日期参数化,这样写:
Browser(BrowserLoginDesc).Page(PageLoginDesc).Frame(FrameRightDesc).WebEdit(WebEditDesc).Object.value=DataTabl("__displayed_",dtLocalSheet)
会提示“The retrieve DataTable.Value operation failed. The <__displayed_>  column does not exist. “
不知道是怎么回事,请各位指点
这样写没报错:
Browser(BrowserLoginDesc).Page(PageLoginDesc).Frame(FrameRightDesc).WebEdit(WebEditDesc).set "__displayed_"
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-25 07:23 , Processed in 0.082071 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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