是否可以使用机器人框架访问已打开的浏览器?

时间:2017-08-30 06:21:51

标签: selenium robotframework selenium2library

对于使用机器人框架和Selenium2Library的测试用例,我们通常首先打开浏览器,然后在该浏览器上执行操作。

但是为了快速测试我的测试用例中的步骤(用于测试我的测试本身),如果我可以在上运行例如“click button”就好了现有的浏览器会话。

如果我的AUT必须处于特定屏幕状态并执行某项操作,则可以节省大量时间。这样我就可以自动化并单独测试某个步骤,而不需要脚本在第一步之前执行所需的所有步骤。

是否有任何selenium2libary关键字或其他方式我可以这样做?

谢谢!

1 个答案:

答案 0 :(得分: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();
}

希望它会对你有所帮助:)。