首页 > 代码库 > 软件测试_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自动化