如何在 Tosca 中捕获程序输出?
How do I capture program output in 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 查看该文件吗?如果是这样,我们如何重定向输出?
这里有两个选项供您选择:
无需与应用程序交互
如果您不需要与 java 应用程序交互(因为它只是启动,执行它的操作然后再次关闭;例如一个小工具或类似的东西),您可以直接使用Tosca 模块 TBox 启动程序,等待它退出并将输出流式传输到文件。您的测试步骤如下所示:
需要与应用程序交互
如果您确实需要与该应用程序进行交互(例如,因为它是正在测试的应用程序,并且您想对其执行 运行 自动化测试步骤),您显然不能等待它退出。在这种情况下,您可以创建一个包含以下内容的 start.bat 文件:
javaw -jar "C:\path\to\yourjar.jar" > "C:\temp\log.txt"
那么你也可以方便的使用TBox Start Program模块来启动批处理文件并捕获文件中的标准输出。
希望对您有所帮助!
我们想测试由 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 查看该文件吗?如果是这样,我们如何重定向输出?
这里有两个选项供您选择:
无需与应用程序交互
如果您不需要与 java 应用程序交互(因为它只是启动,执行它的操作然后再次关闭;例如一个小工具或类似的东西),您可以直接使用Tosca 模块 TBox 启动程序,等待它退出并将输出流式传输到文件。您的测试步骤如下所示:
需要与应用程序交互
如果您确实需要与该应用程序进行交互(例如,因为它是正在测试的应用程序,并且您想对其执行 运行 自动化测试步骤),您显然不能等待它退出。在这种情况下,您可以创建一个包含以下内容的 start.bat 文件:
javaw -jar "C:\path\to\yourjar.jar" > "C:\temp\log.txt"
那么你也可以方便的使用TBox Start Program模块来启动批处理文件并捕获文件中的标准输出。
希望对您有所帮助!