51Testing软件测试论坛

标题: 用描述性编程怎么来录制弹出式日期控件? [打印本页]

作者: wzdoxu    时间: 2008-7-15 11:51
标题: 用描述性编程怎么来录制弹出式日期控件?
搜索输入框有两个时间按钮,我需要选中其中的一个日期按钮来进行操作,代码如下:
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 编的系统)
作者: wzdoxu    时间: 2008-7-15 13:26
有知道怎么做的人吗?自己顶下
作者: 小孩    时间: 2008-7-15 16:03
一般情况QTP 很难去模拟选择日期,因为很多日期的控件都不识别!都是直接给属性付值,
来做脚本,哪个日期控件可以独立那出来手工测试.
作者: wzdoxu    时间: 2008-7-15 16:24
楼上版主,我现在就是用脚本来进行赋值的嘛,但不知道是哪里出了毛病,总是报找不到WebTable,还请多指点,谢谢了!
作者: 陈能技    时间: 2008-7-15 16:41
WebTableDesc("name").value ="__displayed_"
   WebEditDesc("name").value = "__displayed_"
   WebTableDesc("index").value = 0
   WebEditDesc("index").value = 1

这里好象有些问题
用Name和index是否能唯一识别出该WebTable呢?
作者: wzdoxu    时间: 2008-7-15 17:20
WebTable 和WebEdit 的name 都是"__displayed_"
陈老师,你说的意思是WebTable不只一个,需要用其他的属性,比如index来识别该WebTable
如果是这样,那用name和index应该可以唯一识别该WebTable了啊,引文index可以赋不同的值,可以用它来
区别好了
作者: wzdoxu    时间: 2008-7-15 18:34
欢迎各位同仁,高手加入测试群28239228,谢谢!
作者: zbyufeifei    时间: 2008-7-16 08:19
把WebEdit加入对象库,给WebEdit直接Set一个日期格式的字符串,注意日期格式。

QTP是识别不了这些JS的控件的~
作者: wzdoxu    时间: 2008-7-16 10:46
请问,我没有装JAVA插件,是不是必须得装插件才可以呢?
作者: 鹭岛    时间: 2008-7-16 11:39
LZ既然是一个WEBEDIT的格式,应该就可以直接SET给它日期格式的值,没必搞得那么麻烦。。。手工去测试下那个日期选择的对不对就OK了
作者: wzdoxu    时间: 2008-7-16 15:37
上面出错的语句实际上是多了一层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_"




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