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:测试结果爆慢,不知道什么原因。