一、实验要求
1、安装SeleniumIDE插件
2、学会使用SeleniumIDE录制脚本和导出脚本
3、访问http://121.193.130.195:8080/使用学号登录系统(账户名为学号,密码为学号后6位),进入系统后可以看到该同学的git地址。
4、编写Selenium Java WebDriver程序,测试inputgit.csv表格中的学号和git地址的对应关系是否正确。
5、将测试代码提交到github上。
二、解决方法
1、安装SeleniumIDE插件
打开Firefox->打开菜单->添加组件->搜索SeleniumIDE->安装->重启Firefox
2、学会使用SeleniumIDE录制脚本和导出脚本
打开SeleniumIDE
Firefox->打开菜单->开发者工具->SeleniumIDE
或在工具栏打开(需要Firefox最大化才能看到)
点击录制
此时你可以做一系列的操作,SeleniumIDE将会将其录制。
蓝框处可以自动执行你录制的操作红框处可调整操作的快慢。
导出脚本:文件->Export Test Case As->你想要的脚本形式。
4、编写Selenium Java WebDriver程序,测试inputgit.csv表格中的学号和git地址的对应关系是否正确。
下载对应的Selenium。注意Selenium版本需要和Firefox版本想对应,如果Selenium版本在3以上还需要下载相应的驱动。
inputgit.csv导入程序:
package lab2;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;import java.util.ArrayList;
import java.util.List;public class CSVUtils {
boolean isSucess=false; public static List<String> importCsv(File file){ List<String> dataList=new ArrayList<String>(); BufferedReader br=null; try { br = new BufferedReader(new FileReader(file)); String line = ""; while ((line = br.readLine()) != null) { dataList.add(line); } }catch (Exception e) { }finally{ if(br!=null){ try { br.close(); br=null; } catch (IOException e) { e.printStackTrace(); } } } return dataList; } public static void main(String args[]){ List<String> dataList=CSVUtils.importCsv(new File("E:\\学习1\\软件测试\\inputgit.csv")); if(dataList!=null && !dataList.isEmpty()){ int i = 0; for(String data : dataList){ i++; if(i == 1) continue; System.out.println(data.substring(0,10)); int a = 11 ,b = 12; while(b<data.length()){ if(data.charAt(b) == ','){ // System.out.println(data.substring(a,b));// System.out.println(data.substring(b+1)); break; } b++; } System.out.println(data.substring(4,10)); System.out.println(data.substring(a,b)); System.out.println(data.substring(b+1)); } } }}Selenium Java WebDriver程序:
package lab2;
import static org.junit.Assert.*;
import java.io.File;
import java.util.List;import java.util.concurrent.TimeUnit;import org.junit.*;import static org.junit.Assert.*;import static org.hamcrest.CoreMatchers.*;import org.openqa.selenium.*;import org.openqa.selenium.firefox.FirefoxDriver;public class Lab2_SeleniumIDE_use {
private WebDriver driver; private String baseUrl; @Before public void setUp(){ System.setProperty("webdriver.firefox.bin","E:\\firefox-47.0.1.win64.sdk\\firefox-sdk\\bin\\firefox.exe"); System.setProperty("webdriver.firefox.marionette","E:\\学习1\\软件测试\\geckodriver-v0.9.0-win64\\geckodriver.exe"); driver = new FirefoxDriver(); baseUrl = "http://121.193.130.195:8080"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); }@Test
public void test() { List<String> dataList=CSVUtils.importCsv(new File("E:\\学习1\\软件测试\\inputgit.csv")); if(dataList!=null && !dataList.isEmpty()){ int i = 0; for(String data : dataList){ i++; if(i == 1) continue; int a = 11 ,b = 12; while(b<data.length()){ if(data.charAt(b) == ','){ break; } b++; } driver.get(baseUrl + "/"); driver.findElement(By.id("name")).clear(); driver.findElement(By.id("name")).sendKeys(data.substring(0,10)); driver.findElement(By.id("pwd")).clear(); driver.findElement(By.id("pwd")).sendKeys(data.substring(4,10)); driver.findElement(By.id("submit")).click(); String github = driver.findElement(By.xpath("//tr[3]/td[2]")).getText(); String name = driver.findElement(By.xpath("//tr[1]/td[2]")).getText(); assertEquals(data.substring(a,b),name); assertEquals(data.substring(b+1),github); } }} @After public void tearDown(){ driver.quit(); } }