一个webdriver+java下单自动化案例

package yuzhidingdan;

import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;
import org.testng.annotations.*;
import static org.testng.Assert.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

public class YUZHIDINIGDAN {
  private WebDriver driver;
  private String baseUrl;
  private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();

  @BeforeClass(alwaysRun = true)
  public void setUp() throws Exception {
    driver = new FirefoxDriver();
    baseUrl = "http://***************/";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }
  @DataProvider(name = "DP1")  
  public Object[][] createData() {  
      Object[][] retObjArr = { { "12345", "123", "12345" },  
              { "***", "123", "***" }, { "chongjiang", "123", "cc" }};  
      return (retObjArr);  
  }  
  @Test(dataProvider = "DP1")    //(threadPoolSize = 1, invocationCount = 3,  timeOut = 10000)
  public void testYUZHIDINIGDAN(String uid,String password,String username) throws Exception {
    driver.get(baseUrl + "/Basic/SysLogin_dbc.aspx");
    driver.findElement(By.id("txtUid")).clear();
    driver.findElement(By.id("txtUid")).sendKeys(uid);
    driver.findElement(By.id("txtPwd")).clear();
    driver.findElement(By.id("txtPwd")).sendKeys(password);
    driver.findElement(By.id("txtUserName")).clear();
    driver.findElement(By.id("txtUserName")).sendKeys(username);
    driver.findElement(By.id("btnLogin")).click();
    
    driver.switchTo().frame("leftFrame");
    Thread.sleep(2000);
    driver.findElement(By.id("6")).click();
    //driver.switchTo().frame("frame_SOManager_DBCNewSystemDK");
    
    driver.findElement(By.id("SOManager_DBCNewSystemDK.aspx")).click();
   // Thread.sleep(3000);
    driver.switchTo().defaultContent();
    driver.switchTo().frame("frame_SOManager_DBCNewSystemDK");
    
   
    driver.findElement(By.xpath("//tbody/tr/td/div[@id='divAdd']/table/tbody/tr/td")).click();
 
    
    Thread.sleep(1000);
    
    driver.switchTo().defaultContent();
   
    driver.switchTo().frame("layui-layer-iframe1");
    Thread.sleep(1000);
    
    //driver.findElement(By.id("txtCustomerID")).clear();
    driver.findElement(By.id("txtCustomerID")).sendKeys("******");
    driver.findElement(By.id("btnGetCustomer")).click();
    Thread.sleep(1000);
    //driver.switchTo().defaultContent();
    //driver.switchTo().frame("layui-layer-iframe1");
    new Select(driver.findElement(By.id("ucWareHouseTwoLevel_ddlWarehouse"))).selectByVisibleText("***");
    Thread.sleep(1000);
    driver.findElement(By.cssSelector("#ucWareHouseTwoLevel_ddlWarehouse > option[value=\"3\"]")).click();
    new Select(driver.findElement(By.id("ucWareHouseTwoLevel_ddlWarehouseArea"))).selectByVisibleText("***");
    Thread.sleep(1000);
    driver.findElement(By.cssSelector("option[value=\"200\"]")).click();
    driver.findElement(By.cssSelector("#divSaveNew > table > tbody > tr > td")).click();
    driver.findElement(By.id("tab2")).click();
    
    driver.switchTo().defaultContent();
    driver.switchTo().frame("layui-layer-iframe1");
    Thread.sleep(1000);
    driver.switchTo().frame("iframe2");
    Thread.sleep(1000);
    //driver.findElement(By.id("btnAdd")).click();
    driver.findElement(By.xpath("//div[@id='divButtom']/table/tbody/tr/td[3]/input[@id='btnAdd']")).click();
    Thread.sleep(1000);
    
    driver.switchTo().defaultContent();
    driver.switchTo().frame("layui-layer-iframe1");
    Thread.sleep(1000);
    driver.switchTo().frame("layui-layer-iframe1");
    Thread.sleep(1000);
    //driver.findElement(By.id("grdProduct_ctl08_txtQty")).click();
    driver.findElement(By.xpath("//div[@id='checkcontainer1']/table//tbody/tr/td/input[@name='chkAll']")).click();
    driver.findElement(By.id("btndel")).click();
    Thread.sleep(3000);
    
    driver.findElement(By.cssSelector("#btnClose")).click();
   Thread.sleep(1000);
    driver.switchTo().defaultContent();
    driver.switchTo().frame("layui-layer-iframe1");
    
    //driver.switchTo().defaultContent();
    driver.findElement(By.id("tab1")).click();
   
    driver.findElement(By.cssSelector("#trClose")).click();
    Thread.sleep(3000);
    driver.switchTo().defaultContent();
    driver.findElement(By.linkText("注销")).click();
    Thread.sleep(2000);
    assertTrue(closeAlertAndGetItsText().contains("确定"));
    Thread.sleep(2000);
    //System.out.println(driver.switchTo().alert().getText());
    
    driver.findElement(By.id("txtPwd")).clear();
    //driver.findElement(By.id("txtPwd")).sendKeys("123");
    driver.findElement(By.id("txtUid")).clear();
    //driver.findElement(By.id("txtUid")).sendKeys("12345");
  }

  @AfterClass(alwaysRun = true)
  public void tearDown() throws Exception {
    driver.quit();
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
      fail(verificationErrorString);
    }
  }

  private boolean isElementPresent(By by) {
    try {
      driver.findElement(by);
      return true;
    } catch (NoSuchElementException e) {
      return false;
    }
  }

  private boolean isAlertPresent() {
    try {
      driver.switchTo().alert();
      return true;
    } catch (NoAlertPresentException e) {
      return false;
    }
  }

  private String closeAlertAndGetItsText() {
    try {
      Alert alert = driver.switchTo().alert();
      String alertText = alert.getText();
      if (acceptNextAlert) {
        alert.accept();
      } else {
        alert.dismiss();
      }
      return alertText;
    } finally {
      acceptNextAlert = true;
    }
  }
}

 

posted on 2017-04-21 14:50  虫匠  阅读(327)  评论(0)    收藏  举报