启动 Maveryx 测试应用程序时如何指定环境变量?

How can environment variables be specified when launching a Maveryx test application?

Maveryx 是一个开源测试自动化框架,用于测试 Java 应用程序的用户界面。 当框架执行被测应用程序时,它会使用关联的启动文件。这是一个 XML 文件,其中包含应用程序启动设置(例如 main class、参数、classpath、JRE …)。

我觉得应该还有一个可以指定环境变量的字段。但是我一直没能在用户手册或在线论坛中找到这样的字段。

有没有办法为被测应用程序设置环境变量。

请注意,变量不仅必须可供 java 被测应用程序本身访问,还必须可供应用程序使用的任何子进程和本机代码库访问(即通过 JNI)。

我知道我可以在启动 Maveryx 测试的命令 shell 中指定环境变量,但我宁愿让 Maveryx 这样做,以便它特定于正在进行的测试,这样环境变量不要污染父级 shell.

谢谢!

编辑: 在与 Maveryx 进行了一两周的较量后,我最终发现它实在是太有限了。我发现 Maveryx 是 abbot Java GUI Test Framework 之上的一个抽象层。 Abbot 本身是一个非常灵活和强大的框架,比 Maveryx 更强大和可扩展(但是 可能 在某些情况下后者就足够了)。我对任何尝试使用 Maveryx 但遇到限制的人的建议是检查方丈(及其对应的测试脚本应用程序,costello)。

无法直接在 AUT 的启动文件中设置被测应用程序的环境变量 (xml)。

您可以按照here所述设置环境变量。

或者,以编程方式,如此 post。在这种情况下,您已经在启动被测应用程序之前在测试脚本中设置了环境变量。

例如:

@BeforeClass
public static void setUpBeforeClass() throws Exception {
     /* set here the env. variables */
}

@Before
public void setUp() throws Exception {
    Bootstrap.startApplication(xmlFile); //launch the AUT
}