zoukankan      html  css  js  c++  java
  • 第一个自动化测试案例 java+selenium

    1.实现第一个自动化测试入门案例:

    package autoTestE;
    
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    
    public class FirstAutoTest {
        public static void main(String[] args){
            //1.系统属性设置驱动程序可执行文件路径
            System.setProperty("webdriver.chrome.driver","F://chromedriver.exe");
    
            //2.实例化谷歌浏览器, 我们可以使用这个对象(或称为驱动程序)来执行浏览器上的各种操作
            WebDriver driver = new ChromeDriver();
            //3.导航到指定页面,get方法用于导航到指定URL
            driver.get("https://www.baidu.com");
            //获得页面标题
            if(driver.getTitle().equals("百度一下,你就知道"))
                System.out.println("Yes!");
            else
                System.out.println("No!");
    
    
            //4.关闭浏览器窗口; quit方法关闭的是所有浏览器窗口,并且完全关闭WebDriver会话,这样可以避免内存泄漏
            //driver.close();
            driver.quit();
        }
    }

    2.在JUnit4中运行WebDriver测试

    package autoTestE;
    
    import org.junit.*;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    
    public class FirstJUnit {
        //首先声明一些变量
        private WebDriver driver;
        private String baseUrl;
        private String pageTitle;
        private String exceptedTitle;
    
        @Before
        public void Setup(){
            System.setProperty("webdriver.chrome.driver","f://chromedriver.exe");
            driver = new ChromeDriver();
            baseUrl = "https://www.baidu.com";
            pageTitle = "";
            exceptedTitle = "百度一下,你就知道";
        }
        @Test
        public void testPageTitle(){
            driver.get(baseUrl);
            pageTitle = driver.getTitle();
            if(pageTitle.equals(exceptedTitle))
                System.out.println("Expected!");
            else
                System.out.println("Unexpected!");
        }
        @After
        public void tearDown(){
            driver.quit();
        }
    
    }

    将此代码与前一代码相比,可以看出两者相似。区别有:

    (1)类开头的私有变量声明,并且将相同的代码分为了多个部分;

    (2)添加了注解;

      @Test   被当做测试方法运行;

      @Before   在指定的每种测试方法之前运行;用于读取或分配数据,初始化或如果多个测试需要先创建相似的对象才能执行;

      @After   在执行每种测试方法之后执行;通常会指定与环境清理相关的命令,例如,关闭打开的资源/数据库连接/释放内存等;

    (3)这三个注解下的方法都是公开的,返回类型是void。在junit.framework.Testcase类下,有setUp()和tearDown()方法,覆盖这些方法就可以,分别用于初始化和清除。JUnit首先调用setUp()方法,然后调用test方法,最后调用tearDown()方法。

    各自努力,不问归期
  • 相关阅读:
    微信nickname乱码(emoji)及mysql编码格式设置(utf8mb4)解决的过程
    eclipse Specified VM install not found: type Standard VM, name
    eclipse中安装Open Explorer
    关于Java变量的可见性问题
    Win8&Win2012R2如何支持DOTA2输入法
    Adobe Flash player 10 提示:Error#2044:未处理的IOErrorEvent. text=Error#2036:加载未完成 的解决方法
    IntelliJ IDEA 12.1.4 解决中文乱码
    Win8.1RTM英文版安装中文语言包的两种方法
    在FlashDevelop里使用1.8版本的的TortoiseSVN
    [修复Win8.1 BUG] 解决Win8.1英文字体发虚不渲染问题
  • 原文地址:https://www.cnblogs.com/xiaona-/p/15153749.html
Copyright © 2011-2022 走看看