我如何确定 Rational Functional Tester 是否从命令行 运行?

How do I identify if Rational Functional Tester is being run from command line?

我正在从命令行将 RFT 记录的测试更改为 运行。 运行 没问题,但最初的测试会打开一些对话框。我不想对原始代码进行大的改动,因为它是由我团队中的其他人开发的。

我想在 java 代码中进行测试,如果 运行 来自修改后的 eclipse IDE,则打开对话框。我应该测试什么?

据我所知,没有明确的 API 可以用来确定是否从 IDE /CLI 启动。 但我们可以简单地这样做:

在IDE,Window->Preferences->Java->Installed JRE,默认Select JRE 通常是与 RFT 捆绑在一起的 jdk。单击编辑,我们可以添加 默认 VM 参数 -Didelaunch=true

然后在要检查启动是否来自 ide 的脚本中,我们可以使用

if(Boolean.getBoolean("idelaunch"))
    {
        //do something for ide execution
    }

当从 IDE 启动脚本时,上述情况成立。 如果您从 CLI 中 运行 那么它将是 false 因为它没有定义但是无论如何您可以将它显式设置为 false as

java -Didelaunch=false  -jar rational_ft.jar -datastore <datastore> -playback <scriptname>

或者我们可以在命令行中设置这个变量,比如 -Dclilaunch=true,如下所示

java -Dclilaunch=true  -jar rational_ft.jar -datastore <datastore> -playback <scriptname>

检查如下

if(Boolean.getBoolean("clilaunch"))
    {
        //do something for cmdline execution.
    }

在脚本中确定是否从命令行启动