badwing 发表于 2009-7-10 13:26:27

QTP识别网页弹出窗口中的元素问题

碰到了个问题,QTP怎么用描述性编程去定位网页中弹出的窗口??

lijinshui 发表于 2009-7-10 15:13:42

你用OBJECT SPY 把那个窗口捕获,然后观测它的一些常量值如:CLASSNAME SWFTYPENAME 等等
SETDESC = DESCRIPTION.CREATE()
DESC("CLASSNAME ").VALUE = "AAABBBCCC"
DESC("SWFTYPENAME ").VALUE = "TTTDDDUUU"
IF OBJ.SWFOBJECT(DESC).EXIST(1) THEN
      MSGBOX "I AM HERE"
END IF
如果打印出来了 I AM HERE 那么就成功啦 赫赫

badwing 发表于 2009-7-10 16:06:46

OBJ.SWFOBJECT
敢问下OBJ代表什么??
SWFOBJECT是什么意思??

lijinshui 发表于 2009-7-10 16:22:47

赫赫 钢材被SHANXI批评了一顿,估计你这个问题要是被他看见少不了赫赫:lol
OBJ就是你要测试的哪个物体,你哪个应该是个
DESC("CLASS NAME ").VALUE = "SWFWINDOW"
我的意思就是你要替换一下,我只是给你一个列子,具体的值只有你自己知道

badwing 发表于 2009-7-10 20:20:44

SWFOBJECT是什么方法,楼上用的是哪个版本的QTP,
还有一点就是我地方弹出窗口用OBJECT SPY识别出来是
BROWSER。WINDOW。PAGE
用描述性如果就这么用好象识别不出来的吧

水煮肉片 发表于 2009-7-10 21:35:50

dim browser_a
dim page_b

set browser_a=description.create();
browser_a("一个可以标识对象的属性名")="你期望捕获页面的唯一标识属性值"
'如果一个属性不能唯一标识,就去找其他属性或者组合起来标识
其他对象依次类推

Browser(browser_a).page(page_b)
--------------------------------------------------------------------------------------------------
一个实例:
建立描述性对象page_main以用来匹配后台管理系统主页面
Dim page_main
Set page_main=description.Create()
page_main("title").value="天鼎进销存管理系统 - 后台管理系统"

Browser("天鼎进销存管理系统 - 系统登陆").Page("天鼎进销存管理系统 - 系统登陆").WebEdit("username").Set "admin"
Browser("天鼎进销存管理系统 - 系统登陆").Page("天鼎进销存管理系统 - 系统登陆").WebEdit("pwd").Set"admin"
Browser("天鼎进销存管理系统 - 系统登陆").Page("天鼎进销存管理系统 - 系统登陆").Image("enter").Click 46,16

If Browser("天鼎进销存管理系统 - 系统登陆").Page(page_main).Exist Then
        reporter.ReportEvent micPass,"登陆功能测试","通过"
else
        reporter.ReportEvent micFail,"登陆功能测试","失败"
End If

badwing 发表于 2009-7-11 22:20:17

如果采用BROWSER.WINDOW.PAGE的顺序来使用描述性编程是会出错的。。
页: [1]
查看完整版本: QTP识别网页弹出窗口中的元素问题