zoukankan      html  css  js  c++  java
  • Selenium ? 也要学...!

    一、selenium 简介

            Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,包括Selenium-IDE、Selenium-RC、Selenium-Webdriver 以及Selenium-Grid。

            Selenium 2.0的主要新功能是集成了Webdriver的API。Webdriver的设计提供一个更简单、更简洁的编程接口以及解决的Selenium-RC API中的一些限制。Selenium-Webdriver的开发是为了更好地支持动态网页的页面元素可能已经更改,但本身不被重新加载的页面。Webdriver的目标是提供一个设计良好的面向对象的API、提供更好的支持,为Web应用程序测试问题。

    Selenium版本介绍

    selenium 1.0   =   seleniumGrid +  seleniumide  + seleniumRc

    selenium 2.0   =   selenium1.0   +   webdriver

    selenium 3.0  变更:

        1)移除seleniumRc

        2)全面拥抱 Java

        3)Firefox 和 safari 推出自己的 Webdirver

        4)selenium2.0 支持IE7-11,selenium 3.0支持IE 9 +

    二、Selenium 环境搭建

    1.下载JDK、安装JDK

    2.配置Java 环境

        1)设置JAVA_HOME 环境变量:安装路径

        2) 设置Path值:%JAVA_HOME%in;%JAVA_HOME%jrein;

        3) 设置CLASSPATH: .;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar

        4) 校验是否安装完成可以在控制台输入: java –version

        5) 安装IDEA集成开发环境

    3.Maven是一个项目管理工具,可以通过项目进行构建打包管理项目中所需的jar包。通过Idea 新建 maven工程。注意:pom.xml 中需引入selenium所需要的jar包

    三、认识TestNG

    testng是一个强大的测试框架,类似于junit,提供了强大的注解,便于对case的各种操作。

    TestNG引入:Pom.xml 添加如下:

            <dependency>

                <groupId>org.testng</groupId>

                <artifactId>testng</artifactId>

                <version>6.9.10</version>

            </dependency

    TestNG注解:

        1)@Test:管理用例,1个test代表一个用例。

        2)@BeforeTest:所有Test运行之前执行(只执行1次,类似数据准备打开浏览器)

        3)@BeforeMethed:每一个Test运行前执行1次(类似于创建用户操作)

        4)@AfterTest:所有Test运行之后执行(只执行1次,类似于关闭浏览器炒作)

        5)@AfterMethed:每一个Test运行之后执行1次

    常用校验方式:

        相等:Assert.assertEquals()

        不相等:Assert.assertNotEquals()

        为空:Assert.assertNull()

        不为空:Assert.assertNotNull()

    四、Selenium入门操作

    启动浏览器操作:

    --启动Chrome浏览器:(谷歌浏览器默认安装路径)

    1.需要chromedriver.exe

    下载地址:https://sites.google.com/a/chromium.org/chromedriver/downloads

    2.工程根目录下新建drivers文件夹,并把chromedriver.exe放入

    3.启动Chrome 浏览器,如图:

    public class openChromTest {
           /* 启动谷歌浏览器
            1、创建ChromeDriver对象
            2、获取地址,打开百度页面
            */
        @Test
        public void openGe(){
            WebDriver driver =new ChromeDriver();
            driver.get("https://www.baidu.com");
    }

    --启动IE浏览器操作:(IE安装目录为指定位置)

    1.需要IEDriverServer.exe 

    2.下载地址(http://selenium-release.storage.googleapis.com/index.html)IE的exe文件分64位与32位,请根据自已的机器选择相应的exe文件

    3.启动IE 浏览器,如图:

     /*
        *1、指定IEDriverServer.exe路径
        *2、new一个InternetExplorerDriver 对象,启动IE浏览器   
      */
        @Test  
        public void openIETest(){
         System.setProperty("webdriver.ie.driver",".\drivers\IEDriverServer");
         WebDriver driver = new InternetExplorerDriver();
      }

    --启动Edge浏览器:

    1.控制台输入“ver”查看版本系统版本

    2.根据系统版本下载对应的driver:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

    3.启动浏览器,如图:

    /*
        *1、指定EdgeDriverServer.exe路径
        *2、new一个EdgeDriver 对象,启动浏览器   
    */
        @Test  
        public void openEdgeTest(){
         System.setProperty("webdriver.edge.driver",".\drivers\EdgeDriverServer");
         WebDriver driver = new EdgeDriver();
         }

    五、Selenium关闭浏览器

    1.关闭当前窗口

    driver.close();

    2.关闭所有窗口并退出

    driver.quit();

    public class PeixunDemo {
      private WebDriver driver;
      private String Url;
    
       /*
         * 创建ChromeDriver对象
         * 给Url赋值,启动谷歌浏览器
         * 关闭谷歌浏览器页面
         */
     @Test
      public void beforeTest() {
        driver= new ChromeDriver();
         Url = "https://www.baidu.com";
         driver.get(Url);
         driver.close();
        }
      }

       

    六、浏览器常用操作

    driver.navigate().back();//向前

    driver.navigate().forward();//向后

    driver.navigate().refresh();//当前页刷新

    driver.manage().window().maximize();//浏览器窗口最大化

    String title = driver.getTitle();//返回当前页面的

    TtileString currentUrl = driver.getCurrentUrl();//返回当前页面的url

    getWindowHandle()//返回当前的浏览器的窗口句柄

    getWindowHandles() //返回当前的浏览器的所有窗口句柄

    getPageSource() //返回当前页面的源

  • 相关阅读:
    Centos 系统常用编译环境
    Centos 8 阿里yum源配置
    Centos 7 端口聚合
    mount ,mkfs 工具详细说明
    linux sed命令介绍
    Curl获取相关数据
    linux磁盘读写性能监控
    单机转RAC,添加新节点
    AIX环境Java进程cpu瓶颈分析(转)
    linux系统安全之pam的介绍
  • 原文地址:https://www.cnblogs.com/-pyj/p/11733522.html
Copyright © 2011-2022 走看看