Runtime.getRuntime()。exec在运行会话期间不起作用

时间:2017-07-09 17:13:50

标签: java selenium

问题:

我在运行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。

1 个答案:

答案 0 :(得分:-1)

这个琐碎的错误使我付出了太多代价。不过,我已经添加了以下代码来实现相同的目标。

procRunner.waitFor();