【问题标题】:Is it possible to access an already open browser with robot framework? [duplicate]是否可以使用机器人框架访问已经打开的浏览器? [复制]
【发布时间】:2017-08-30 06:21:51
【问题描述】:
对于使用机器人框架和 Selenium2Library 的测试用例,我们通常从打开浏览器开始,然后在该浏览器上执行操作。
但是为了在我的测试用例中快速测试步骤(用于测试我的测试本身),如果我可以在 已经现有的浏览器会话。
如果我的 AUT 必须处于特定屏幕和状态才能执行特定操作,这可以节省大量时间。这样我就可以独立地自动化和测试某个步骤,而无需脚本首先执行之前所需的所有步骤。
是否有任何 selenium2libary 关键字或其他方式我可以做到这一点?
谢谢!
【问题讨论】:
标签:
selenium
robotframework
selenium2library
【解决方案1】:
您不需要robotframe 相同。您可以查看WindowHandles。如果 windowHandle 的值大于 0,则打开的窗口比默认窗口多。
代码如下所示。如果窗口大于 1,您可以在下面进行更改。尝试以下代码:
String subWindowHandler;
Set<String> handles = driver.getWindowHandles(); // get all window handles
Iterator<String> iterator = handles.iterator();
int i=handles.size();
while (iterator.hasNext()){
subWindowHandler = iterator.next();
}
if(i>0) {
driver.switchTo().window(subWindowHandler); // switch to popup window
driver.close();
}
希望对你有帮助:)