68480850 发表于 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 编辑 ]

68480850 发表于 2009-3-27 13:21:19

自己顶

在线急等!请帮忙,各位大虾!

dreamever 发表于 2009-3-27 13:25:50

报错的信息是什么;
测试脚本是怎么写的
那个下拉列表的spy属性都有哪些?
知道这些情况以后才好判断问题的原因

68480850 发表于 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")

68480850 发表于 2009-3-27 13:39:06

还有我发现,在录制(识别)的时候qtp把下拉列表控件看做:一个webEdit+一个Image("s"),变成了两个东东,会不会是这个原因?

wugecat 发表于 2009-3-27 13:59:38

少了一句,在倒数第二行和最后一行之间加上一句。。
类似:Browser("信息管理系统").Page("信息管理系统_2").Frame("mainFrame").WebElement("innertext:=刑事二审").Click
看看行不行

68480850 发表于 2009-3-27 14:16:33

感谢wugecat ,谢谢!加上你说的那句后可以了,能请你给我详细说说吗,还有就是如果我要判断(检查)列表项是否符合我的要求该怎么做。
谢谢啊!

68480850 发表于 2009-3-27 14:24:09

还有我发现,在录制(识别)的时候qtp把下拉列表控件看做:一个webEdit+一个Image("s"),变成了两个东东,有什么办法可以让它识别成一个下拉列表控件吗?

wugecat 发表于 2009-3-27 14:52:30

看起来你那个是下拉列表,实际上QTP并不认为是WebList,正如你说的是WebEidt+图片
所以我知道的方法就是,先点击图片,当列表出现后在点击元素,我测试的项目中有些类系你这种情况,我就是这么处理的

68480850 发表于 2009-3-27 14:55:01

感谢!只是这样做的话工作量有些大了,因为这样的控件很多。你怎么做列表的值的检查的,可以教教我吗?

wugecat 发表于 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
没有测试过不知道行不行。当然你可以将这些也做成公共的方法,调用

wugecat 发表于 2009-3-27 15:37:02

这个东西的上一层应该是个Webtable,你可以获取webtable的行数来确定列表显示的记录数是否和你预期的一致。记录一致后,在判断值对不对,总之思路应该是这样的

68480850 发表于 2009-3-27 15:42:30

OK,感谢,有时间试一下,到时候有问题在找你,感谢啊~~~~~~~~~~~~~~~~~

wugecat 发表于 2009-3-27 15:47:19

不客气:)

Haereticus 发表于 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

68480850 发表于 2009-3-30 11:38:05

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

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

ls_721521 发表于 2009-3-30 12:01:14

回复 16# 的帖子

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

飞飞 发表于 2009-4-29 16:00:15

双击鼠标左键这个操作如何编写程序?
页: [1]
查看完整版本: 关于下拉列表选择的录制问题