hqf007 发表于 2008-9-14 19:07:49

QTP脚本用数据表参数化后运行

QTP脚本用数据表参数化后,为什么总是第一次运行正常,到第二次运行,每次跑到第一行就显示找不到对象,请问在QTP内还要设置什么吗,代码如下,求各位大虾帮忙,谢谢啊!!代码如下:
Dialog("Login").Static("Static").Check CheckPoint("Static")
Dialog("Login").WinEdit("Agent Name:").Set "admin"
Dialog("Login").WinEdit("Password:").SetSecure "48ccdca99bfc9f5a007311a6832f9543429d441d"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").WinButton("Button").Check CheckPoint("Button")
Window("Flight Reservation").WinObject("Date of Flight:").Type "080809"
Window("Flight Reservation").WinComboBox("Fly From:").Select DataTable("FROM", dtGlobalSheet)
Window("Flight Reservation").WinComboBox("Fly To:").Select DataTable("TO", dtGlobalSheet)
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").Static("Static").Check CheckPoint("Static_2")
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "10436   LON   09:51 AM   PAR   11:31 AM   QF   $171.80"
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set DataTable("NAME", dtGlobalSheet)
msgbox ("xxxxxx")
Window("Flight Reservation").WinRadioButton("First").Set
Window("Flight Reservation").WinRadioButton("First").Set
Window("Flight Reservation").WinEdit("Tickets:").SetSelection 0,1
Window("Flight Reservation").WinButton("Insert Order").Click
Window("Flight Reservation").Close

我想让此脚本连续运行,就是第二次跑到第一行出错,用FOR循环也一样

zhanglu_8207 发表于 2008-9-16 18:15:52

我也是新手    不过看你的脚本最后一行是把页面关掉了    QTP在循环运行的时候不会再自己打开IE的吧(这个我不确定)    所以把最后一行改成退出登陆的操作试试

漩涡鸣人 发表于 2008-10-31 15:04:51

你的脚本哦无法保证能够循环使用
应该增加判断,判断窗体是否存在
如果存在,将窗体激活
如果不存在,将窗体打开
给你个简单的示例:


If not window("计算器").Exist Then
        SystemUtil.Run "C:\WINDOWS\system32\calc.exe","","C:\WINDOWS\system32","open"
else
        window("计算器").Activate
        window("计算器").SetTOProperty "visible",true
End If
页: [1]
查看完整版本: QTP脚本用数据表参数化后运行