51Testing软件测试论坛

标题: qtp回放会有弹出窗口,我自己操作却没有…… [打印本页]

作者: whoamiyaya    时间: 2009-9-5 12:59
标题: qtp回放会有弹出窗口,我自己操作却没有……
发现一个非常奇怪的问题,百思不得其解。。。我自己手动操作下面网页的时候,一切都很正常,在edit框输入一个关键字,然后选择比如wma,然后按“搜狗搜索”,会跳出一个新的页面,让你下载东西。代码如下:

SystemUtil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","","","open"
Browser("title:=about\:blank").Navigate ("http://music.sogou.com/singer/81/detailSinger_2009%BF%EC%C0%D6%C5%AE%C9%F9.html")

Browser("2009快乐女声歌曲mp3试听下载_2009快乐女声最新专辑").Page("2009快乐女声歌曲mp3试听下载_2009快乐女声最新专辑").WebEdit("query").Set "江映蓉"
Browser("2009快乐女声歌曲mp3试听下载_2009快乐女声最新专辑").Page("2009快乐女声歌曲mp3试听下载_2009快乐女声最新专辑").WebRadioGroup("class").Select "#2"
Browser("2009快乐女声歌曲mp3试听下载_2009快乐女声最新专辑").Page("2009快乐女声歌曲mp3试听下载_2009快乐女声最新专辑").WebButton("搜狗搜索").Click


但是我想在qtp回放,执行到最后一步,也就是按“搜狗搜索”之后,会出现提示说要不要阻止active x之类,为什么手工和回放会不一样呢?真奇怪啊,大家有兴趣可以试试看~~ 因为我不想修改ie的设置,所以不知道该怎么做呢
作者: peterz    时间: 2009-9-5 19:48
你把弹出窗口限制取消了试试。并且在对象库里看看有没有这个对象。
作者: whoamiyaya    时间: 2009-9-5 23:15
回2#,对象库里有这个对象的。弹出窗口取消,你的意思是在ie设置里吗?但是我不想改变这个设置。。。

我觉得奇怪的是,为什么我手动操作就是ok的呢,不会问我这个pop up block的问题,但是录好了让他自动回放就会出来,诡异。。。
作者: dabeixiong    时间: 2009-9-6 20:46
问题很明显出在按钮点击那一步:
Browser("2009快乐女声歌曲mp3试听下载_2009快乐女声最新专辑").Page("2009快乐女声歌曲mp3试听下载_2009快乐女声最新专辑").WebButton("搜狗搜索").Click

有可能IE把QTP这一步模拟用户点击操作当成不安全的方式运行ActiveX 控件或是啥的...总之就是触发了IE弹出窗口阻止程序你怎么招吧-.-!

你要非不想改IE那就只能改QTP了,用SendKeys
SystemUtil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","","","open"
Browser("title:=about\:blank").Navigate ("http://music.sogou.com/singer/81/detailSinger_2009%BF%EC%C0%D6%C5%AE%C9%F9.html")

Browser("2009快乐女声歌曲mp3试听下载_2009快乐女声最新专辑").Page("2009快乐女声歌曲mp3试听下载_2009快乐女声最新专辑").WebEdit("query").Set "江映蓉"
Browser("2009快乐女声歌曲mp3试听下载_2009快乐女声最新专辑").Page("2009快乐女声歌曲mp3试听下载_2009快乐女声最新专辑").WebRadioGroup("class").Select "#2"
Set objShell = CreateObject("WScript.Shell")
objShell.SendKeys "{Enter}"
作者: 风车    时间: 2009-9-7 11:37
LS强大啊
作者: whoamiyaya    时间: 2009-9-9 22:22
哈,非常感谢4#,我刚才试过了,果然就可以了,这是为什么呢?难道按下“搜狗搜索”这个按钮和按下“enter”在安全性上面还有什么不一样吗?
作者: dabeixiong    时间: 2009-9-9 23:12
我觉得区别在于怎么点...
objShell.SendKeys "{Enter}"基本上等同于你手动敲击键盘上的回车键,IE也觉得这种方式安全(VBS和IE都是微软自家的东西...),所以都没有提示
而WebButton("搜狗搜索").Click却不完全等同于你手工鼠标点击按钮,而是QTP模拟用户点击的行为,而怎么模拟的?调用了啥ActiveX控件?是否并且为啥让IE觉得这种模拟行为是不安全的方式运行ActiveX 控件?我也不得而知-.-!只是猜想...
作者: lijinshui    时间: 2009-9-10 08:58
原帖由 dabeixiong 于 2009-9-9 23:12 发表
我觉得区别在于怎么点...
objShell.SendKeys "{Enter}"基本上等同于你手动敲击键盘上的回车键,IE也觉得这种方式安全(VBS和IE都是微软自家的东西...),所以都没有提示
而WebButton("搜狗搜索").Click却不完全等同于 ...


值得深思啊,果然是有心人啊,学习了




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