我正在用CAPL编写测试用例,并希望通过使用Panel Designer中的“按钮”来激活每个测试用例。问题是,每当我按下按钮时,它的反应就好像被按下了两次。
我只是简单地添加这样的代码以使该问题可见。(“ @sysvar :: Test_Cases :: TC1”的系统变量链接到面板编辑器中的按钮)
on sysvar sysvar::Test_Cases::TC1
{
putValueToControl("Window","CAPL Output View",@sysvar::Test_Cases::TC1);
}
我希望只看到-> Value of @sysvar::Test_Cases::TC1 =1
@ sysvar :: Test_Cases :: TC1的值= 1@sysvar :: Test_Cases :: TC1 = 0
的值on sysvar X {...}事件过程对X的value change起反应。因此,在按下按钮(0-> 1)时,值将设置为1,然后在释放按钮时(1-> 0 )值将设置为零,因此您将X的值更改了两次。这就是为什么您两次触发触发器的原因。
要仅对此类按钮按下事件做出反应,并且仅获得一次通知,请使用关键字this和条件语句。
on sysvar sysvar::Test_Cases::TC1
{
if (this==1) /* Following block is called only once, on button press 0->1 */
{
putValueToControl("Window","CAPL Output View",@sysvar::Test_Cases::TC1);
}
}