1

有没有办法在程序每次停止时执行脚本?我需要做这样的事情:

Var.Set \myvar=list[Id]

其中 list 和 Id 是程序中的变量。

但是,当 Id 更改\myvar不更改时,它仍保留与旧 Id 对应的值。

这就是为什么我想在每次程序停止运行时运行一个执行该命令的脚本。

4

1 回答 1

1

要在程序每次停止时运行脚本,请使用命令 ON 或 GLOBALON。当仍然有一个有效的 PRACTICE 脚本控制您的测试用例时,ON 是合适的。如果您想对某个事件做出反应,直到您再次禁用它,则 GLOBALON 是合适的。

一般语法是:

ON|GLOBALON <event> <action>

其中“event”可以是“program-break”的 PBREAK,“action”可以是“DO <script.cmm>”以在事件上执行单​​个脚本。

把所有东西放在一起,你会得到:

GLOBALON PBREAK DO syncmyvar.cmm

其中脚本 syncmyvar.cmm 包含您的命令Var.Set \myvar=list[Id]

要在程序中断时禁用事件处理程序,请使用

GLOBALON PBREAK inherit

如果我正确理解您的用例,您希望Var.Set \myvar=list[Id]每次Id更改时都执行该命令。在这种情况下,我会考虑使用带有命令操作的写断点​​。比如像这样:

Var.Break.Set Id /Write /CMD "Var.Set \myvar=list[Id]" /RESUME 

然而,这给出了完全不同的行为:使用此断点,您的应用程序会在每次对 Id 的写入访问时立即停止,并且 \myvar 始终与 Id 同步,而GLOBALON PBREAK DO syncmyvar.cmm变量 \myvar 只有在应用程序完全停止时才会更新。

于 2016-08-04T09:53:05.433 回答