Liam的软件测试学习历程(五):Selenium测试

  今天的实验是使用Selenium进行Web的测试。首先需要在Firefox中安装相关插件Selenium。安装好后,在Firefox右上角会出现一个标志:。出现这个标志就代表安装好了。

  接下来点击这个按钮,就会出现Selenium IDE的界面:

  单击右侧红色的录制按钮开始录制。录制的步骤即为测试一个用例要进行的所有步骤,包括填入网址,输入学号密码等。最后选中结果界面中的邮箱,邮件选择assertText.

  之后在Selenium IDE中输出相应的结果,注意在输出钱要在option中勾选Enable experimental features选项。

  输出后倒入Selenium和csv文件读取的相关jar包,编写程序如下:

package com.example.tests;

import java.io.IOException;
import java.nio.charset.Charset;
import java.util.Arrays;
import java.util.Collection;
import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;

import org.junit.*;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;

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;

@RunWith(Parameterized.class)
public class SeleniumTest {
  private WebDriver driver;
  private String baseUrl;
  private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();
  private String id, pwd,email;
  
public SeleniumTest(String id, String email)
{
    this.id = id;
    this.pwd = id.substring(4);
    this.email = email;
}
  
  @Before
  public void setUp() throws Exception {
    System.setProperty("webdriver.firefox.bin", "C:/Program Files/Mozilla Firefox/firefox.exe");
    driver = new FirefoxDriver();
    baseUrl = "http://www.ncfxy.com/";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }

    @Parameters
    public static Collection<Object[]> getData() throws IOException {
        Object[][] obj = new Object[109][];
        CsvReader r = new CsvReader("C:/Users/畅/Downloads/info.csv", ',',
                Charset.forName("GBK"));
         int count = 0;
         r.readHeaders();
         while(r.readRecord()){
             obj[count] = new Object[]{r.get("id"), r.get("email")};
             count++;
         }
         return Arrays.asList(obj);
     }
  @Test
  public void testUntitled() throws Exception {
    driver.get(baseUrl);
    driver.findElement(By.id("name")).clear();
    driver.findElement(By.id("name")).sendKeys(this.id);
    driver.findElement(By.id("pwd")).clear();
    driver.findElement(By.id("pwd")).sendKeys(this.pwd);
    driver.findElement(By.id("submit")).click();
    assertEquals(this.email, driver.findElement(By.xpath("//tbody[@id='table-main']/tr/td[2]")).getText());
  }

  @After
  public void tearDown() throws Exception {
    driver.close();
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
      fail(verificationErrorString);
    }
  }
}

  但是在我尝试运行时,总是出现如下错误:

  上午查询后发现是因为Firefox的版本较高的原因,之后到其他同学电脑上运行问题就解决了。得到结果如下:

posted @ 2016-04-15 20:19  Liam_LC  阅读(205)  评论(0编辑  收藏  举报