51Testing软件测试论坛

标题: windows里的计算器的基本操作对象识别失败…… [打印本页]

作者: whoamiyaya    时间: 2009-6-21 17:18
标题: windows里的计算器的基本操作对象识别失败……
对于window里的计算器,我设置了只打开C:\WINDOWS\system32\calc.exe测这个应用程序,然后在expert view里写了这么一段:
Dim a, b
a = RandomNumber(0,9)
b = RandomNumber(0,9)

Window("Calculator").WinButton("text:=a").Click
Window("Calculator").WinButton("+").Click
Window("Calculator").WinButton("text:=b").Click
Window("Calculator").WinButton("=").Click
Window("Calculator").Close

可是运行到红色那一行就出错了,错误提示以下两种都碰到过:

Cannot find the "[ WinButton ]" object's parent "[ Window ]" (class Window). Verify that parent properties match an object currently displayed in your application.

Cannot identify the object "[WinButton]" (of class WinButton). Verify that this object's properties match an object currently displayed in your application.


这是为什么呢?我是想让calc程序随机点两个数进行相加,winbutton这里用了描述性编程,我觉得应该没错呀,可是就是有问题。。。
作者: lantianwei    时间: 2009-6-21 19:43
Window("Calculator").WinButton("text:=a").Click  //这里a为字符,而非变量
Window("Calculator").WinButton("text:="&a).Click
作者: whoamiyaya    时间: 2009-6-21 19:57
非常谢谢斑竹,明白了

还有个问题:
Window("Calculator").WinButton("+").Click
加号这里假如我也想用描述性编程,似乎:
Window("Calculator").WinButton("text:=+").Click这样就会出错,该怎么处理加号呢这里。。。
作者: fei.ge    时间: 2009-6-21 21:31
貌似用转移字符....

这样写可以通过:
Window("Calculator").WinButton("text:=\+").Click
作者: intothestorm    时间: 2009-6-22 10:17
学习了,基本上不用DP,没搞明白为什么要转义?
作者: 欧阳    时间: 2009-6-22 12:03
标题: 回复 5# 的帖子
因为+在vbs的正则表达式中属于特殊字符一类。须要转义
作者: whoamiyaya    时间: 2009-6-26 22:24
哦对哦,:=后面的是不是等于就是正则表达式?难怪呢:) 谢谢各位!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2