gpt4 book ai didi

java - 从java运行bat文件时有什么方法可以模拟用户输入吗?

转载 作者:行者123 更新时间:2023-11-30 05:27:41 27 4
gpt4 key购买 nike

我正在尝试通过 junit 测试 bat 文件的工作情况。在大多数情况下,我能够调用并获取响应代码。但在某些情况下,用户必须向终端手动输入才能继续。有什么方法可以模拟输入或解决这个问题吗?

注意:我无法更改实际代码以接受命令行参数作为输入。

我使用进程构建器来调用我的bat文件示例片段:-

File dir = new File("E:\\test");
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C", "Start","test.bat");
pb.directory(dir);
Process p = pb.start();

最佳答案

您需要使用pb.redirectInput()来获取进程的输入流,然后将用户在进程交互运行时输入的数据写入该流。

有关文档和示例代码,请参阅: https://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html

关于java - 从java运行bat文件时有什么方法可以模拟用户输入吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58233891/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com