Selenium2(WebDriver)总结(四)---基本元素操作

 WebDriver提供了常用的WEB控件的操作方法,比如:按钮、输入框、超链接等,废话不多说,直接上代码:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

public class WebDriverSimple {

    WebDriver driver;    

    public WebDriverSimple()
    {    
        System.setProperty("webdriver.firefox.bin", "D:/Program Files/Mozilla Firefox/firefox.exe");
        this.driver = new FirefoxDriver();
    }

    //启动浏览器
    public void startBrowser(String url)
    {
        driver.get(url);
        //最大化浏览器
        driver.manage().window().maximize();
    }

    //使用xpath获取元素对象
    public WebElement locateElementByXpath(String locator)
    {
        WebElement element = driver.findElement(By.xpath(locator));
        return element;
    }

    //使用CSS获取元素对象
    public WebElement locateElementByCss(String locator)
    {
        WebElement element = driver.findElement(By.cssSelector(locator));
        return element;
    }

    /**操作输入框input
     * 1.sendKeys代表输入,参数为要输入的值
     * 2.clear代表清除输入框中原有的数据
     */
    public void testInput(String locator,String content)
    {
        //WebElement input = this.locateElementByXpath(locator);
        WebElement input = this.locateElementByCss(locator);
        input.clear();
        input.sendKeys(content);
        input.clear();
        input.sendKeys(content);
    }

    //
    /**操作超链接link
     * 1.click代表点击这个a链接
     */
    public void testLink(String locator)
    {
        WebElement link = this.locateElementByXpath(locator);
        link.click();
    }

    /**操作 下拉框 select
     * 1.需要一个Select的类
     * 2.selectByValue的参数为option中的value属性
     * 3.selectByIndex的参数为option的顺序
     * 4.selectByVisibleText的参数为option的text值
     */
    public void testSelect(String locator,int index)
    {
        WebElement element = this.locateElementByXpath(locator);
        Select select = new Select(element);
        select.selectByIndex(index);
    }
    public void testSelect(String locator,String value)
    {
        WebElement element = this.locateElementByXpath(locator);
        Select select = new Select(element);
        select.selectByValue(value);
        //select.selectByVisibleText(text);
    }

    /**操作单选按钮radiobox
     * 1.click代表点击选中这个单选框
     * 2.isSelected代表检查这个单选框有没有被选中
     */
    public void testRaidoBox(String locator)
    {
        WebElement radio = this.locateElementByXpath(locator);
        radio.click();
        radio.isSelected();
    }

    /**操作 复选框checkbox
     * 1.click代表点击选中这个多选框
     * 2.isSelected代表检查这个多选框有没有被选中
     */
    public void testCheckBox(String locator)
    {
        WebElement checkbox = this.locateElementByXpath(locator);
        checkbox.click();
        checkbox.isSelected();
    }

    /**操作 按钮button
     * 1.click代表点击这个按钮
     * 2.sEnabled代表检查这个按钮是不是可用的
     */
    public void testButton(String locator)
    {
        WebElement submit = this.locateElementByXpath(locator);
        submit.click();
        submit.isEnabled();
    }

    /**操作 上传控件upload
    * 1.一般是把路他径直接sendKeys到这个输入框中
    * 2.如果输入框被加了readonly属性,不能输入,则需要用JS来去掉readonly属性!
    */

      public void testUpload(String locator,String path)

    {
        WebElement load = this.locateElementByXpath(locator);
        load.sendKeys(path);
    }

    //关闭并退出driver
    public void closeBrowser()
    {
        driver.close();
        driver.quit();
    }

}

 

时间: 2024-10-03 08:45:09

Selenium2(WebDriver)总结(四)---基本元素操作的相关文章

Selenium2(WebDriver)总结(五)---元素操作进阶(常用类)

 1.Alert类  Alert是指windows弹窗的一些操作,需要new一个Alert类  driver.switchTo().alert():切换到alert窗口  alert.getText():取得弹窗上面的字符串  alert.accept():点击确定/ok类的按钮,使弹窗消失  alert.dismiss():取消 public void testAlert(){ WebElement element = driver.findElement(By.className("aler

Selenium2(WebDriver)总结(一)---启动浏览器、设置profile&加载插件

本文主要记录下在使用selenium2/webdriver时启动各种浏览器的方法.以及如何加载插件.定制浏览器信息(设置profile)等 环境搭建可参考我的另一篇文章:http://www.cnblogs.com/puresoul/p/3483055.html 一.Driver下载地址: http://docs.seleniumhq.org/download/ 二.启动firefox浏览器(不需要下载驱动,原生支持) 1.firefox安装在默认路径下: 1 //启动默认安装路径下的ff 2

Selenium2(WebDriver)总结(二)---Firefox的firebug插件参数设置(补充)

本文是对上一节的补充:http://www.cnblogs.com/puresoul/p/4251536.html 使用Selenium2(webdriver)启动firefox且自动加载firebug插件时,切换到firebug插件的网络和cookies部分时,提示面板已被禁用,如下图所示:   于是我们输入about:config在firefox设置页面试着去找下是否有什么参数控制着面板的禁用/启用,果然被我找到如下两个参数: cookies面板 ---  extensions.firebu

Android SharedPreferences四种操作模式使用详解

Android  SharedPreferences详解 获取SharedPreferences的两种方式: 1 调用Context对象的getSharedPreferences()方法 2 调用Activity对象的getPreferences()方法 两种方式的区别: 调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享. 调用Activity对象的getPreferences()方法获得的Sh

selenium2(WebDriver) API

1.1  下载selenium2.0的包 官方download包地址:http://code.google.com/p/selenium/downloads/list 官方User Guide:  http://seleniumhq.org/docs/ 官方API:  http://selenium.googlecode.com/git/docs/api/java/index.html 1.2.1  用webdriver打开一个浏览器 打开firefox浏览器:         WebDrive

Selenium2+python自动化40-cookie相关操作

前言 虽然cookie相关操作在平常ui自动化中用得少,偶尔也会用到,比如登录有图形验证码,可以通过绕过验证码方式,添加cookie方法登录. 登录后换账号登录时候,也可作为后置条件去删除cookie然后下个账号登录 一.获取cookies:get_cookies() 1.获取cookies方法直接用:get_cookies() 2.先启动浏览器,获取cookies,打印出来发现是空:[] 3.打开博客首页后,重新获取cookies,打印出来,就有值了 二.登录后的cookies 1.先登录博客

java中四种操作xml方式的比较

xml|比较   1. 介绍 1)DOM(JAXP Crimson解析器)         DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的.DOM以及广义的基于树的处理具有几个优点.首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改.它还

Selenium2(webdriver)入门之TestNG的安装与简单使用

 上一篇已经搭建好了Eclipse+selenium2的环境,这一篇主要记录下TestNG的使用. 一.在Eclipse中安装TestNG 1.打开eclipse-->help-->Install New Software-->Add,输入Name和Location后,点击OK. TestNG官方下载地址:http://testng.org/doc/download.html 2.然后选中TestNG,单击Next安装 3.安装好TestNG后重启eclipse查看是否安装好,Help-

Selenium2(WebDriver)总结(三)---元素定位方法

 元素定位的重要性不言而喻,如果定位不到元素谈何操作元素呢,webdrvier提供了很多种元素定位方法,如ID,Name,xpath,css,tagname等. 例如需要定位如下元素: <input class="input_class" type="text" name="passwd" id="passwd-id" />  By.id: WebElement element = driver.findEleme