Selenium UI自动化(Java篇)
一、准备浏览器驱动
Chrome
驱动:https://npm.taobao.org/mirrors/chromedriver
Firefox
驱动:https://github.com/mozilla/geckodriver/releases/
IE
驱动:http://selenium-release.storage.googleapis.com/index.html
二、创建Maven工程,引入testng
和selenium
依赖jar
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.3</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
三、引入浏览器驱动
在工程中的根目录下创建存放浏览器驱动的文件夹webDrivers
,把浏览器驱动放到该文件夹下。
public class TestCase {
static {
//设置chromedriver应用的路径
System.setProperty("webdriver.chrome.driver", "webDrivers/chromedriver.exe");
}
}
四、初始化浏览器
导入需要的包
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public void testBaidu(){
//初始化浏览器
WebDriver driver = new ChromeDriver();
//访问网址
driver.get("http://www.baidu.com");
}
设置浏览器参数
import org.openqa.selenium.chrome.ChromeOptions;
//设置浏览器参数
ChromeOptions options = new ChromeOptions();
/**
* 通过options.addArguments("");进行设置浏览器参数
*/
//初始化浏览器
WebDriver driver = new ChromeDriver(options);
加载浏览器的静默模式,使浏览器在后台运行
options.addArguments("headless");
最大化浏览器
options.addArguments("--test-type", "--start-maximized");
浏览器常用操作
打开网址
driver.get("http://www.baidu.com");
driver.navigate().to("http://www.baidu.com");
关闭窗口
driver.close();
在会话结束时退出浏览器
driver.quit();
获取当前URL
String currentUrl = driver.getCurrentUrl();
获取标题
String title = driver.getTitle();
后退
driver.navigate().back();
前进
driver.navigate().forward();
刷新
driver.navigate().refresh();
获取窗口大小
//单独访问长宽
int width = driver.manage().window().getSize().getWidth();
int height = driver.manage().window().getSize().getHeight();
//先获取窗口大小,然后再获取长宽
Dimension size = driver.manage().window().getSize();
int width1 = size.getWidth();
int height1 = size.getHeight();
设置窗口大小
driver.manage().window().setSize(new Dimension(1024, 768));
获取窗口位置
// 单独获取坐标
int x = driver.manage().window().getPosition().getX();
int y = driver.manage().window().getPosition().getY();
// 先获取窗口坐标,然后再获取横纵坐标
Point position = driver.manage().window().getPosition();
int x1 = position.getX();
int y1 = position.getY();
设置窗口位置
driver.manage().window().setPosition(new Point(0, 0));
最大化窗口
driver.manage().window().maximize();
最小化窗口
driver.manage().window().minimize();
全屏窗口(F11)
driver.manage().window().fullscreen();