TA的每日心情 | 郁闷 2015-9-15 09:51 |
---|
签到天数: 2 天 连续签到: 2 天 [LV.1]测试小兵
|
刚刚开始学习使用silktest,请大神帮忙解决一下这个问题。
试验中取不到计算器文本框中的数据。
inframe.inc内容如下:
[ ] const wDynamicMainWindow = 计算器
[ ]
[-] window MainWin 计算器
[ ] locator "/MainWin[@caption='计算器']"
[ ]
[ ] // The working directory of the application when it is invoked
[ ] const sDir = "C:\Windows\system32"
[ ]
[ ] // The command line used to invoke the application
[ ] const sCmdLine = "C:\Windows\system32\calc.exe"
[ ]
[ ] // The list of windows the recovery system is to leave open
[ ] // const lwLeaveOpenWindows = {?}
[ ] // const lsLeaveOpenLocators = {?}
[+] Menu 查看V
[ ] locator "查看(V)"
[+] MenuItem 标准型T
[ ] locator "标准型(T)"
[ ] //复位按钮C
[-] PushButton ButtonC
[ ] locator "[13]"
[ ] //数字按钮1
[-] PushButton Number1
[ ] locator "[5]"
[ ] //操作按钮+
[-] PushButton Plus
[ ] locator "[23]"
[ ] //数字按钮2
[-] PushButton Number2
[ ] locator "[11]"
[ ] //操作按钮=
[-] PushButton Equals
[ ] locator "[28]"
[-] StaticText CalResult
[ ] locator ""
测试脚本文件内容:
[-] testcase Test1 () appstate PrepareCal
[ ] String sResultValue = Plus()
[ ] print("sResultValue is {sResultValue}")
[ ] Verify(val(sResultValue) , 0,"Expect 1+2=3, actually it is {sResultValue}")
[ ] print ("The End!!!")
[-] String Plus()
[ ] 计算器.Number1.Click()
[ ] String number1 = 计算器.CalResult.GetText()
[ ] Print(" number1 is {number1}")
[ ] 计算器.Plus.Click()
[ ] 计算器.Number2.Click()
[ ] String number2 = 计算器.CalResult.GetText()
[ ] Print(" number2 is {number2}")
[ ] 计算器.Equals.Click()
[ ] String expectResult = number1+number2
[ ] Print(" expectResult is {expectResult}")
[ ] String sResultValue = 计算器.CalResult.GetText()
[ ] return sResultValue
[-] appstate MyCalBaseState() basedon DefaultBaseState
[-] if(计算器.Exists())
[ ] 计算器.Close()
[-] appstate PrepareCal() basedon MyCalBaseState
[ ] 计算器.invoke()
[ ] 计算器.ButtonC.Click()
[ ]
执行结果如下:
[ ] Script test.t - Passed
[ ] Machine: (local)
[ ] Started: 03:23:05PM on 03-Apr-2014
[ ] Elapsed: 0:00:07
[ ] Passed: 1 test (100%)
[ ] Failed: 0 tests (0%)
[ ] Totals: 1 test, 0 errors, 0 warnings
[ ]
[-] Testcase Test1 - Passed
[ ] number1 is
[ ] number2 is
[ ] expectResult is
[ ] sResultValue is
[ ] The End!!!
脚本录制时按钮的代码是:
//数字1的按钮
[-] PushButton Number1
[ ] locator "[@priorlabel='0'][5]"
但直接执行报错:
[-] Testcase Test1 - 1 error
[ ] Failed to resolve object '/MainWin[@caption='计算器'] -> //PushButton[@priorlabel='0'][5]'.
[ ] Occurred in Click
[ ] Called from Test1 at plusTest.t(4)
修改为
[-] PushButton Number1
[ ] locator "[5]"
后执行不报错 |
|