【软件测试】Selenium Web 测试
Selenium 用于WEB程序测试,可以录制下来点击过程的脚本,并自动进行测试。
使用selenium-ide 进行脚本录制
在开始实验之前,需要安装所需要的软件。首先想要使用selenium-ide,需要是用firefox浏览器。
firefox下载链接
selenium-ide下载链接
将下载后的selenium插件拖到firefox里即可自动安装。
成功安装后,在firefox中可以打开selenium插件:
选择开发者工具中的selenium-ide
打开后长这个样子
在1的位置输入想要测试的网址,接着点击2位置的按钮开始录制。去浏览器访问对应的网站,完成表单提交操作,回到selenium-ide会看到录制下来的case,最后点击4,会将当前所有的case执行一遍。
使用java编写selenium程序,实现自动验证
新建一个java项目,然后导入下列jar包
导入成功后需要下载firefox的驱动:
geckodriver-v0.15.0-linux64.tar.gz
以上就是全部的准备工作了
新建一个项目,在main方法中写如下代码:
import java.io.*;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import com.csvreader.*;
public class Main {
public static void main(String[] args){
//定义测试的根目录
String baseUrl = "http://121.193.130.195:8080";
// 创建webdriver对象
System.setProperty("webdriver.gecko.driver", "geckodriver");
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
try{
//读取csv文件
File inFile = new File("inputgit.csv");
BufferedReader reader = new BufferedReader(new FileReader(inFile));
CsvReader csvreader = new CsvReader(reader,',');
//每次读取一行
while(csvreader.readRecord()){
String str = csvreader.getRawRecord();
String[] strList = str.split(",");
//使用webdriver模拟登录,并获取信息
driver.get(baseUrl + "/");
driver.findElement(By.id("name")).clear();
driver.findElement(By.id("name")).sendKeys(strList[0]);
driver.findElement(By.id("pwd")).clear();
driver.findElement(By.id("pwd")).sendKeys(strList[0].substring(4));
driver.findElement(By.id("submit")).click();
String temp = strList[0];
strList[0] = strList[1];
strList[1] = temp;
//获取特定验证信息
String[] targetGitUrl = driver.findElement(By.id("resultString")).getAttribute("innerHTML").trim().split(",");
boolean flag = true;
for(int i = 0; i < 3; i ++){
if(!strList[i].equals(targetGitUrl[i])){
flag = false;
break;
}
}
//验证失败
if(!flag){
System.out.println("Error: \n" + strList[0] + " " + strList[1] + " " + strList[2]);
System.out.println(targetGitUrl[0] + " " + targetGitUrl[1] + " " + targetGitUrl[2]);
}
}
driver.quit();
} catch (IOException e){
e.printStackTrace();
}
}
}
运行即可
完整的项目在github上:selenium-web-test
挽尊