selenium的常用操作

webdrivce -打开浏览器、关闭、最大化窗口
    //设置chromedriver的启动路径
        System.setProperty("webdrivce.chrome.driver",路径);
        System.setProperty("webdriver.gecko.driver", pathWebdriver_geckodriver);
        //System.setProperty("webdriver.firefox.bin","D:\Mozilla Firefox\firefox.exe");//若浏览器安装不是默认路径


    //创建chromedriver对象,实例化对象
        WebDriver driver=new ChromeDriver();

    //打开网页
        //方法一,推荐:
            drive.get("http://baidu.com");
        //方法二:
            driver.navigate().to("https://www.baidu.com/");
    
    //关闭网页
        driver.close();
        driver.quit(); //会停止驱动
     
    //窗口最大化
        driver.manage().window().maximize();
    
webdrivce -浏览器窗口大小设定
    //创建尺寸对象
        Dimension b=new Dimension(600,500);
    //窗口大小设定
        driver.manage().window().setSize(b);

具体操作
    //输入内容
        WebElement a = driver.findElement(By.id("subject"));
        a.sendKeys("海德");
    //时间等待
        Thread.sleep(3000);
    //select选择
        Select aSelect=new Select(driver.findElement(By.id("state")));
        aSelect.selectByVisibleText("四川省");
    //点击
        WebElement b = driver.findElement(By.id("submit"));
        b.click();    
    //获取标签内的值
        WebElement a = driver.findElement(By.id("search"));
        String mm1=a.getText();
    //获取属性值
        WebElement m2 =driver.findElement(By.linkText("我分配的任务"));
        m2.getAttribute("href");
        m2.getAttribute("value");
    //断言,两个参数是否一致,错的话会统计出failure错误,用例终止
        assertEquals("你", m2.getAttribute("value"));
    //切换frame
        driver.switchTo().frame("ueditor_0");//切换iframe
        driver.switchTo().defaultContent();
        //或是
        //driver.switchTo().parentFrame();
    //wait等待
        WebDriverWait wait = new WebDriverWait(driver,10);//最长等待10s
        wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("kw")));//等待元素
    //获取当前网页
        driver.getCurrentUrl();
    //鼠标停留显示
        Actions action = new Actions(driver);
        WebElement m1=driver.findElement(By.xpath(".//ul[@id='browser']//*[contains(text(),'办公室主任')]"));
        action.moveToElement(m1).build().perform();
        driver.findElement(By.xpath(".//ul[@id='browser']//*[contains(text(),'办公室主任')]/*/*[text()='修改']")).click();
确定取消弹窗
    //确定 ok
        driver.switchTo().alert().accept();
    //取消 cancel
        driver.switchTo().alert().dismiss();
         
        
滚动到元素位置
    WebElement b1=driver.findElement(By.xpath(".//*[@id='dialog-authorize']//*[@id='sub_btn']"));
    ((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();", b1); 
        
        
页面切换:
        // 1、获得目前所在的句柄
        String currentWindow = driver.getWindowHandle();
        // 2、获得所有的句柄
        Set<String> handles = driver.getWindowHandles();
        // 3、切换句柄
        Iterator<String> it = handles.iterator();
        while (it.hasNext()) {
            if (currentWindow == it.next())
                continue;
            driver.switchTo().window(it.next());
        }
        //4、在切换后的句柄中进行操作

java自动化用例关联excel表格的数据方式(导入jxl的jar包)
        String datetime = null;
        //实例化文件操作流
        InputStream instream = new FileInputStream("/Users/Cedar/EDU/test06.xls");
        //实例化 读文件的操作对象。并打开文件。
        jxl.Workbook readwb = Workbook.getWorkbook(instream);
        //实例化 工作表(序号从0开始。此处设置的是第2个工作表)的操作对象
        Sheet readsheet = readwb.getSheet(1);
        //实例化 单元格(序号从0开始。此处设置的单元格位置是第2列 第3行)的操作对象
        Cell cell = readsheet.getCell(1, 2);
        //读取 上面这个实例化的单元格内容。内容是字符串类型,然后赋值给一个字符串变量。
        datetime = cell.getContents();
        //关闭文件
        readwb.close();

API封装
      公共方法或函数,可以设定返回值,需要的时候导入包就行了    
                
原文地址:https://www.cnblogs.com/ceshixuexi/p/7250520.html