FWScript 控件动作
当找到具体的控件后,这个控件被称作为“当前元素”,需要针对这个控件做很多的动作。
- 控件动作
- 控件检查
- 等待事件
控件动作
语句 | 代码 | 描述 |
---|---|---|
click | !2 | 执行相应的动作,无需任何参数。本例子为在当前控件元素上点击鼠标 |
setvalue <expr | !12 <expr | 执行动作,通过小于号跟一个表达式指定一个参数。本例子为给当前元素设置一个值 |
cutelemnt c:\bizat\tmp\t1.jpg | !32 | 执行动作,也可以直接跟字符串表达所需要的参数。本例子为将当前控件元素的图像cut下来,存到所说明的文件路径中,事实上,本动作的参数可以使用小于号跟表达式的方式,也可以不要参数(此时存成一个根据时间生成的临时文件名中)。 |
$1=1 $2=2 resize | !24 | 有时执行动作需要两个参数,此时使用赋值数字变量的方式进行。注意这个时候,后面不得再跟随任何字符,否则,会从中按约定去解析出来。 |
closewindow setting | !? setting | 关闭系统中名称为setting的窗口(有这个名称的窗口,则都关掉,如果没有,也不报错)。 fwscript提供简便的方式来试图关闭窗口。该命令方式也可指定classname,如 closewindow .Windows.UI.Core.CoreWindow,setting 意思为试图关闭class名称为Windows.UI.Core.CoreWindow而且名字为setting的所有窗口 |
closewindow BizPath | !? BizPath | 也可直接使用bizpath的方式来关闭窗口,如果找到了这个控件,则$$记录这些控件,否则,$$的值为false。注意,如果后面的BizPath找到一个button控件,则意思就是点击这个button。本功能适合于不能明确后面是否会弹出窗口的情况,如果弹出了这个窗口,则利用BizPath点击对应的Button,然后,也可以依据返回值可以进一步做其它的动作。 |
抽象动作 action | ! 或 !0 | FWScript定义了一个抽象动作Action,该动作依据当前控件的类型做相应的动作,如果是button,则invoke;如果是toggle,则toggle它;如果是selectionitem,则选择它,如果是value,则focus它;等等。 |
抽象动作 runit | !35 | FWScript定义了另一个抽象动作runit,如果当前的控件是个selectionitem,则为选择它然后按回车。(进一步扩展中,将依据以后的需求增加) |
注意,如果 expr 中使用了单引号,里面的转义符 \ 不处理。
实例
“setvalue < “123” ”:用字符串给当前的控件元素赋值 “Click” :在当前元素位置上用鼠标点击一下 “cutelement < ‘c:\tmp\t1.jpg’” 将当前控件的图像存到t1.jpg文件中 【使用单引号,里面的转义符\不处理】 上面的等同于:“cutelement < “c:\\tmp\\t1.jpg” ”
控件动作与检查的数字定义参见动作定义
控件检查
代码 | 描述 |
---|---|
validate | 检查上一个元素寻找的结果,如果找到则为Pass,没找到则为Fail |
validate 0 | 检查上一个元素寻找的结果,如果找到则为Fail,没找到则为Pass,与上面相反 |
validate 1 | 检查上一个元素寻找的结果,如果找到且只有1个元素则为Pass,否则Fail |
validate expr | 检查条件表达式的结果,如果为True则报告Pass,否则报告Fail |
setdisplay msgs | 先将字符串赋值给变量@,当后面紧跟的测试结果为Fail,则将其作为测试失败的说明 |
/2:msgs | 直接将后面跟的字符串内容作为@看待 |
setdisplay 可用 set 代替
等待事件
代码 | 描述 |
---|---|
=500 | 等待500毫秒 |
=5s | 等待5秒 |
=5m | 等待5分钟 |
=?$.event xxxxxx | 等待当前元素的事件的发生 |
setevent key=value, key=value | 设置焦点元素的判断条件,并启动事件监测,其中key为属性名称property |
setwevent key=value, key=value | 设置焦点元素所在窗口的判断条件,并启动事件监测 |
waitevent | 一直等待事件条件的发生 |
waitevent d | 等待事件条件的发生,最多等 d 秒,如果事件发生了$$为true,否则为false |
setwevent 可用 setwindowevent、setwindow 代替
<< FWScript 控件属性 | FWScript 鼠标动作 >> |