Selenium学习笔记-- 在selenium2.0中使用selenium1.0的API

上一篇 / 下一篇  2014-05-15 13:54:10 / 个人分类:自动化测试

Selenium2.0中使用WeDriver API对页面进行操作,它最大的优点是不需要安装一个selenium server就可以运行,但是对页面进行操作不如selenium1.0的Selenium RC API那么方便,很多时候我们项目可能需要结合2者一起使用。
比如说我们想直接用selenium里面提供的等待各种各样的窗口,frame,popUp,元素等,我们就可以直接调用selenium 1.0的:
void waitForCondition(java.lang.String script, java.lang.String timeout) 

 void waitForFrameToLoad(java.lang.String frameAddress, java.lang.String timeout) 
          Waits for a new frame. to load. 
 void waitForPageToLoad(java.lang.String timeout) 
          Waits for a new page to load. 
 void waitForPopUp(java.lang.String windowID, java.lang.String timeout) 
          Waits for a popup window to appear and load up. 

Selenium2.0提供了使用Selenium RC API的方法
实例如下:
我这里先定义一个web driver, 同时让selenium也指向它
/***********/
public class Config {
public static WebDriver driver=null;
public static Selenium selenium=null;
public static final String URL="www.itwocx.com"

public static void IEWebDriverStart(){
// start a driver
System.setProperty ("webdriver.ie.driver","D:/Tools/Selenium/IEDriverServer_x64_2.41.0/IEDriverServer.exe");
driver=new InternetExplorerDriver();
// open testing URL
driver.get(URL);
}

// initial a Selenium driver
public static void initialSelenium(){
selenium = new WebDriverBackedSelenium(driver, URL);
}
}
/************/

下面我结合二者来做一个登陆操作:
Public class LoginMgr{

  WebDriver driver=null;

// 这里使用Junit4来做case
@Test
  public void testLogin(){
      //打开ie浏览器并转向指定URL
       Config.IEWebDriverStart();
      driver=Utilities.Config.driver;
      //这里页面元素放在一个frame里面,这个frame没有指定名字,所以用index
      driver.switchTo().frame(0);
      WebElement username=driver.findElement(By.id("nme"));
      WebElement userPWD=driver.findElement(By.id("pwd"));
      username.sendKeys("lery");
      userPWD.sendKeys("1234");
      driver.findElement(By.xpath("//input[@value='Login']")).click(); //click button后进入新页面,系统加载页面时间慢,这里用了selenium 1.0 的waitForPage api
      Utilities.Config.initialSelenium();
      Utilities.Config.selenium.waitForPageToLoad("4000");
      ssert.assertEquals(HomePage.lableWelcomeText().getText(), "Welcome");
      
}
      

  }

 



TAG:

 

评分:0

我来说两句

Open Toolbar