我正在编写一个测试,用于在用户打开文档之前验证对用户的警告。如果用户说他们仍想打开文档,则文档将在外部应用程序(pdf或word)中打开。
但是现在我在浏览器窗口上有一个外部应用程序,它会因其他测试而烦恼。
那么,围绕这类问题的最佳做法是什么?重写申请是否允许不在考试中打开文件?
添加说明: 问题是双重的。 1)它启动填充desctop并需要来自测试从属的资源的进程(word和acrobat) 2)外部过程似乎干扰了其他测试,因为(猜测这里)它位于浏览器窗口上。
答案 0 :(得分:0)
我从您的帖子中了解到,文档(word / pdf)在浏览器窗口中打开,因此您无法继续执行更多步骤。如果是这样,您可以验证标题以确保在浏览器窗口中打开文档,并使用下面的代码段导航回来。
driver.navigate().back();
希望这有帮助。
答案 1 :(得分:0)
我从行中了解
'但是现在我在浏览器窗口上有一个外部应用程序,它会因其他测试而烦恼。'
一旦用户点击打开按钮,就会打开一个新窗口(基于窗口的应用程序),因为你提到了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。