Selenium 是否可以使用robot framework访问已打开的浏览器?

Selenium 是否可以使用robot framework访问已打开的浏览器?,selenium,robotframework,selenium2library,Selenium,Robotframework,Selenium2library,对于使用robot框架和Selenium2库的测试用例,我们通常从打开浏览器开始,然后在浏览器上执行操作 但是为了在我的测试用例中快速测试步骤(用于测试我的测试本身),如果我可以在已经存在的浏览器会话上运行“click button”(单击按钮),那就太好了 如果我的AUT必须处于特定屏幕和状态才能执行特定操作,这将节省大量时间。这样,我就可以独立地自动化和测试某个步骤,而不需要脚本来执行第一步之前所需的所有步骤 是否有任何selenium2libary关键字或其他方式我可以这样做 谢谢大家!

对于使用robot框架和Selenium2库的测试用例,我们通常从打开浏览器开始,然后在浏览器上执行操作

但是为了在我的测试用例中快速测试步骤(用于测试我的测试本身),如果我可以在已经存在的浏览器会话上运行“click button”(单击按钮),那就太好了

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

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


谢谢大家!

您不需要
robotframe
进行相同的操作。您可以检查
窗口句柄
。如果
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();
}
字符串子窗口处理程序;
设置句柄=驱动程序。getWindowHandles();//获取所有窗口句柄
迭代器迭代器=handles.Iterator();
int i=handles.size();
while(iterator.hasNext()){
subWindowHandler=iterator.next();
}
如果(i>0){
driver.switchTo().window(子WindowHandler);//切换到弹出窗口
driver.close();
}

希望它能帮助您:)

谢谢您指出这一点。