首页 > 代码库 > 软件测试_lab2_Selenium自动化
软件测试_lab2_Selenium自动化
一、实验要求
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();
}
}
软件测试_lab2_Selenium自动化