51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3204|回复: 17
打印 上一主题 下一主题

[求助] 关于下拉列表选择的录制问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-3-27 13:12:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看图:file:///D:/My%20Documents/My%20Pictures/wenti/anjlxxzlb.JPG
问题:qtp录制不到我选择的项,回放时在弹出列表后就程序报错。另录制时下拉列表框的下拉箭头录制为图片不知道对不对?
情况:java开发的b/s系统,我的qtp是9.2的,IE6.0

[ 本帖最后由 68480850 于 2009-3-27 13:20 编辑 ]

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2009-3-27 13:21:19 | 只看该作者

自己顶

在线急等!请帮忙,各位大虾!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-3-27 13:25:50 | 只看该作者
报错的信息是什么;
测试脚本是怎么写的
那个下拉列表的spy属性都有哪些?
知道这些情况以后才好判断问题的原因
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-3-27 13:33:00 | 只看该作者
实际上也没有报错,到那里就是不会显示出选择的列表项,代码很简单
Browser("信息管理系统").Page("信息管理系统").WebEdit("username").Set "test1"
Browser("信息管理系统").Page("信息管理系统").WebEdit("password").SetSecure "49cc546795ad366f5eb0a2ba8bd313066818"
Browser("信息管理系统").Page("信息管理系统").WebButton("登录").Click
Browser("信息管理系统").Page("信息管理系统_2").Frame("mainFrame").WebElement("收案登记").Click
Browser("信息管理系统").Page("信息管理系统_2").Frame("mainFrame").Image("s").Click
Browser("信息管理系统").Page("信息管理系统_2").Frame("mainFrame").WebButton("提交").Click
下拉控件在识别的时候是图像Image("s")
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-3-27 13:39:06 | 只看该作者
还有我发现,在录制(识别)的时候qtp把下拉列表控件看做:一个webEdit+一个Image("s"),变成了两个东东,会不会是这个原因?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-3-27 13:59:38 | 只看该作者
少了一句,在倒数第二行和最后一行之间加上一句。。
类似:Browser("信息管理系统").Page("信息管理系统_2").Frame("mainFrame").WebElement("innertext:=刑事二审").Click
看看行不行
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-3-27 14:16:33 | 只看该作者
感谢wugecat ,谢谢!加上你说的那句后可以了,能请你给我详细说说吗,还有就是如果我要判断(检查)列表项是否符合我的要求该怎么做。
谢谢啊!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2009-3-27 14:24:09 | 只看该作者
还有我发现,在录制(识别)的时候qtp把下拉列表控件看做:一个webEdit+一个Image("s"),变成了两个东东,有什么办法可以让它识别成一个下拉列表控件吗?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-3-27 14:52:30 | 只看该作者
看起来你那个是下拉列表,实际上QTP并不认为是WebList,正如你说的是WebEidt+图片
所以我知道的方法就是,先点击图片,当列表出现后在点击元素,我测试的项目中有些类系你这种情况,我就是这么处理的
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2009-3-27 14:55:01 | 只看该作者
感谢!只是这样做的话工作量有些大了,因为这样的控件很多。你怎么做列表的值的检查的,可以教教我吗?
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-3-27 15:21:28 | 只看该作者
点击和确定不做检查点的话,单纯的步骤,你可以把这两个动作做成,公用的方法,方法的参数可以是你要选的信息。
如果要检查列表是否是复核的话,需要在点击图片的下一句加上:
If Browser("信息管理系统").Page("信息管理系统_2").Frame("mainFrame").WebElement("innertext:=刑事二审").Exist(0) Then
    reporter.ReportEvent micPass
        else
        reporter.ReportEvent micFail
End If
没有测试过不知道行不行。当然你可以将这些也做成公共的方法,调用
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2009-3-27 15:37:02 | 只看该作者
这个东西的上一层应该是个Webtable,你可以获取webtable的行数来确定列表显示的记录数是否和你预期的一致。记录一致后,在判断值对不对,总之思路应该是这样的

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2009-3-27 15:42:30 | 只看该作者
OK,感谢,有时间试一下,到时候有问题在找你,感谢啊~~~~~~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2009-3-27 15:47:19 | 只看该作者
不客气
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2009-3-27 16:43:36 | 只看该作者
对于这种下拉框,通常的通过模拟键盘操作,如果你建的单有多个,以前的单也选择了同样的值,用WebElement来识别可能会找到多个值。
Function sendKey(num)
Set WshShell = CreateObject("WScript.Shell")
        For i=0 to num-1
                        WshShell.sendkeys "{DOWN}"
        Next
        wait 1
        WshShell.sendkeys "{ENTER}"
Set WshShell = nothing
End Function
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2009-3-30 11:38:05 | 只看该作者

Haereticus我不太明白你的意思你能在说明白些吗?谢谢

这个Function是得到列表的值吗?加这个Function有什么用,怎么调用?谢谢,我是新手,请多指教!
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2009-3-30 12:01:14 | 只看该作者

回复 16# 的帖子

他代码的意思是模拟键盘操作
WshShell.sendkeys "{DOWN}"    ‘点向下按钮
WshShell.sendkeys "{ENTER}"     ’点回车
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2009-4-29 16:00:15 | 只看该作者
双击鼠标左键这个操作如何编写程序?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-22 21:36 , Processed in 0.184877 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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