问题:
我在运行Runtime.getRuntime()。exec代码时遇到奇怪的行为 ONLY 。
情境:
在我的selenium自动化中,当启动Url时,它将显示Windows安全性对话框。为了解决这个问题,我开发了一个使用C#和AutoIt的控制台解决方案。在我的套件启动期间,我做了一个AutoIt的Dll注册。
C#AutoIt代码:
public static void handleWindowsSecurityAlert(String username, String password) {
try {
String fileName = FileUtils.getResource("AutoItCustom.exe");
Process procRunner = Runtime.getRuntime().exec(fileName + " WindowsSecurity " + username + " " + password);
} catch (Exception e) {
//
}
}
}
Java使用代码:
{{1}}
工作行为:
1)调试此代码时,按预期工作。
2)复制生成的命令并通过命令提示符运行它。它可以工作。
问题:
在运行整个套件(Run As)时,它不会调用“C#Console Application以及参数”。我无法确定问题。
尝试替代解决方案:
1)创建批处理文件并调用相同的
2)使用带有有效参数的ProcessBuilder。
答案 0 :(得分:-1)
这个琐碎的错误使我付出了太多代价。不过,我已经添加了以下代码来实现相同的目标。
procRunner.waitFor();