TestNG(三)对Chrome浏览器的操作
重点:
1、打开浏览器输入网址(driver.grt)。对应例1
注意:get方法一定会等页面加载出来再执行下面的代码,如果页面还在加载会等待页面加载出来。
2、浏览器后退(driver.navigte().back();)对应例2
3、浏览器前进(driver.navigate().forward();)对应例3
4、浏览器刷新(driver.navigate().refresh();)对应例4
5、浏览器设置大小 对应例5
Dimension dimension = new Dimension(300,300);
driver.manage().window().setSize(dimension);
6、浏览器最大化 对应例5
driver.manage().window().maximize();
7、获取当前URL 对应例6
String url = driver.getCurrentUrl();
8、代码优化
使用@BeforeMethod和@AfterMethod进行优化
@BeforeMethod:是在每个Test执行的时候,都会去执行一次@BeforeMethod,所以把打开浏览器的内容放在@BeforeMethod
@AfterMethod:是在每个Test执行之后都会执行一次@AfterMethod,所以可以关闭浏览器的内容放在@AfterMethod
这样的话,就相当于,Test内容里面只放了对浏览器的操作部分,把打开和关闭单独开来。避免代码冗余,也减少代码。结合以上知识,对代码进行优化。例7
一、打开浏览器输入网址
例1、打开chrome浏览器,输入www.baidu.cm网址,等待5S然后关闭浏览器。
public class TestBrowserActions {
/*
打开chrome浏览器
输入百度网址
等待5S
退出百度
*/
@Test
public void browserAcion ()throws InterruptedException{
System.setProperty("webdriver.chrome.deriver","F:\\工程文件\\drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com");
Thread.sleep(5000);
driver.quit();
}
}
二、浏览器后退
例2、
/*
打开chrome浏览器
输入百度网址
等待3S
浏览器后退
等待3S
退出百度
*/
@Test
public void browesback()throws InterruptedException{
System.setProperty("webdriver.chrome.driver","F:\\工程文件\\drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com");
Thread.sleep(3000);
driver.navigate().back();
Thread.sleep(3000);
driver.quit();
}
}
三、浏览器前进
例3
@Test
/*
打开chrome浏览器
输入百度网址
等待3S
浏览器前进
等待3S
退出百度
*/
public void browesforward()throws InterruptedException{
System.setProperty("webdriver.chrome.driver","F:\\工程文件\\drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com");
Thread.sleep(3000);
driver.navigate().forward();
Thread.sleep(3000);
driver.quit();
}
四、打开浏览器刷新
例4
@Test
/*
打开chrome浏览器
输入百度网址
等待3S
浏览器舒刷新
等待3S
退出百度
*/
public void browesrefresh()throws InterruptedException{
System.setProperty("webdriver.chrome.driver","F:\\工程文件\\drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com");
Thread.sleep(3000);
driver.navigate().refresh();
Thread.sleep(3000);
driver.quit();
}
五、浏览器设置大小,并且最大化
例5
@Test
/*
打开chrome浏览器
设置浏览器大小
等待3S
浏览器最大化
等待3S
退出百度
*/
public void browesmix() throws InterruptedException{
System.setProperty("Webdriver.chrome.driver","F:\\工程文件\\drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
Dimension dimension = new Dimension(300,300);
driver.manage().window().setSize(dimension);
Thread.sleep(3000);
driver.manage().window().maximize();
Thread.sleep(3000);
driver.quit();
}
六、获取URL
例6
}
@Test
/*
打开chrome浏览器
获取URL
校对获取到的URL是否为百度界面
等待3S
退出百度
*/
public void browesurl() throws InterruptedException {
System.setProperty("Webdriver.chrome.driver", "F:\\工程文件\\drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.baidu.com");
String url = driver.getCurrentUrl();
System.out.println("获取到的URL是:" + url);
Assert.assertEquals(url, "https://www.baidu.com/");
Thread.sleep(3000);
driver.quit();
}
结合以上知识,对代码进行优化。
例7
package test02;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.testng.reporters.jq.INavigatorPanel;
public class TestBrowserActions {
WebDriver driver;
@BeforeMethod
public void browrsopen(){
System.setProperty("webdriver.chrome.deriver","F:\\工程文件\\drivers\\chromedriver.exe");
driver = new ChromeDriver();
}
@Test
/*
打开chrome浏览器
输入百度网址
等待5S
退出百度
*/
public void browserAcion ()throws InterruptedException{
driver.get("http://www.baidu.com");
Thread.sleep(5000);
driver.quit();
}
/*
打开chrome浏览器
输入百度网址
等待3S
浏览器后退
等待3S
退出百度
*/
@Test
public void browesback()throws InterruptedException{
driver.get("http://www.baidu.com");
Thread.sleep(3000);
driver.navigate().back();
Thread.sleep(3000);
driver.quit();
}
@Test
/*
打开chrome浏览器
输入百度网址
等待3S
浏览器前进
等待3S
退出百度
*/
public void browesforward()throws InterruptedException{
driver.get("http://www.baidu.com");
Thread.sleep(3000);
driver.navigate().forward();
driver.navigate().refresh();
Thread.sleep(3000);
driver.quit();
}
@Test
/*
打开chrome浏览器
输入百度网址
等待3S
浏览器舒刷新
等待3S
退出百度
*/
public void browesrefresh()throws InterruptedException{
driver.get("http://www.baidu.com");
Thread.sleep(3000);
driver.navigate().refresh();
Thread.sleep(3000);
driver.quit();
}
@Test
/*
打开chrome浏览器
设置浏览器大小
等待3S
浏览器最大化
等待3S
退出百度
*/
public void browesmix() throws InterruptedException{
Dimension dimension = new Dimension(300,300);
driver.manage().window().setSize(dimension);
Thread.sleep(3000);
driver.manage().window().maximize();
Thread.sleep(3000);
driver.quit();
}
@Test
/*
打开chrome浏览器
获取URL
校对获取到的URL是否为百度界面
等待3S
退出百度
*/
public void browesurl() throws InterruptedException {
driver.get("https://www.baidu.com");
String url = driver.getCurrentUrl();
System.out.println("获取到的URL是:" + url);
Assert.assertEquals(url, "https://www.baidu.com/");
Thread.sleep(3000);
}
@AfterMethod
public void browesquit(){
driver.quit();
}
}