TA的每日心情 | 擦汗 2016-1-18 23:49 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]测试小兵
|
我想我需要介绍一下所测试的软件:Java开发,使用Eclipse集成开发环境。经典的LAMP框架。不过是个C/S架构的软件,即不是基于WEB或者Windows。
问题描述:
使用QTP录制脚本需要安装JAVA-ADDIN插件,QTP版本8.2.按道理说,DP是可以抛弃对象库的,即不需要对象库也能运行软件。但是,我现在制作好脚本,运行它则根本跑不起来。于是我录制了一遍,加上了对象库。然后我在QTP中引用对象库的对象。如此脚本才能运行。
困惑1:为什么我只写脚本它根本跑不起来?(我在加上对象库以后,可以用它来动态识别对象。只需要录制到控件对象即可,其属性可以动态制定。)
我在用此法录制菜单选择操作的时候,对于只有一级菜单的选择没有问题,但是多级菜单的时候,会提示找不到对象。经过多次调试,发现使用DP,只能让脚本识别到一级菜单项,但是不能让其子菜单项显示出来。
困惑2:奇怪的是如果使用录制的方式来做,却可以运行。
最大的困惑:DP在抛弃对象库之前还需要做什么设置?直接写这段代码根本跑不起来!
脚本内容很简单,就这么写:
firstmenus=“Basic Data”
‘之所以设置一个变量是因为我不打算使用DATATABLE与Action参数传递,直接使用Fuction存在vbs脚本中,然后将其设为脚本的Resource。这样就当作是一个共享函数在调用。
set firstmenu=Description.Create()
firstmenu(“label”).value=firstmenus
secondmenus=“Company Profile”
set secondmeun=Description.Create()
secondmenu("label").value=secondmenus
JavaWindow("PHX").Javamenu(firstmenu).JavaMenu(secondmenu).Click()
’现在脚本运行到此处就会报告说:找不到Javamenu(“Basic Data”)对象,然而用GETROPOPERTY去读这个对象的属性,则显示的就是Company Profile。这个对象绝对存在并且唯一!
set firstmenu=nothing
set secondmenu=nothing
注意:这里的两个变量是具体菜单项的名字,用这一句话就可以实现选择任何一个子菜单项了。不过,现在我必须写成这样才有效:
JavaWindow("PHX").Javamenu(“Basic Data”).JavaMenu(secondmenu).Click()
即,只能将最后一个菜单项DP,之前的不可以改。
然而这么做我就必须录下全部的二级菜单项,大概15个左右!!DP不是可以摆脱对象库吗?这到底怎么回事?请教高手!
原脚本如下,这是我目前的写法,只有这样写才能跑,不过这意着我无法完全控制子菜单项的选择。
'快捷按钮方式定义
shortcuts="Settle AR"
Set shortcut=Description.Create()
shortcut("label").value=shortcuts
JavaWindow("PHX").JavaButton(shortcut).Click
'一层菜单
firstmenus="VMS"
Set firstmenu=Description.Create()
firstmenu("label").value=firstmenus
secondmenus="Add PO"
Set secondmenu=Description.Create()
secondmenu("label").value=secondmenus
JavaWindow("PHX").JavaMenu(firstmenu).JavaMenu(secondmenu).Select
'二层菜单
thirdmenus="Customer"
Set thirdmenu=Description.Create()
thirdmenu("label").value=thirdmenus
JavaWindow("PHX").JavaMenu("Basic Data").JavaMenu("Company Profile").JavaMenu(thirdmenu).Select
thirdchildmenus="Account No. Maintenance"
Set thirdchildmenu=Description.Create()
thirdchildmenu("label").value=thirdchildmenus
JavaWindow("PHX").JavaMenu("Accounting").JavaMenu("Setup Financial Data").JavaMenu(thirdchildmenu).Select
'三层菜单
JavaWindow("PHX").JavaMenu("Export").JavaMenu("Ocean Job Management").JavaMenu("Consolidation").JavaMenu("Pack Container").Select
JavaWindow("PHX").JavaMenu("Accounting").JavaMenu("Setup Financial Data").JavaMenu("Account No. Maintenance").Select
'菜单项选择框架
[ 本帖最后由 暗冷夜空的风 于 2008-3-7 09:04 编辑 ] |
|