【问题标题】:Return control to Selenium after executing an AutoIt script执行 AutoIt 脚本后将控制权返回给 Selenium
【发布时间】:2018-01-27 15:04:02
【问题描述】:

我正在编写 Selenium 脚本来测试我的网页。为了模拟测试,桌面应用程序会重置数据库中的日期(因为实际进程在日期更改后运行)。

现在我可以通过 Runtime.getRuntime().exec("E:\\AutoIT\\DBReset.exe"); 通过 Selenium 调用我的应用程序并单击按钮,但是在重置完成后我无法将控件返回给 Selenium。

【问题讨论】:

  • 请参阅:How do I do X? SO 的期望是,提出问题的用户不仅会进行研究以回答他们自己的问题,还会分享该研究、代码尝试和结果。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask

标签: java selenium selenium-webdriver focus autoit


【解决方案1】:

当您使用 AutoIt 执行操作时:

Runtime.getRuntime().exec("E:\AutoIT\DBReset.exe");

Selenium 仍将焦点放在网页上。所以一旦 Windows 对话框 关闭,Selenium 应该能够执行下一行代码。

如果 Selenium 抱怨 失去焦点,您可以使用 JavascriptExecutor 重新获得浏览器焦点:

  • Java:

    ((JavascriptExecutor) driver).executeScript("window.focus();");
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    相关资源
    最近更新 更多