chenwubia0 发表于 2012-3-22 14:40:07

看看我这个下拉框为何无法回放成功。代码中该怎么写才能获取里面的数据

本帖最后由 chenwubia0 于 2012-3-22 17:00 编辑



这种形式的下拉框如何编写代码,在录制后回放时只打开下拉框,而不会选择录制时选中的数据。
求高手帮忙,研究了好久。谢谢了

chenwubia0 发表于 2012-3-22 16:33:07

啊哦。。。怎么没人来帮帮哦。

chenwubia0 发表于 2012-3-23 08:33:24

:'(一晚了还没人来帮忙。今天会被老总说啦。求助啊~~~

metoto 发表于 2012-3-23 09:08:10

那个菜单下的是文件么?

chenwubia0 发表于 2012-3-23 11:51:27

本帖最后由 chenwubia0 于 2012-3-23 12:04 编辑

回复 4# metoto


    不是文件。是相当于子菜单。单击它就会读取到文本框了。我用录制的功能去录制。但是回放的时候总是到这块报错。
就只打开了下拉框,而不会展开一级菜单选择下面的数据。就跟这个图一样

代码就是这样的。
Browser("管理系统").Page("业务管理系统").Frame("Frame").Image("AMDAwAAAACH5BAEAAAAALAAAAAABAA_3").Click
Browser("管理系统").Page("业务管理系统").Frame("Frame").Image("AMDAwAAAACH5BAEAAAAALAAAAAABAA_4").Click
Browser("管理系统").Page("业务管理系统").Frame("Frame").Link("党政机关").Click
Browser("管理系统").Page("业务管理系统").Frame("Frame").WebEdit("Cust_type").Set "党政机关"

黑羽祭 发表于 2012-3-23 13:53:58

回复 1# chenwubia0
    如果使用常规方法无法回放,那就使用些别的方法规避一下吧。
    比如看看能不能抓到列表中的内容,使用sendkeys "{DOWN}"能不能选到想到选择的内容
    或者把相应的选项使用相对坐标的计算来确定位置,写成个函数,通过参数来判断选择哪个。

chenwubia0 发表于 2012-3-23 14:34:50

回复 6# 黑羽祭


    你好。我由于是刚接触到自动化测试。现在只是对系统进行模拟的录制。你说的那个我都不懂。能不能具体一点说明。谢谢了。

xiaobai1gpp2 发表于 2012-3-23 16:44:35

我的个人见解啊,你应该先link到行政事业单位,然后再link到党政机关就好了,看你代码的时候你是直接link到党政机关的。
Browser("管理系统").Page("业务管理系统").Frame("Frame").Link("行政事业单位").Click
Browser("管理系统").Page("业务管理系统").Frame("Frame").Link("党政机关").Click
也不知道能不能帮到你

黑羽祭 发表于 2012-3-23 16:51:00

回复 7# chenwubia0

    厄~那就试试低级录制吧~

chenwubia0 发表于 2012-3-23 17:22:23

回复 8# xiaobai1gpp2


    好像不行。试了下还是只打开下拉框,不知道选择

chenwubia0 发表于 2012-3-23 17:23:23

回复 9# 黑羽祭


    那个没有代码好像录制了没什么很大的帮助。要靠坐标什么的

chenwubia0 发表于 2012-3-23 17:37:45

Browser("管理系统").Page("业务管理系统").Frame("Frame").Link("行政事业单位").Click
Browser("管理系统").Page("业务管理系统").Frame("Frame").Link("党政机关").Click
这个能打开下拉框,但是无法选中里面的数据。是由于要鼠标双击才能打开2级菜单。哪位知道怎么处理鼠标双击的情况呢

chenwubia0 发表于 2012-3-26 08:49:51

:'(买了本51test 的qtp领航。慢慢研究了。

xiaobai1gpp2 发表于 2012-3-26 09:06:20

双击的话可以尝试下这个
Browser("XXXXXX").Page("XXXXXX").WebEdit("XXXXXX").Click
Set WshShell = createObject("Wscript.Shell")
WshShell.SendKeys"{DOWN}"
WshShell.SendKeys"{DOWN}"
WshShell.SendKeys"{RIGHT}"
WshShell.SendKeys"{ENTER}"
Set WshShell=nothing

chenwubia0 发表于 2012-3-26 11:10:17

回复 14# xiaobai1gpp2


Browser("XXXXXX").Page("XXXXXX").WebButton("登录").Click
Browser("XXXXXX").Page("XXXXXX").Link("客户信息管理").Click
Browser("XXXXXX").Page("XXXXXX").Link("社会团体申请").Click
Browser("XXXXXX").Page("XXXXXX).Frame("Frame").Image("AMDAwAAAACH5BAEAAAAALAAAAAABAA").Click
Browser("XXXXXX").Page("XXXXXX").Frame("Frame").Link("行政事业单位").Click
Browser("XXXXXX").Page("XXXXXX").Frame("Frame").Link("党政机关").Click

就是这样的。麻烦兄台根据这个写个你的那种方式。我试了下好像不行。不知道是不是我写错了。麻烦了。

rain_king 发表于 2012-3-27 14:49:30

我试过在录制的脚本代码,遇到下拉框时设置一个等待时间,这样你可以在回放的时候手动选择下拉菜单中的选项。我录的是添加对象的脚本,这样做回放时会报错但可以添加成功,希望有更好的办法解决这个(下拉菜单回放)问题,懂得朋友分享一下吧

chenwubia0 发表于 2012-3-28 15:06:26

Browser("xxxxxx").Page("xxxxxx").Frame("Frame").WebElement("社会团体").FireEvent("ondblclick")
Browser("xxxxxx").Page("xxxxxx").Frame("Frame").WebElement("学术性社团").Click

终于找到方法了。鼠标双击事件就行了 。希望能给跟我一样碰到这个问题的朋友帮助。

xiaobai1gpp2 发表于 2012-3-29 16:26:16

恭喜啊,看了你的这个,我也长见识了
页: [1]
查看完整版本: 看看我这个下拉框为何无法回放成功。代码中该怎么写才能获取里面的数据