我正在使用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)
为了让它运行一次,但由于它在脚本完成后运行,因此没有必要跟踪这样的重复执行。
任何帮助将不胜感激,谢谢!
答案 0 :(得分:1)
尝试添加另一个在运行测试后杀死AutoIt脚本的方法:
Runtime.getRuntime().exec("C:\\Users\\aaa\\Script\\Auth.exe").destroy();