:环境 java1.8+ieda
直接上代码
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.dqcer</groupId>
<artifactId>seleniumAotuTest</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging> <dependencies>
<!-- 启动谷歌浏览器需要的特点jar包-->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>22.0</version>
</dependency>
<!-- 集成selenium-->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.7.1</version>
</dependency>
</dependencies>
</project>
SeleniumAotuTestDemo.java类
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver; import java.io.File;
import java.util.concurrent.TimeUnit; /**
* @Author: dongQin
* @Date: 2018/6/14 8:51
* @Description: selenium基于火狐浏览器/谷歌浏览器的自动化测试
*/ public class SeleniumAotuTestDemo { private static WebDriver webDriver; public static void main(String[] args) throws InterruptedException { // 初始化谷歌浏览加载所需的配置程序
initChromeDriver(); // 初始化火狐浏览器加载所需的配置程序
//initFirefox(); // 在打开地址前,清除cookies
webDriver.manage().deleteAllCookies(); // 同步浏览器
webDriver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); // 打开目标地址,这个使用百度为例。只要是web系统都可以
webDriver.get("https://www.baidu.com"); // 搜索spring boot // 定位当前的输入框
WebElement element = webDriver.findElement(By.xpath("//*[@id=\"kw\"]")); // 在输入框输入"spring boot"
element.sendKeys("spring boot"); // 定位当前的"百度一下"按钮所在的位置
WebElement submint = webDriver.findElement(By.xpath("//*[@id=\"su\"]")); // 点击提交
submint.click(); // 休息3秒,等待搜索结果并查看
Thread.sleep(3000); // 最后退出,关闭浏览器
webDriver.quit(); System.out.println("good job!");
} /**
* @Author: dongQin
* @Date: 2018/6/14 9:09
* @Description: 初始化加载所需的配置程序
*/ public static void initChromeDriver(){
// chromedriver.exe要与当前使用的谷歌浏览器版本一一对应,下载的地址可在淘宝或者GitHub,并将其解压放在与谷歌
// .exe 文件同级下
File file = new File("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
System.setProperty("webdriver.chrome.driver", file.getAbsolutePath()); webDriver = new ChromeDriver();
} /**
* @Author: dongQin
* @Date: 2018/6/14 9:51
* @Description: 初始化火狐浏览器加载所需的配置程序
*/ public static void initFirefox(){ // firefox.exe同样要与当前使用的火狐浏览器版本一一对应,下载的地址可在淘宝或者GitHub // 指定火狐浏览器程序的位置
System.setProperty("webdriver.firefox.bin", "D:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); // 指定firefox.exe插件的位置
System.setProperty("webdriver.gecko.driver", "C://geckodriver.exe"); webDriver = new FirefoxDriver();
}
}
如何定位当前位置呢?By.xpath()获取括号的值,有个小技巧,打开谷歌浏览器,打开控制台,经过图下操作就可自动获取到xpath值,复制到By.xpath()括号中即可