本案例是实现的功能是登录系统后添加一个部门,然后退出系统。

1、  环境jdk1.7+selenium-server-standalone-2.49.0.jar+firefox44+myeclipse10.7

2、  新建工程selenium,将selenium-server-standalone-2.49.0.jar导入到项目中。

3、  新建SeleniumTest.java类。

package com.z2sci.selenium.test;

import java.util.Set;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;

import org.openqa.selenium.Cookie;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.firefox.FirefoxDriver;

public class SeleniumTest {

   private WebDriver driver;

   //登录系统

   public void login(){

   // System.setProperty("webdriver.firefox.bin", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");//如果浏览器安装目录不是系统默认的路径,则需要设置

      driver = new FirefoxDriver();

      driver.get("http://192.168.66.71:8080/dss/");

      driver.manage().window().maximize();//浏览器最大化

      driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);//设置窗口打开超时时间为30秒

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

      element.sendKeys("123456");//密码框输入值

      WebElement elment2 = driver.findElement(By.xpath("/html/body/div[1]/div[3]"));

      elment2.click();//点击登录按钮

      try {

        Thread.sleep(3000);//sleep一定时间

      } catch (InterruptedException e) {

        e.printStackTrace();

      }

      String currentUrl = driver.getCurrentUrl();

   if(currentUrl.equals("http://192.168.66.71:8080/dss/jsp/sysinit/sysinit.jsp")){

        Cookie cookie = new Cookie("name","value");

        driver.manage().addCookie(cookie);

      }else{

        //获得失败信息

        WebElement elmError = driver.findElement(By.xpath("/html/body/div[6]/div[2]/div[2]"));

        System.out.println("登录失败:" + elmError.getText());

      }

   }

   //添加部门

   public void addDept(){

      Set<Cookie> cookies = driver.manage().getCookies();

      for(Cookie c : cookies){

        if(c.getName().equals("name") && c.getValue().equals("value")){

           //进入到部门管理界面

           driver.get("http://192.168.66.71:8080/dss/jsp/user/dept_list.jsp");

           //定位一条数据,作为上级部门

           WebElement eleChoseDept = driver.findElement(By.id("datagrid-row-r1-2-研发部_wXG08p"));

           eleChoseDept.click();

           try {

              Thread.sleep(1000);//sleep一定时间

           } catch (InterruptedException e) {

              e.printStackTrace();

           }

           //点击添加同级部门按钮

           WebElement eleAddSameDept = driver.findElement(By.xpath("/html/body/div[3]/div/div/div[1]/div/form/div/a[1]"));

           eleAddSameDept.click();

           try {

              Thread.sleep(1000);//sleep一定时间

           } catch (InterruptedException e) {

              // TODO Auto-generated catch block

              e.printStackTrace();

           }

           //添加一个部门

            WebElement eleDeptName = driver.findElement(By.xpath("/html/body/div[7]/div[2]/form/div[1]/span[1]/input[1]"));

           WebElement eleDeptDescr = driver.findElement(By.xpath("/html/body/div[7]/div[2]/form/div[2]/span/textarea"));

           eleDeptName.sendKeys("实验部323");

           eleDeptDescr.sendKeys("webdriver自动化测试");

           WebElement eleADDButton = driver.findElement(By.xpath("/html/body/div[7]/div[3]/a[1]"));

           eleADDButton.click();

           try {

              Thread.sleep(1000);//sleep一定时间

           } catch (InterruptedException e) {

              // TODO Auto-generated catch block

              e.printStackTrace();

           }

           //获得提示框信息

           WebElement eleDigInfo = driver.findElement(By.xpath("/html/body/div[13]/div[2]/div[2]"));

           System.out.println(eleDigInfo.getText());

          

           //关闭提示框

           WebElement eleClickButton = driver.findElement(By.xpath("/html/body/div[13]/div[2]/div[4]/a"));

           System.out.println(eleClickButton.getText());

           eleClickButton.click();

          

        }

      }

   }

   //退出系统

   public void exitSys(){

   // WebElement eleADDButton = driver.findElement(By.xpath("/html/body/div[1]/div/div[1]/span[2]/a"));//根据path获得

      WebElement eleADDButton = driver.findElement(By.className("logout")); //根据class获得

      eleADDButton.click();

      driver.quit();

   }

   public static void main(String[] args) {

      SeleniumTest test = new SeleniumTest();

      test.login();

      test.addDept();

      test.exitSys();

   }

}