1

我正在用 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

4

1 回答 1

1

在 sysvar X{...} 事件过程对 X 的值变化作出反应。因此,如果按下按钮 (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);
    }
}
于 2019-10-15T07:02:05.770 回答