|
步骤如下:
1 新建一个Action叫open_flight,设为可重用,有一个输入参数app_path.用Add Objects把两个窗口及上面的控件加入:Login, Flight Reservation
2 expert view中输入以下代码,实现的功能为:打开flight4a,输入用户名和密码,点击ok
--------------------------------------------------
Option Explicit
Const agent_name = "TestAgent"
Const password = "MERCURY"
Const app = "C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe"
Dim get_in_app_path
get_in_app_path = parameter("app_path") '得到输入的参数
If get_in_app_path = "" Then
get_in_app_path = app
End If
If window("Flight Reservation").Exist = 0 Then
SystemUtil.Run get_in_app_path '打开flight4a.exe
End If
Dialog("Login").Activate
Dialog("Login").WinEdit("Agent Name:").Set agent_name
Dialog("Login").WinEdit("Agent Name:").Type micTab
Dialog("Login").WinEdit("Password:").Set password
Dialog("Login").WinEdit("Password:").Type micTab
Dialog("Login").WinButton("OK").Type micReturn
---------------------------------------------------
运行结果:可以正常打开程序
问题:在keyword view选择某个控件名,如"Agent Name",在active screen中看不到这个控件,这样导致加入checkpoint时提示无法识别此控件.
我觉得奇怪的是,脚本可以正常运行,为什么active screen中看不到控件呢?
又试了以下步骤:
1 先打开flight4a.exe
2 新建脚本,录制登录过程,保存
3 在active screen中可以看到控件,插入checkpoint也正常
为什么这两种步骤结果不一样呢?难道说不录制,先用Add Objects来识别控件就不行吗? |
|