软件测试之Selenium Java WebDriver
Posted 宋小环
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试之Selenium Java WebDriver相关的知识,希望对你有一定的参考价值。
编写Selenium Java WebDriver程序,测试inputgit.csv表格中的学号和git地址的对应关系
package selenium2; 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 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; @RunWith(Parameterized.class) public class selenium2 { private WebDriver driver; private String baseUrl; private boolean acceptNextAlert = true; private StringBuffer verificationErrors = new StringBuffer(); private String name; private String password; private String github; public selenium2(String name, String password, String github) { this.name = name; this.password = password; this.github = github; } @Parameters public static Collection data() { Object[][] oa = new Object[117][3]; File dataFile = new File("D:\\\\大三下\\\\软件测试\\\\lab2\\\\inputgit.csv"); if(dataFile.exists() && dataFile.isFile()) { try { FileReader fr = new FileReader(dataFile); BufferedReader br = new BufferedReader(fr); String content = br.readLine(); int count = 0; String[] pieces = new String[3]; while ((content = br.readLine())!=null) { pieces = content.split(","); oa[count][0] = pieces[0]; oa[count][1] = pieces[0].substring(4); oa[count][2] = pieces[2]; count = count + 1; } br.close(); fr.close(); }catch(FileNotFoundException e) { System.out.println("Cann\'t find file, error info: " + e.getMessage()); }catch(IOException e) { e.printStackTrace(); } } else { System.out.println("Can not find file!"); } return Arrays.asList(oa); } @Before public void setUp() throws Exception { System.setProperty("webdriver.gecko.driver", "D:\\\\大三下\\\\软件测试\\\\lab2\\\\geckodriver.exe"); driver = new FirefoxDriver(); baseUrl = "http://121.193.130.195:8080"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); } @Test public void test() throws Exception { driver.get(baseUrl + "/"); driver.findElement(By.id("name")).clear(); driver.findElement(By.id("name")).sendKeys(name); driver.findElement(By.id("pwd")).clear(); driver.findElement(By.id("pwd")).sendKeys(password); driver.findElement(By.id("submit")).click(); assertEquals(github, driver.findElement(By.xpath("//tbody[@id=\'table-main\']/tr[3]/td[2]")).getText()); } @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; } } }
注意:
1.所导入jar包为:
2.使用的FF为版本40
3.当junit测试成功时,117个数据将自动检验并成功显示
以上是关于软件测试之Selenium Java WebDriver的主要内容,如果未能解决你的问题,请参考以下文章
使用 selenium webdriver 定位由 javascript 创建的元素
python3+selenium3遇到的问题:Exception ignored in: <bound method Service.__del__ of <selenium.webdri