似似之 发表于 2012-6-6 12:31:41

Flight登陆界面参数化求救

在登陆界面对名称参数化后,只能循环一次 第二个循环报错{找不到 "代理名称:" 对象的父对象 "登录" (类 Dialog)。验证父对象的属性与当前显示在应用程序中的对象是否匹配。第 (1) 行: "Dialog("登录").WinEdit("代理名称:").Set DataTable("name", dtGlobalSheet)"。 }
但是我不进入“航班预订”面板,登陆界面就可以成功循环3次!
为什么呢?

似似之 发表于 2012-6-6 16:34:53

怎么没人回答,自己顶起来。

shanfeng1419 发表于 2012-6-13 11:03:51

回复 2# 似似之


    我理解是:如果成功进入系统后,点退出,qtp没有再启动订票登录对话框,所以找不到对象报错。如果不进系统,qtp是可以进行三次循环的,下面代码你试下,看可以不


Dialog("Login").WinEdit("Agent Name:").Set DataTable("name", 1)
Dialog("Login").WinEdit("Password:").set DataTable("pwd", 1)
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"
systemutil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"

changyanan000 发表于 2012-6-13 13:40:29

你在Expert View 最后加一句wait(2)试试

似似之 发表于 2012-6-14 15:43:03

回复 3# shanfeng1419


    还是不行,不过可以循环一个,到第3次就挂了。问题是一样的,不过每次多弹出一个Flight程序。实际比较麻烦的,直接添加wait可行,但是什么原因,停个2秒就行了。

May_may 发表于 2012-6-14 17:44:24

lz,你执行脚本的时候可以打开任务管理器的进程看看,当脚本执行完select"退出"后,flight的进程并没有立刻关闭,可能会有一点延迟,但是脚本立即就去执行第二遍了的第一行,那时,flight的进程还没关,自然不会再开启一个新进程,过了一会儿之前的进程关了,但是开启新进程的脚本已经过了,在登录页面也就找不到对象了,而wait(2),就是给了一点关进程的时间

TestWith1314 发表于 2012-7-10 15:31:16

可能你那个Run and Recording 设置里,每次开始的时候会自动打开Flight程序
页: [1]
查看完整版本: Flight登陆界面参数化求救