51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1374|回复: 1
打印 上一主题 下一主题

[原创] 在使用QTP中遇到的几个问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-5-7 20:09:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1:如何录制WEB菜单,现在可以录到顶级菜单,显示为WEBELEMENT,想通过OBJECTSPY去识别下级菜单,用虚拟对象的办法好象也不能录到下级菜单.不管是SPY还是OBJECT REPOSITORY里面的添加对象到本地库都只能识别到本级菜单,请问通过这种手动识别对象的方法可不可能识别到下级菜单的.  也在WEB EVENT RECORDING中设置了WEBELEMENT的ONMOUSEOVER为ENABLE,脚本里加了FIREEVENT "ONMOUSEOVER" 方法,回放时只能点开顶级菜单,但是鼠标不会移到想要点击的菜单上,


2:如何录制WEBLIST:应该是WEBLIST,但是用OBJECTSPY显示的是WEBEDIT,后面那个下拉的箭头SPY识别不到,请问这种控件有什么办法能录到下拉选项中的值


3:如果自定义了一个虚拟对象,可不可以将它添加到本地库中去,在录制脚本时,预识别的对象好象并不会照设好的虚拟对象去设置.虚拟对象工作的原理是什么

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

使用道具 举报

该用户从未签到

2#
发表于 2008-5-7 22:25:25 | 只看该作者
1、正常的链接是可以识别的,无论多少级,我的就是,如果是在不行,你可以试下如下代码:
function menuSelect(menuName)
        Set curPage=Browser("creationtime:=0").Page("index:=0")
        menu=split(menuName,"-")
        curPage.WebElement("innerhtml:="&menu(0)).Click
        if curPage.WebButton("name:=确 定").exist(2) then
                curPage.WebButton("name:=确 定").Click
        end if
'依次把每级菜单找出来,
For i= 1 to UBound(menu)
        Set menuDesc = description.Create()
        menuDesc("text").Value=menu(i)
        menuDesc("micclass").Value = "Link"
        if curPage.Exist(1) then
                label = 0
                While(label = 0)
                        Set menuLists = curPage.ChildObjects(menuDesc)        
                        NumberOfLists = menuLists.Count()
                        If NumberOfLists=1 Then
                                menu(i)=menuLists.Item(0).GetROProperty("html id")
                                label = label + 1
                        elseif NumberOfLists>1 then
                                For j=0 to NumberOfLists
                                        tempCode=menuLists.Item(j).GetROProperty("html id")
                                        If instr(tempCode,menu(i-1))>0 Then
                                                menu(i)=tempCode
                                                label = label + 1
                                                Exit For
                                        End If
                                Next                       
                        End If
                Wend
                curPage.Link("html id:="&menu(i)).Click
        end if
        Set menuLists = nothing
        Set menuDesc = nothing
Next
        Set curPage = nothing
End function

2、weblist标准控件QTP是能够识别的很好的,如果你的是非标准控件,你可以尝试用描述性编程实现
3、虚拟对象只对建立虚拟对象的测试机器有效
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-27 08:19 , Processed in 0.069933 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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