卓振 发表于 2009-2-18 14:29:02

在QTP运行中出现的问题

在录制qtp代码时,被录制的程序会随机弹出一个对话框A,当弹出对话框A时必须点击“确定”,但是当不弹出对话框A时,QTP运行到此行代码时会弹出问题,请问应该怎么处理呢?
代码如下:
Window("SuperClient").WinToolbar("常用").Press 1
Window("SuperClient").Dialog("H7GMSW").WinButton("确定").Click****//此行是弹出对话框A必须点击“确定”按钮!!
请高手帮忙!!!!!谢谢!!!!

卓振 发表于 2009-2-18 14:30:06

回复 1# 的帖子

我觉得应该加一段代码做判断,但是我不会写代码?请高手指教!谢谢!!!

testlab 发表于 2009-2-18 16:52:26

IF Window("SuperClient").Dialog("H7GMSW").exist then
    Window("SuperClient").Dialog("H7GMSW").WinButton("确定").Click
End If

dreamever 发表于 2009-2-18 19:19:32

原帖由 testlab 于 2009-2-18 16:52 发表 http://bbs.51testing.com/images/common/back.gif
IF Window("SuperClient").Dialog("H7GMSW").exist then
    Window("SuperClient").Dialog("H7GMSW").WinButton("确定").Click
End If
三楼的思路正确,判断随机的对话框就是用这样的代码,但是我觉的可以做的再完善一些.
如楼主所说,回放过程中回出现随机的对话框,也就是说我们无法预料对话框出现的时间和位置,所以我觉的用on error resume next做处理比较好,当出现预料外的对话框时,脚本会执行on error resume next里的代码,这就给我们提供了一种异常处理的手段.但是具体的代码写不出来,因为这是需要根据你的脚本来写的.楼主可以先在百度里朝找一下on error resume next的使用方法,如果有问题的话我们在一起讨论

卓振 发表于 2009-5-18 16:10:40

关于QTP代码中if...else用法

在help中看了关于if...else的用户,但是还是不清楚应该怎么样写。
在下面这行代码中
“Window("SuperClient").Dialog("增加设备").WinComboBox("设备类型:").Select DataTable("equip", dtLocalSheet)”
参数equip=a时,执行条件1;当equip=b时,执行条件2
条件1:Window("SuperClient").Window("equip_name2").WinObject("AfxFrameOrView42").DblClick 97,45
条件2:Window("SuperClient").Window("lmfe1").WinObject("AfxFrameOrView42").DblClick 92,36
wait(1)
请问高手,怎么样能完成呢?
在这先谢谢高手。
页: [1]
查看完整版本: 在QTP运行中出现的问题