java - Silk Test Open Agent 锁定跟踪文件

标签 java testing automated-tests silktest

我们有测试java应用程序。
此应用程序执行不同类型的测试。第一步启动 Silk Test。
这个应用程序使用 System.out.println 写了很多痕迹。
我们将此跟踪重定向到我们的 cmd 文件中的文件 app.trace。
像这样的东西:

java com.test.app > app.trace

当此测试应用程序停止时,无法删除 app.trace 文件,因为它已被 Silk Test Open Agent 锁定。
我不明白这个应用程序如何锁定我们的跟踪文件。
我们不直接从我们的代码启动这个应用程序。
我们使用 Silk4J 库来启动 Silk Test。
据我所知,这个库连接到启动 Silk Test Open Agent 的 Silk Test windows 服务。
有谁能解释一下 - 为什么以及如何 Silk Test Open Agent 锁定我们的跟踪文件?

最佳答案

这是因为 Open Agent 在测试完成时没有关闭。当我的套件完成后,我就杀掉 Open Agent。

public class ProcessKill {

public void killOpenAgent ()    {
    kill ("openAgent.exe");
}

public void kill (String processName)   {
    String command = "cmd /c taskkill";
    String parameter = " /F /IM " + processName;
    System.out.println("Killing process: " + processName);

    try {
        Runtime.getRuntime().exec(command + parameter);
    } catch (IOException e) {
        e.printStackTrace();
    }       
}
}

我正在使用 TestNG 来控制我的测试,所以我只是从 @AfterSuite 方法中调用它,以始终确保在每次运行后关闭 Open Agent。这也有助于发布许可证。

关于java - Silk Test Open Agent 锁定跟踪文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9607459/

相关文章:

java - org.springframework.beans.factory.BeanDefinitionStoreException : Failed to parse configuration class

带有 pfx 证书的 Java 打开 HttpsUrlConnection

c# - 如何按顺序运行 selenium C# 测试用例?

java - 方法调用输出困惑

java - 如何使用 iText 将 HTML 转换为 PDF

python - 安装成功后CircleCI python模块导入报错

java - 在 Mockito 中捕获一个参数

ruby-on-rails - headless Chrome 空白白屏

java - 针对多个 Java 版本进行测试的最佳方法

c - 将字符插入父进程的缓冲区