当我使用statup.bat
运行Tomcat并运行我的xxx.bat
文件时,我能够看到xxx.bat
文件正在运行,它正在调用testNg
,我可以看到所有测试用例正在运行。
但是当我将Tomcat作为服务运行时,我的xxx.bat
文件开始执行其工作并开始执行测试用例,但它在后台运行。
问题是我想看到测试用例在前台运行。
我的代码是
String batPath = "D:\\Workspaces\\TestingWorkspace\\myproject\\runTestNg.bat";
String pojectRoot = "D:\Workspaces\TestingWorkspace\myproject";
String path = "cmd /c start " + batPath + " " + projectRoot;
Process p = Runtime.getRuntime().exec(path);
p.waitFor();
答案 0 :(得分:0)
您需要从流程中读取流。如果我没记错的话,有3个流。有错误流,输入和输出流。你需要得到它们,阅读它们并打印出来。
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
答案 1 :(得分:0)
只需在cmd命令中使用 start ,然后按照chilltouch有关读取流的建议进行操作。