selenium2.0(WebDriver) API

时间:2014-02-10 16:46:47   收藏:0   阅读:435

1.1  下载selenium2.0的包

  1. 官方download包地址:http://code.google.com/p/selenium/downloads/list
  2. 官方User Guide:   http://seleniumhq.org/docs/
  3. 官方API:        http://selenium.googlecode.com/git/docs/api/java/index.html

1.2.1  用webdriver打开一个浏览器

            WebDriver driver = new FirefoxDriver(); 

            WebDriver driver = new InternetExplorerDriver ();

            WebDriverdriver = new HtmlUnitDriver(); 

       WebDriverdriver = new ChromeDriver();

1.2.2  最大化浏览器  

  WebDriver driver = new FirefoxDriver();
  driver.manage().window().maximize();

1.2.3 关闭浏览器 

WebDriver driver = new FirefoxDriver();

1.3  打开测试页面

      P.S.navigate方法会产生1个Navigator对象,其封装了与导航相关的一些方法,比如前进后退等

1.4  页面元素定位

Webdriver提供下面两种方法来定位页面元素,参数是By对像,最常用是By.id和By.name查找。

 例如需要定位如下元素:

  <input class="input_class" type="text" name="passwd" id="passwd-id" /> 

      WebElement element = driver.findElement(By.id("passwd-id"));

      WebElement element = driver.findElement(By.name("passwd"));

      WebElement element =driver.findElement(By.xpath("//input[@id=‘passwd-id‘]")); 

      WebElement element = driver.findElement(By.className("input_class"));

      WebElement element = driver.findElement(By.cssSelector(".input_class"));

      //通俗点就是精确查询

      WebDriver driver = new FirefoxDriver();
      driver.get("http://www.baidu.com/"); 
      WebElement element = driver.findElement(By.linkText("百科"));

      //这个方法就是模糊查询
      WebDriver driver = new FirefoxDriver();
      driver.get("http://www.baidu.com/"); 
      WebElement element = driver.findElement(By.partialLinkText("hao"));

      WebDriver driver = new FirefoxDriver();
      driver.get("http://www.baidu.com/");
      String test= driver.findElement(By.tagName("form")).getAttribute("name");
      System.out.println(test); 

1.5  如何对页面元素进行操作

1.5.1 输入框(text field or textarea)

WebElement element = driver.findElement(By.id("passwd-id"));

1.5.2下拉选择框(Select)

Select select = new Select(driver.findElement(By.id("select")));  

1.5.3单选项(Radio Button)

WebElement radio=driver.findElement(By.id("BookMode"));

1.5.4多选项(checkbox)

WebElement checkbox = driver.findElement(By.id("myCheckbox."));

1.5.5按钮(button)

WebElement btn= driver.findElement(By.id("save"));

1.5.7弹出对话框(Popup dialogs)

Alert alert = driver.switchTo().alert();

1.5.8表单(Form)

  Form中的元素的操作和其它的元素操作一样,对元素操作完成后对表单的提交可以:

  WebElement approve = driver.findElement(By.id("approve"));

  approve.click();

  approve.submit();//只适合于表单的提交

1.5.9上传文件

上传文件的元素操作:

  WebElement adFileUpload =driver.findElement(By.id("WAP-upload"));

  String filePath = "C:\test\\uploadfile\\media_ads\\test.jpg";

  adFileUpload.sendKeys(filePath);

1.6  Windows 和 Frames之间的切换

1.7  调用Java Script

Web driver对Java Script的调用是通过JavascriptExecutor来实现的,例如:

JavascriptExecutor js = (JavascriptExecutor) driver;

        js.executeScript("JS脚本");

1.8  超时设置 

WebDriver driver = new FirefoxDriver();

 

原文:http://www.cnblogs.com/deepstone/p/3542702.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!