如何在Tosca中捕获程序输出?

时间:2016-10-11 22:02:58

标签: tosca

我们想测试由Tosca启动的命令行程序的输出。

例如,我们期待

java -jar myprogram.jar

将以下输出流式传输到System.out:

2016-10-12 09:00:00 INFO [thread-name] MYPROGRAM started
2016-10-12 09:00:01 INFO [thread-name] MYPROGRAM initialisation successful
2016-10-12 09:00:02 INFO [thread-name] MYPROGRAM completed successfully

Tosca如何捕获此信息?它可以附加到程序的输出流吗?或者我们应该将信息推送到文件并让Tosca查看该文件?如果是这样,我们如何重定向输出?

1 个答案:

答案 0 :(得分:6)

以下是两个选项:

无需与应用程序进行交互

如果你不需要与java应用程序进行交互(因为它只是启动,做它的事情并再次关闭;例如一个小工具或类似的东西)你可以直接使用Tosca Module TBox启动应用程序启动程序,等待它退出并将输出流式传输到文件。以下是您的测试步骤:

wait for exit and capture standard output in a file

与所需应用程序的交互

如果您确实需要与应用程序进行交互(例如,因为它是正在测试的应用程序,并且您希望在其上运行自动测试步骤),您显然无法等待它退出。在这种情况下,您可以使用以下内容创建start.bat文件:

javaw -jar "C:\path\to\yourjar.jar" > "C:\temp\log.txt"

然后您还可以轻松使用 TBox启动程序模块启动批处理文件并捕获文件中的标准输出。

start batch file

希望这有帮助!