您不能直接执行任意 Java 代码(即,通过在脚本中编写或引用 Java 代码),因为 AUT 在单独的进程中运行,您只能从外部进行通信。
换句话说,脚本在您的 RCPTT IDE 或测试运行程序进程中执行。实际测试中的应用程序 (AUT) 仅包含 RCPTT 运行时,它有效地打开一个 telnet 套接字,通过该套接字接收命令并通过文本语言发送结果。因此,一切都必须遵守该协议,并且您不能开箱即用地执行协议未指定的任何事情。
也就是说,您可以通过invoke
and invoke-static
script 命令调用 AUT 中现有的 Java 类和方法。
前提invoke
是您能够通过脚本语言检索对象引用。例如,您可以使用
<get-something-from-somewhere> | get-object | invoke methodName arg0 arg1 ...
调用静态方法的前提条件invoke-static
是您要调用的方法可以从 AUT 中访问。为了实现这一点(如果您想要的方法已经不是 AUT 的一部分),您可以在声明静态方法的 AUT 中添加一个测试支持包。这样您就可以实现问题中给出的代码片段。
最后,作为第三个也是最高级的选项,您可以添加自己的 ECL 命令。这是通过实现由 AUT 运行时定义的扩展点并将实现作为捆绑包包含在 AUT 中来完成的(类似于invoke-static
方法,但更灵活,因为您可以构建命令链。
对于所有这三种情况,此链接可作为在 AUT 中执行任何类型的自定义代码的起点...