51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2432|回复: 1
打印 上一主题 下一主题

[SilkTest] 咨询一个win7下silktest取不到计算器结果的问题

[复制链接]
  • TA的每日心情
    郁闷
    2015-9-15 09:51
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2014-4-3 16:52:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    刚刚开始学习使用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]"
    后执行不报错
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-9-15 09:51
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    2#
     楼主| 发表于 2014-4-4 10:44:52 | 只看该作者
    怎么没有大神帮忙解决啊
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-5 07:47 , Processed in 0.076085 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表