• 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();
    }
    }
  • 相关阅读:
    [转]三维成像原理
    loader如果你提前设width或height,loadComplete后显示不出来
    Flash调用Alchemy编译的代码时出现Error #1506的解决
    通过 IP 区分不同国家的用户
    Linux的进程组和会话
    Linux下安装 JDK(转备忘)
    程序中,调用Bison和Flex结合的小例子(语法分析中处理数据)
    从自己的程序中使用lex的一个小例子
    yum 删除软件要注意一点
    Linux下top命令
  • 原文地址:https://www.cnblogs.com/Daisyjm/p/8848153.html
Copyright © 2020-2023  润新知