zoukankan      html  css  js  c++  java
  • 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();
        }
        
        
    }
  • 相关阅读:
    sqlserver优化查询
    DateADD日期Sql
    sql 数据字段类型
    sql Server 发送邮件 错误类型及原因
    EassyUI内置方法与属性
    这货不是 for循环
    1.switch选择结构 3.多重if选择结构和switch比对 4.总结选择结构 5.使用hasNextInt()解决用户从控制台输入为非整型问题
    1.基本选择结构if 2.逻辑运算符 3.if-else 4.多重if选择结构 5.嵌套if选择结构
    编写java程序步骤
    css3
  • 原文地址:https://www.cnblogs.com/puresoul/p/4286910.html
Copyright © 2011-2022 走看看