软件测试(五)

Selenium开发Java WebDriver测试程序

一、安装Selenium插件

  在FireFox浏览器中,选择  菜单--开发者--获取更多工具,搜索Selenium即可,安装完成后,在浏览器中出现下图图标表示安装成功。

  

二、使用SeleniumIDE录制并导出脚本

  1、录制脚本

    点击上图所示按钮启动SeleniumIDE,点击所示的红色按钮启动录制脚本

    

    在FireFox中输入网址,在这里输入  www.ncfxy.com,输入正确的用户名和密码,点击登录,在邮箱的位置上右键点击选择assertText(需要安装FirePath,方法同安装SeleniumIDE)(实验要求)。

    在此,完成脚本的录制。

    可以选择,执行速度的快慢,执行测试用例

    

    执行的结果:

    

    2、导出脚本

      在SeleniumIDE中选择,文件--Export test suite ---Java/Junit4/webdriver导出脚本。

三、编写WebDriver程序,测试csv数据

  在Eclipse中新建项目...

  项目中需要引进相应的Selenium jar包 和webdriver的驱动。

  代码如下:

  

package test;

import static org.junit.Assert.assertEquals;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collection;
import java.util.concurrent.TimeUnit;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;


@RunWith(Parameterized.class)
public class test {
    
    private String name;
    private String email;
    private WebDriver driver;
    private String baseUrl;
    
    public test(String name,String email){
        this.name = name;
        this.email = email;
    }

    @Before
    public void setUp() throws Exception {
        driver = new FirefoxDriver();
        baseUrl = "http://www.ncfxy.com/";
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        driver.get(baseUrl);
        
    }
    
    @Parameters
    public static Collection<Object[]> getData() throws IOException{
        File inFile = new File("C://Users/1dell/Desktop/info.csv");
        Object[][] obj = new Object[109][];
        String in ="";
         try {
                
                @SuppressWarnings("resource")
                BufferedReader reader = new BufferedReader(new FileReader(inFile));
                int i = 0;
                while((in = reader.readLine())!=null){
                    obj[i] = new Object[]{in.split(",")[0], in.split(",")[1]};
                    i++;
                    
                }  
                
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        return Arrays.asList(obj);
    }
 
    @After
    public void tearDown() throws Exception {
        driver.close();
    }

    
    @Test
    public void test() {
        
        
        WebElement element = driver.findElement(By.id("name"));
        element.sendKeys(this.name);
        
        WebElement element1 = driver.findElement(By.id("pwd"));
        element1.sendKeys(this.name.substring(4));
        
        WebElement element3 = driver.findElement(By.id("submit"));
        element3.click();
        
        assertEquals(this.email, driver.findElement(By.xpath(".//*[@id='table-main']/tr[1]/td[2]")).getText());
        
    }

}

部分测试结果如下:

ps:测试结果爆慢,不知道什么原因。

 

  

  

posted @ 2016-04-16 20:42  prog123  阅读(212)  评论(0编辑  收藏  举报