package org.sky.auto.page; import java.util.Iterator; import java.util.Set; import org.apache.log4j.Logger; import org.openqa.selenium.Cookie; import org.openqa.selenium.WebElement; import org.sky.auto.base.AutoBase; import org.sky.auto.element.Button; import org.sky.auto.element.CheckBox; import org.sky.auto.element.ComoboBox; import org.sky.auto.element.Image; import org.sky.auto.element.Link; import org.sky.auto.element.ListElement; import org.sky.auto.element.RadioButton; import org.sky.auto.element.RichTextField; import org.sky.auto.element.SElement; import org.sky.auto.element.Table; import org.sky.auto.element.TextField; import org.sky.auto.page.source.CurrentPage; public class Page extends CurrentPage{ //protected static Page page = new Page(); static Logger logger = Logger.getLogger(Page.class); static Object o; @SuppressWarnings("unchecked") public final <T> T load(Class<T> clazz){ Page.o=null; if(o==null){ try { o=Class.forName(clazz.getName()).newInstance(); } catch (Exception e) { e.printStackTrace(); } return (T) o; } return (T) o; } /**获得定义好的元素*/ public SElement sElement(String id){ return AutoBase.sElement(id); } public WebElement element(String id){ return AutoBase.element(id); } /**得到页面的title*/ public String getTitle(){ return AutoBase.driver().getTitle(); } /**得到所有的cookies*/ public String getAllCookies() { Set<Cookie> cookies = AutoBase.driver().manage().getCookies(); Iterator<Cookie> cookie = cookies.iterator(); String cookieStr = ""; while (cookie.hasNext()) { cookieStr = cookieStr + "|" + cookie.next().getValue(); } return cookieStr; } /**得到指定名字的cookie*/ public String getCookieByName(String name) { return AutoBase.driver().manage().getCookieNamed(name).getValue(); } /**删除该指定目录下的指定名字的cookie的所有的cookie*/ public void deleteCookie(String name, String path) { AutoBase.driver().manage().deleteCookieNamed(name); } /**删除所有的cookie*/ public void deleteAllCookie() { AutoBase.driver().manage().deleteAllCookies(); } public ListElement listElement(String id){ ListElement le= new ListElement(AutoBase.elements("id")); logger.info("元素LIST["+id+"]的操作--->"); return le; } public Button button(String id){ Button bt=new Button(element(id)); logger.info("按钮["+id+"]的操作--->"); return bt; } public CheckBox checkBox(String id){ CheckBox cb =new CheckBox(element(id)); logger.info("CheckBox["+id+"]的操作--->"); return cb; } public ComoboBox comoboBox(String id){ ComoboBox cb=new ComoboBox(element(id)); logger.info("ComoboBox["+id+"]的操作--->"); return cb; } public Image image(String id){ Image i = new Image(element(id)); logger.info("Image["+id+"]的操作--->"); return i; } public Link link(String id){ Link l =new Link(element(id)); logger.info("Link["+id+"]的操作--->"); return l; } public RadioButton radioButton(String id){ RadioButton rd = new RadioButton(element(id)); logger.info("RadioButton["+id+"]的操作--->"); return rd; } public RichTextField richTextField(String id){ RichTextField rtf = new RichTextField(element(id)); logger.info("RichTextField["+id+"]的操作--->"); return rtf; } public Table table(String id){ Table t=new Table(element(id)); logger.info("Table["+id+"]的操作--->"); return t; } public TextField textField(String id){ TextField tf = new TextField(element(id)); logger.info("TextField["+id+"]的操作--->"); return tf; } }