tianyinghua2012 发表于 2012-11-23 09:11:06

刚开始学QTP,弱智问题请求各位大虾帮满

我对用户名进行了参数化,第一遍执行的时候可以,循环执行第二遍的时候就卡在脚本的第一行代码那。脚本代码如下:
Dialog("Login").WinEdit("Agent Name:").Set DataTable("p_Text", dtGlobalSheet)
Dialog("Login").WinEdit("Agent Name:").TypemicTab
Dialog("Login").WinEdit("Password:").SetSecure "50adc4345ffccbd8c54706800ff53606adebf80e"
Dialog("Login").WinEdit("Password:").TypemicReturn
Window("Flight Reservation").WinObject("Date of Flight:").Type "121123"
Window("Flight Reservation").WinComboBox("Fly From:").Select "Denver"
Window("Flight Reservation").WinComboBox("Fly To:").Select "London"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Activate "20264   DEN   12:12 AM   LON   07:23 PM   AA   $112.20"
Window("Flight Reservation").WinEdit("Name:").Set "22"
Window("Flight Reservation").WinButton("Insert Order").Click
Window("Flight Reservation").Close

joykao 发表于 2012-11-23 09:19:46

在你的代码前加一句启动程序的路径:

SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"

还有记得设置File- Settings - Run- Run all rows

tianyinghua2012 发表于 2012-11-23 14:16:31

回复 2# joykao


    刚加了,不行,运行报错。

tianyinghua2012 发表于 2012-11-23 14:17:34

回复 2# joykao run all rows都设置了

joykao 发表于 2012-11-23 14:24:44

回复 3# tianyinghua2012

好吧,说明白点,C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe这个就是flight程序的路径,你安装的设置可能不一样,所以要改成你自己电脑上的路径,好好找找尝试下吧

tianyinghua2012 发表于 2012-11-23 14:54:41

回复 5# joykao


    这个我肯定知道啊。我安装的是在d盘里,我在代码的最后一行加了这句话,可以执行到第二个参数,执行到第三个参数就有问题了,还是卡住了。
我的QQ1052583913,加下我吧。郁闷死了。

joykao 发表于 2012-11-23 15:02:58

本帖最后由 joykao 于 2012-11-23 15:13 编辑

回复 6# tianyinghua2012


我的意思是在第一行加。。。。:'(都是一些很简单的东西,烦干嘛撒。。。。淡定。。。。现在上班不能玩QQ,回去加吧。。
你参数化是做了,但是一个参数跑完了你把程序关了,so第二个就没得跑了。。。。。而且在加上启动程序的语句后你应该去设置你的Record and Run time setting 把你录制时添加的程序给删掉。。。。这样在执行时就不会出现2个窗口了。。。。。自己多琢磨啦

tianyinghua2012 发表于 2012-11-23 15:07:25

回复 7# joykao
刚才也试了,放在第一行,问题还是一样的,第三行的参数就运行不了了。:dizzy:

joykao 发表于 2012-11-23 15:14:31

回复 8# tianyinghua2012
我的意思是在第一行加。。。。都是一些很简单的东西,烦干嘛撒。。。。淡定。。。。现在上班不能玩QQ,回去加吧。。
你参数化是做了,但是一个参数跑完了你把程序关了,so第二个就没得跑了。。。。。而且在加上启动程序的语句后你应该去设置你的Record and Run time setting 把你录制时添加的程序给删掉。。。。这样在执行时就不会出现2个窗口了。。。。。自己多琢磨啦

joykao 发表于 2012-11-23 15:19:51

还有你代码可以修理下。。

Dialog("Login").WinEdit("Agent Name:").TypemicTab

Dialog("Login").WinEdit("Password:").TypemicReturn
这两句话不要。。。


下面是我自己尝试的。。都成功
SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"
Dialog("Login").WinEdit("Agent Name:").Set DataTable("userName", dtGlobalSheet)
Dialog("Login").WinEdit("Password:").SetSecure "50af20cfd292e20642279326abf969b00f05d525"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").ActiveX("MaskEdBox").Type "112412"
Window("Flight Reservation").WinComboBox("Fly From:").Select "Frankfurt"
Window("Flight Reservation").WinComboBox("Fly To:").Select "London"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "10399   FRA   01:24 PM   LON   02:07 PM   QF   $103.80"
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "Anthony"
Window("Flight Reservation").WinButton("Insert Order").Click
Window("Flight Reservation").Close

tianyinghua2012 发表于 2012-11-23 15:20:37

回复 9# joykao


    已经弄好了,原因是回放的时候,弹出了2个登录界面,估计它无法识别运行哪个,我关闭其中一个登录界面,就可以了,所有的参数都可以执行完。呵呵,那句话放在第一行和最后一行效果都是一样的。我就纳闷了,为什么我回放脚本时,有时候喜欢冒出2个登录界面。

joykao 发表于 2012-11-23 15:27:00

回复 11# tianyinghua2012

因为你录制的时候添加了程序,回放默认就会打开那个录制时的程序窗口,你又加了句启动程序的话所以会有2个登录页面,你可以去设置的把录制时的启动的程序给去掉

tianyinghua2012 发表于 2012-11-23 15:30:01

回复 10# joykao


    Dialog("Login").WinEdit("Agent Name:").TypemicTab

Dialog("Login").WinEdit("Password:").TypemicReturn
这2句话还是要的,因为我没有点击登录按钮,用回车替代了。

xiaoshi_2011 发表于 2012-12-4 16:11:44

路过学习了,谢谢

zuin 发表于 2012-12-5 09:30:07

回复 12# joykao


    怎么设置的把录制时的启动的程序给去掉

joykao 发表于 2012-12-5 13:37:57

回复 15# zuin


设置Record and Run time setting 把你录制时添加的程序给删掉。。。。
页: [1]
查看完整版本: 刚开始学QTP,弱智问题请求各位大虾帮满