AutoIT脚本在执行后再次运行,无需另外调用

时间:2017-06-26 12:48:29

标签: selenium selenium-webdriver autoit

我正在使用Chrome自动执行Selenium WebDriver测试,并且我为了绕过网站登录而调用了一个AutoIT脚本。

我使用以下代码调用脚本:

        try {
                Reporter.log("Running AutoIT log-in script");
                Runtime.getRuntime().exec("C:\\Users\\aaa\\Script\\Auth.exe");
            } catch (IOException e) {

                e.printStackTrace();
                driver.close();
                Reporter.log("AutoIT script not found or can't be launched.");
            }        
  

执行流程为:

1- Chrome启动

执行2-脚本(登录成功)

3-测试运行

4- 再次执行脚本

5- Chrome关闭

6-结果;测试失败。

我尝试添加类似的内容:

$g_szVersion = "Login v2.0"
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion)

为了让它运行一次,但由于它在脚本完成后运行,因此没有必要跟踪这样的重复执行。

任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:1)

尝试添加另一个在运行测试后杀死AutoIt脚本的方法:

Runtime.getRuntime().exec("C:\\Users\\aaa\\Script\\Auth.exe").destroy();