求助Rational Robot问题
想询问一下查询点怎么做
现在我用SQAWaitForObject和SQAWaitForPropertyValue两个函数,不知道该怎么设这个判断条件:
例:
我想打开一个NotePad.exe文件,然后按Ctrl+S在某个特定路径下储存某个固定的文件名123.txt,当这个路径下的123.txt没有被创建时,直接保存;当已有这个123.txt时,覆盖保存
现在的情况是,第一次保存之后,到第二次执行的时候,会比第一次保存的时候多出一个选择是否覆盖源文件的选项
我做不出来这个情况,不知道条件判断该怎么写,现在两个函数返回的Result都是1016(超时),返回不了0值
我现在写的是,当输入保存的文件名(打开文本后按Ctrl+S,然后在打开的另存为窗口(1)中输入文本名,点击保存)后,如果出现新的另存为对话框(2),让选择是否覆盖原来的文件的话,就PushButton Click,"Text=是(Y)",否则就什么动作都不做,在if判断结束后关闭txt:
Result = SQAWaitForObject("Type = CommboEditBox;Text=另存为",2000)
if Result = sqaSuccess Then
PushButton Click,"Text=是(Y)" //前面的Window SetContext我给删了
else
end if
但是做不出来,我想是我的判断条件写错了,但我不知道该怎么写,求助啊!
还有我想问一下,当勾选一个按钮一定时间后在系统托盘中弹出某个图标,图标还分不同状态的判断该怎么做
[解决办法]
我已经很久没有用Robot了,也不记得具体语句了,但是除了这种思路,还有一种简易方式绕过你的问题,即在保存文件后,等待一个足以弹出询问是否覆盖的对话框时间,然后无论是否有覆盖对话框弹出,都发送一个键盘消息Alt+y,就可以解决了。因为有消息框弹出,则对应快捷键生效,若没有弹出,一般界面下Alt+y快捷键不会有对应动作,即不会产生副作用。
[解决办法]
首先声明,我现在不用Robot不是因为它不好(它支持标准Basic所以常规事情都可做到),只是我比较喜欢小巧的,robot等身材相对比较大,而且身为软件从业人员,使用盗版心理总是不太舒服,所以我现在用的是AutoIt,但是这个没有人说它是测试软件;
其次条件定位的事情,一般的自动化测试工具,或者具有相似特性的工具都能够识别窗口信息,如窗口的title等,完全可以通过此类信息识别状态分支,并且进行后续分支处理;
最后,任何工具都有自身的适用范围的,不可能有工具可以做所有的事情,所以很多时候不要一条路走到黑,该更换工具的时候更换工具,该工具联合的时候,工具联合。我所首选的工具是AutoIt不是它万能,而是它对于自身工作比较常用,还有它能够比较方便的调用外部资源而已。