lab2_selenium测试

1、install seleniumIDE

get to selenium official page.

 

 

2、use selenium to videotype and export the code

 at first, the selenium can not be used completely right. then the teacher told us it's the version problem.

so i use selenium2.53. firefox 40. problem solved.

 

 

 

click 文件->export test case as -> JAVA/JUnit4/WebDriver     to get the code

 

 

3、build a new project, copy the code into the new .java file. add the external jars.

 

then add some new code.

4、write Selenium Java WebDriver code

package lab1;

import java.nio.charset.Charset;
import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;

import org.junit.*;

import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;

import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

import com.csvreader.CsvReader;

public class TestGit {
  private WebDriver driver;
  private String baseUrl;
  private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();
  private String id = null;
  private String pwd = null;
  private String gitUrl = null;

  @Before
  public void setUp() throws Exception {
    
    driver = new FirefoxDriver();
    baseUrl = "http://121.193.130.195:8080";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }

  @Test
  public void testGit() throws Exception {
      CsvReader cin =  new CsvReader("F:/inputgit.csv", ',',Charset.forName("GBK"));
      cin.readHeaders();
      while(cin.readRecord()){
        id = cin.get(0);
        pwd = id.substring(4, 10);
        gitUrl = cin.get(2);
        driver.get(baseUrl + "/");
        driver.findElement(By.id("name")).clear();
        driver.findElement(By.id("name")).sendKeys(id);
        driver.findElement(By.id("pwd")).clear();
        driver.findElement(By.id("pwd")).sendKeys(pwd);
        driver.findElement(By.id("submit")).click();
        String gitUrls = driver.findElement(By.xpath("//tbody[@id = 'table-main']/tr[3]/td[2]")).getText();
        if (!gitUrl.equals(gitUrls)){
            System.out.println(id);
            System.out.println(gitUrl);
            System.out.println(gitUrls);
            continue;
            
        }
        assertEquals(gitUrl,gitUrls);
    }
  }

  @After
  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;
    }
  }
}

it took 218s to execute this test.

then I modified the csv file, I changed one record. and I use

 this to print out the wrong git url.

 

this is the result

 this is an exciting experience, i learnt not only test automation, but also the vital thinking method of testing.

posted @ 2017-03-24 17:01  深海哈哈哈  阅读(237)  评论(0编辑  收藏  举报