思维导图
这篇文章就将两个点,一个是介绍,一个是利用selenium进行自动化测试的简单实例
介绍
Selenium的本质是一组框架,其中有许多的接口,这些接口的功能是实现模拟人与浏览器的自动化交互,这就是Selenium的功能.
例子
介绍就那么多,实战才是重中之重.
package com.zhfight.test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class AutoTestStudy {
//驱动的抽象对象
WebDriver webDriver;
//测试采用testNG测试框架,使用功能上同Junit没有太大区别
@BeforeClass
public void start(){
//设置浏览器驱动,Selenium本质上是调用浏览器的借口实现其功能的
//采用Chrome浏览器,其后是Chrome浏览器驱动的位置
System.setProperty("webdriver.chrome.driver","E:\\IdeaProjects\\DocumentPractice\\AutoTest\\src\\resource\\chromedriver.exe");
//实例化驱动对象
webDriver = new ChromeDriver();
}
@AfterClass
public void end(){
//自动化测试结束后退出浏览器
webDriver.quit();
}
@Test
public void firstCase(){
//进入百度首页
webDriver.get("https://www.baidu.com/");
}
}
这个例子可以使用谷歌浏览器进入百度首页,当然,必须要导入相应的JAR包和资源.
相关JAR包
我们可以导入三种JAR包
- 特定浏览器JAR包:这种JAR包只支持特定的浏览器驱动
- 非特定浏览器JAR包:这种JAR包支持许多流行的浏览器驱动
- 独立JAR包:独立的JAR包除了支持流行的浏览器驱动外,还支持GRID功能,下图是实现Grid功能的结构,可以通过HUB实现多节点的自动化测试
相关资源
这个例子里的资源就是Chrome浏览器的驱动程序了,若要使用不同的浏览器,就需要配置不同的驱动程序.
相关配置
在源代码中可以看到,除了使用testNG进行前处理和后处理外,还有一行代码设置了驱动的种类和位置.