软件测试小组作业-实验2

        使用Selenium进行Web测试

1、安装Selenium插件

首先我们需要下载firefox浏览器,然后,在工具栏的“附加组件”中搜索“Selenium IDE”,之后点击安装即可。

2、学习使用SeleniumIDE插件进行脚本录制和导出

    首先,打开安装好的selenium插件,如下图:

    之后,红色按钮按下表示正在录制,这时候只用将界面切换到Firefox,网址中输入www.baidu.com,然后再搜索框中输入文字,点击搜索,所有的控件的访问都会被记录下来,然后切换回seleniumIDE就可以看到已经录制完毕

  

之后就可以选择脚本执行的速度,以及开始运行脚本。然后可以点击“文件->save test case” 或者“文件->export test case”就可以保存或者导出脚本。

3、访问http://www.ncfxy.com,使用学号登录,之后就可以看到该用户的邮箱和学号两项信息。(由于含有个人信息,截图略)

4、编写Selenium Java WebDriver程序,测试info.csv表格中的学号和邮箱的对应关系是否正确。

具体代码见Github:

https://github.com/George950220/Selenium-TestGroupWork/

主要代码如下:

package mumu.st.selenium.test;

 

import static org.junit.Assert.assertEquals;

 

import java.io.File;

import java.io.IOException;

import java.nio.charset.Charset;

import java.util.ArrayList;

import java.util.concurrent.TimeUnit;

 

import org.junit.*;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

 

import com.csvreader.CsvReader;

public class TestClass {

   private ArrayList<String[]> csvList;

    WebDriver driver;

 

   @Before

   public  void readCSV() throws IOException{

      String chDriver = new File(new File(".").getCanonicalPath()+"\"

           + "driver/chromedriver.exe").getCanonicalPath();

      System.setProperty("webdriver.chrome.driver", chDriver);

      System.setProperty("webdriver.chrome.bin", "C:\Program Files (x86)"

           + "\Google\Chrome\Application\chrome.exe");

     

      driver = new ChromeDriver();

      driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

 

    try {      

         csvList = new ArrayList<String[]>(); //存csv中的信息

         String csvFilePath = "C:\Users\lenovo\Desktop\info.csv";

         CsvReader reader = new CsvReader(csvFilePath,',',Charset.forName("SJIS"));   

            

         reader.readHeaders(); // 去标题

            

         while(reader.readRecord()){ //读信息

             csvList.add(reader.getValues());  

         }              

         reader.close();  

 

     } catch (Exception ex) {  

             System.out.println(ex);  

         }  

}

@Test

public void testSelenium() throws InterruptedException{

    for(int row=0;row<csvList.size();row++) {

        driver.get("http://www.ncfxy.com");

        //取出csv文件中的信息

        String name = csvList.get(row)[0];

        String mail = csvList.get(row)[1];

 

        //获取登录页面的元素

        WebElement username = driver.findElement(By.name("name"));

        WebElement pwd = driver.findElement(By.name("pwd"));

        WebElement sumit = driver.findElement(By.id("submit"));

 

        //填信息

        username.clear();

        username.sendKeys(name);

        System.out.println("setName");

        pwd.clear();

        pwd.sendKeys(name.substring(4));

        System.out.println("setPass");

        sumit.click();

 

        //获取信息页面的邮箱值

        WebElement tableEle = driver.findElement(By.id("table-main"));

        String tableEleTextStr = tableEle.getText();

        String mailEle = tableEleTextStr.substring(tableEleTextStr.indexOf("箱") + 2, tableEleTextStr.indexOf("学") - 1);

        String id = tableEleTextStr.substring( tableEleTextStr.indexOf("号") + 2);

        System.out.print(id);

        boolean match = name.equals(id) && mail.equals(mail);

        assertEquals(true, match);

        Thread.sleep(1500);

    }

}

 

    @After

    public void close(){

        driver.close();

    }

}

原文地址:https://www.cnblogs.com/mumu95/p/5402327.html