![JAR search and dependency download from the Maven repository](/logo.png)
org.cauli.ui.selenium.browser.WindowsCollecter Maven / Gradle / Ivy
package org.cauli.ui.selenium.browser;
import com.google.common.collect.Lists;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.*;
/**
* Created with IntelliJ IDEA.
* User: ouamaqing
* Date: 13-5-30
* Time: 下午3:37
* To change this template use File | Settings | File Templates.
*/
public class WindowsCollecter extends EventObject {
private Logger logger = LoggerFactory.getLogger(WindowsCollecter.class);
public List windowhandles;
public int windowNums;
private IBrowser browser;
public WindowsCollecter(Object source,IBrowser browser) {
super(source);
this.browser=browser;
this.windowNums=0;
this.windowhandles= Lists.newArrayList();
}
public void updateWindows(){
if(browser.getWindows().size()-this.windowNums>1){
logger.warn("在测试过程中出现了同时打开多个页面的情况,页面收集器将对页面的索引查找功能可能会出现混乱,谨慎使用通过index来切换页面。");
}
Set handles=browser.getWindows();
if(handles.size()>this.windowNums){
logger.info("窗口的句柄数增多,进行句柄收集操作, 初始化Handles Number->{}",windowNums);
if(!isAlertHandle()){
for(String windowhandle:handles){
if(this.windowhandles.contains(windowhandle)){
continue;
}else{
this.windowNums=handles.size();
this.windowhandles.add(0,windowhandle);
logger.info("添加了新的窗口信息->"+windowhandle);
}
}
}
}else if(handles.size()
© 2015 - 2025 Weber Informatics LLC | Privacy Policy