|
请教一下,我录制了一个QTP脚本,是测试登陆的,代码如下
Function submit()
'测试登陆的情况
Dim loginScuess,inFailValue,submitEnable,inFail,e
SystemUtil.Run "D:\呼叫中心系统"
Window("D:\呼叫中心系统").WinListView("SysListView32").Select "tel60.exe"
Window("D:\呼叫中心系统").WinListView("SysListView32").Activate "tel60.exe"
RunAction "invalue", oneIteration
'此时遇到的问题 登陆按钮不会变灰
'1.enabled的值不一样 如果灰色不可点时值是false 黑色可点时值是true
submitEnable=Window("Window").WinButton("登录(O)").GetROProperty("enabled")
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("d:\aaa.txt", 2, True)
f.WriteLine("大家好我是分隔线*************************************************************")
f.WriteLine("第一个检查点,按钮的值是:"&submitEnable)
f.WriteLine("灰色是false,黑色是true")
f.WriteLine("输入的用户名是:"&username2&"。密码是:"&pwd)
f.WriteLine("大家好我还是分隔线***********************************************************")
f.WriteLine()
Window("Window").WinButton("登录(O)").Click
Window("Window_2").Check CheckPoint("广州恒邦呼叫中心系统")
loginScuess=Window("Window_2").Check (CheckPoint("广州恒邦呼叫中心系统"))
f.WriteLine("亲,我是分隔线哦*************************************************************")
f.WriteLine("第二个检查点,广州恒邦呼叫中心系统图片检测值是:"&loginScuess)
f.WriteLine("亲,我还是分隔线*************************************************************")
f.WriteLine()
If loginScuess Then
Window("Window_2").Window("Window").WinButton("Button").Click
Window("Window_2").Dialog("提示").WinButton("是(Y)").Click
else
inFail=Window("Window").Dialog("错误").GetROProperty("enabled")
msgbox(inFail)
inFailValue=Window("Window").Dialog("错误").Static("操作员代码或密码错误").GetROProperty("regexppwndtitle")
msgbox(e)
f.WriteLine("亲,我是分隔线哦*************************************************************")
f.WriteLine("您是不是输入的错误的密码呢,系统会报错哦"&inFail)
f.WriteLine("系统提示的是"&inFailValue)
f.WriteLine("亲,我还是分隔线*************************************************************")
f.WriteLine()
f.close
End If
附:invalue这个函数是因为登陆框需要密码框输入数据后才会变黑,所以输入用户名与密码的操作使用低级录制模式存在一个action中,这里是直接调用代码如下
Window("Window").WinObject("Edit").Click 97,7
Window("Window").WinObject("Edit").Type DataTable("username", dtGlobalSheet)
Window("Window").WinObject("Edit_2").Click 83,18
Window("Window").WinObject("Edit_2").Type DataTable("pwd", dtGlobalSheet)
然后action中是直接调用submit函数,运行过程正常,等submit函数运行完后QTP还是一直显示在运行中,等几分钟后会出现一个提示
请问这是因为什么呢,可以怎样解决? |
|