QTP识别flash对象的几种解决办法

上一篇 / 下一篇  2015-06-20 14:13:06 / 个人分类:QTP/UFT

测试web网站过程中,有时会有flash做的按钮,如果只加载了web插件,此时是无法识别此控件的,即使是加载了flex插件,也需要去修改flash编译器的参数,重新编译才可以正确识别,

]"_4MU-V4R$l0

0K h6{(} `)jg"|5ONj0

在网上查了下,有的解决办法是这样的:

N-ZFH6_.PWR RD0

1.      设置web事件录制方式为高级,即录制所有对象的onmouseover等事件,然后录制

Fd u8GtkY*|)R0

  Browser("#").Page("#").WebElement("fotester").FireEvent "onmouseover"

PC4s S6Y0

2添加一下句,Browser("#").Page("#").WebElement("fotester").click51Testing软件测试网qUO0^o5@$X@ _5Z

试了下,还是执行不了click51Testing软件测试网}6S7~$N'pCzE?v

 

m:tXT&aMR#V@z F0

试了几种办法:51Testing软件测试网 N"J'V3@#v5I'n

(以闪吧网站首页的左上角falsh广告位例)

L ]OzNh0

1.      低级录制:(对象坐标)51Testing软件测试网s.|~ ~b gc4s

Window("Windows Internet Explorer_2").Activate51Testing软件测试网S6{s+ko o

Window("Windows Internet Explorer_2").WinObject("Internet Explorer_Server").Click 306,240

,{ xF-@_2d.q0

2.或使用模拟录制(鼠标轨迹)51Testing软件测试网E%z [o2L5D4g3Q.Yr

Window("Windows Internet Explorer").RunAnalog "Track3"51Testing软件测试网;itlvV%l H6tr

都可以解决,只是不太稳定

B4G'~B"^0|R8m_0

3. 结合sikuli软件,51Testing软件测试网 i9]X"]4Yx

skiuki是图形化编程软件,使用起来很简单,目前最新版本支持win7,需要安装jdk1.7以上版本,51Testing软件测试网 lN%Xo;K

3v'i&KT ^5z$H0

保存或导出为可执行文件,如保存为click.skiuli文件51Testing软件测试网 lFMy.S:QTn

QTP直接调用51Testing软件测试网j f![l/h LOI2\\g

createobject("wscript.shell").Run "D:\skufu\sikuli-setup\Commands\windows\runIDE.cmd -r D:\click.sikuli"51Testing软件测试网x&tTCBnV:qu

-r参数表示运行脚本

{l$aCx5tKz#m~0

 51Testing软件测试网"j No1Q |%va

4.      使用QTP的洞察录制,我的是qtp12.录制过程中切换为洞察方式录制,生成的脚本如下,和sikuli很类似,有了这个,就不用去再麻烦的使用sikuli

i9^Dti0

   

k,x9aZ Z)h!A0

可以从对象库导出库文件,执行时动态导入

0J Gw t b7s$Ee+R[H0

 RepositoriesCollection.Add "d:\flash.tsr"
w'elY'V!u0J4~&Z0 Browser("#").InsightObject("InsightObject").Click
51Testing软件测试网K9e$fhnl?1T)k*|

 该语句不支持描述编程

9a j l&i:{-i"M0

TAG: Flash flash

 

评分:0

我来说两句

Open Toolbar