![](/img/trans.png)
[英]Cancel Jenkins Post-Build-Task if Selenium-Test (Build-Task) fails
[英]How to handle external applications in a selenium-test?
我正在编写一个测试,以在用户打开文档之前验证对用户的警告。 如果用户说他们仍想打开该文档,则该文档将在外部应用程序(pdf或word)中打开。
但是现在,我在浏览器窗口上有了一个外部应用程序,并且将其混乱以进行其他测试。
那么,围绕此类问题的最佳实践是什么? 重写应用程序以允许在测试中不打开文档?
添加的描述:问题是双重的。 1)它启动填充desctop的进程(word和acrobat),并需要来自测试从属服务器的资源2)外部进程似乎会干扰其他测试,因为(在这里猜测)它位于浏览器窗口上方。
我从您的帖子中了解到,文档(word / pdf)正在浏览器窗口中打开,因此您无法继续执行其他步骤。 如果是这样,您可以验证标题以确保在浏览器窗口中打开了该文档,并可以使用下面的代码片段向后导航。
driver.navigate().back();
希望这可以帮助。
我从这行中了解到
“但是现在我在浏览器窗口上有了一个外部应用程序,它搞砸了其他测试。”
就是说,一旦用户单击“打开”按钮,由于您提到了PDF或Word,就会打开一个新窗口(基于窗口的应用程序)。
在这种情况下,您可以使用机械手类,下面的代码段将关闭当前活动窗口:
Robot rbt = new Robot();
rbt.keyPress(KeyEvent.VK_ALT);
rbt.keyPress(KeyEvent.VK_F4);
rbt.keyRelease(KeyEvent.VK_ALT);
rbt.keyRelease(KeyEvent.VK_F4);
确保正确处理同步问题,以便关闭预期的窗口而不是AUT。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.