51Testing软件测试论坛

标题: 看看我这个下拉框为何无法回放成功。代码中该怎么写才能获取里面的数据 [打印本页]

作者: chenwubia0    时间: 2012-3-22 14:40
标题: 看看我这个下拉框为何无法回放成功。代码中该怎么写才能获取里面的数据
本帖最后由 chenwubia0 于 2012-3-22 17:00 编辑

[attach]78153[/attach]
[attach]78152[/attach]
这种形式的下拉框如何编写代码,在录制后回放时只打开下拉框,而不会选择录制时选中的数据。
求高手帮忙,研究了好久。谢谢了
作者: chenwubia0    时间: 2012-3-22 16:33
啊哦。。。怎么没人来帮帮哦。
作者: chenwubia0    时间: 2012-3-23 08:33
一晚了还没人来帮忙。今天会被老总说啦。求助啊~~~
作者: metoto    时间: 2012-3-23 09:08
那个菜单下的是文件么?
作者: chenwubia0    时间: 2012-3-23 11:51
本帖最后由 chenwubia0 于 2012-3-23 12:04 编辑

回复 4# metoto


    不是文件。是相当于子菜单。单击它就会读取到文本框了。我用录制的功能去录制。但是回放的时候总是到这块报错。
就只打开了下拉框,而不会展开一级菜单选择下面的数据。就跟这个图一样
[attach]78156[/attach]
代码就是这样的。
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
回复 1# chenwubia0
    如果使用常规方法无法回放,那就使用些别的方法规避一下吧。
    比如看看能不能抓到列表中的内容,使用sendkeys "{DOWN}"能不能选到想到选择的内容
    或者把相应的选项使用相对坐标的计算来确定位置,写成个函数,通过参数来判断选择哪个。
作者: chenwubia0    时间: 2012-3-23 14:34
回复 6# 黑羽祭


    你好。我由于是刚接触到自动化测试。现在只是对系统进行模拟的录制。你说的那个我都不懂。能不能具体一点说明。谢谢了。
作者: xiaobai1gpp2    时间: 2012-3-23 16:44
我的个人见解啊,你应该先link到行政事业单位,然后再link到党政机关就好了,看你代码的时候你是直接link到党政机关的。
Browser("管理系统").Page("业务管理系统").Frame("Frame").Link("行政事业单位").Click
Browser("管理系统").Page("业务管理系统").Frame("Frame").Link("党政机关").Click
也不知道能不能帮到你
作者: 黑羽祭    时间: 2012-3-23 16:51
回复 7# chenwubia0

    厄~那就试试低级录制吧~
作者: chenwubia0    时间: 2012-3-23 17:22
回复 8# xiaobai1gpp2


    好像不行。试了下还是只打开下拉框,不知道选择
作者: chenwubia0    时间: 2012-3-23 17:23
回复 9# 黑羽祭


    那个没有代码好像录制了没什么很大的帮助。要靠坐标什么的
作者: chenwubia0    时间: 2012-3-23 17:37
Browser("管理系统").Page("业务管理系统").Frame("Frame").Link("行政事业单位").Click
Browser("管理系统").Page("业务管理系统").Frame("Frame").Link("党政机关").Click
这个能打开下拉框,但是无法选中里面的数据。是由于要鼠标双击才能打开2级菜单。哪位知道怎么处理鼠标双击的情况呢
作者: chenwubia0    时间: 2012-3-26 08:49
买了本51test 的qtp领航。慢慢研究了。
作者: xiaobai1gpp2    时间: 2012-3-26 09:06
双击的话可以尝试下这个
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
回复 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
我试过在录制的脚本代码,遇到下拉框时设置一个等待时间,这样你可以在回放的时候手动选择下拉菜单中的选项。我录的是添加对象的脚本,这样做回放时会报错但可以添加成功,希望有更好的办法解决这个(下拉菜单回放)问题,懂得朋友分享一下吧
作者: chenwubia0    时间: 2012-3-28 15:06
Browser("xxxxxx").Page("xxxxxx").Frame("Frame").WebElement("社会团体").FireEvent("ondblclick")
Browser("xxxxxx").Page("xxxxxx").Frame("Frame").WebElement("学术性社团").Click

终于找到方法了。鼠标双击事件就行了 。希望能给跟我一样碰到这个问题的朋友帮助。
作者: xiaobai1gpp2    时间: 2012-3-29 16:26
恭喜啊,看了你的这个,我也长见识了




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