• selenium2 安装、简单使用及浏览器启动问题解决汇总


    一、selenium2 安装

    1.安装jdk并配置环境变量

        jdk需要1.6版本及以上的,这个从网上下载就可以,环境变量的配置前边的随笔整理过就不多说了。

    2.安装Firefox,Selenium IDE,Firebug和firepath

    (1)安装FireFox

        Firefox版本有一定限制,需要和selenium IDE相匹配。

       下载地址: http://www.firefox.com.cn/download/

    (2)安装Selenium IDE

        Selenium IDE是基于FIREFOX浏览器的一个插件,提供GUI界面来运行Selenium测试。Selenium IDE提供脚本录制和回放功能,可以将用户在浏览器中执行的操作记录下来,生成各种形式的脚本,可以将这些脚本保存供selenium使用。Selenium IDE主要是用在Selenium 1.0中,在Selenium 2.0中基本不使用。

       1)下载Selenim IDE 下载地址:http://seleniumhq.org/projects/ide/(官网封了!)csdn上下载的

       2)安装:直接把下载的Selenium IDE文件拖到FireFox浏览器窗口中,按提示操作即可安装成功。

    (3)安装Firebug

        1)打开Firefox浏览器

        2)点击菜单“工具(T)”,下拉列表中选择“附加组件”。

        3)“获取附加组件”

        4)在搜索里输入“firebug”,稍等即可。

        5)点击“添加至Firefox”

        6)OK,重启浏览器即可。

    (4)安装firepath

       1)打开Firefox浏览器

       2)点击菜单“工具(T)”,下拉列表中选择“附加组件”。

       3)“获取附加组件”

       4)在搜索里输入“firepath”,稍等即可。

       5)点击“添加至Firefox” 

       6)重启浏览器即可。

    3.安装eclipse

      安装eclipse,安装在默认安装目录下

    4。安装selenium webdriver

      首先声明selenium webdriver=selenium2=selenium1+webdriver 这个基础留到下一篇详细说明。

     (1)下载:官方UserGuide:http://seleniumhq.org/docs/(官网进不去,用下边地址)

              CSDN:  http://download.csdn.net/download/shingo0109/8183435

       2)下载:selenium-server-standalone-2.25.0.jar和selenium-java-2.25.0.zip(使用java语言的下载该包)。 

       3)解压下载的selenium-java-2.25.0.zip文件

    二、工具的简单使用

    1、 Selenium-IDE使用

    1)Firefox工具栏,打开Selenium-IDE插件,如下图:

    2)在“Base URL”中输入需要录制脚本的网址地址,然后点击界面中右上角红色录制按钮(开始录制、停止录制都是此按钮),如下图。

    3)录制完成后,点击回放按钮可以对刚刚录制的脚本进行回放,这里可以调整回放速度。 回放按钮就是上图中的绿色三角按钮。

    4)还可以将录制的脚本转换成C#,Java,PHP,Ruby,Prel,Groovy,Python等语言,如下图所示。转换完以后可以直接复制到Eclipse中使用,在Selenium 1.0中稍加修改就可使用,在Selenium 2.0则不能直接使用,只能手动编制。

    2、 Firebug的使用

    打开Firebug有两种基本的方法:

    1)当需要获取页面上元素的属性时,可以使用Firebug进行获取,例如下图所示输入框:

    获取方法:右击输入框,在菜单中选择“查看元素” 

    此时将会在页面下方出现该元素的属性,如下图所示:

    然后右击“编辑”后面的内容,在菜单中选择“复制xpath”,即可使用。

    2)Firebug也可以通过点击Firefox浏览器上的“工具”菜单->“Firebug”->“打开Firebug”进行打开。

    3、xpath checker的使用

    元素的属性还可以通过xpath checker来查看。对于上面百度输入框的属性可以通过右击并选择菜单中的“view xpath“按钮

    此时会打开如下窗口,“XPath”中的内容就是该输入框的属性,在下面会显示对应的元素。

    4、Selenium 2.0的使用

    1)在Eclipse里新建一个project,然后引用selenium-java-2.25.0.zip解压后的selenium-java-2.25.0.jar。

    2)新建一个package"test"

    3)在"test"包下新建一个class“Seleniumcn”把代码贴进去,如果代码没错误就可以运行了。

        因为selenium2支持多浏览器,这里只总结常用的三种浏览器。

      (1)用firefox浏览器执行测试,(如果firefox浏览器安装路径为默认路径,则代码如下)

    package test;
    import java.util.Set;

    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.firefox.FirefoxDriver;

    public class Seleniumcn {

        public static void main(String[] args) {

          //如果不是默认路径安装,需要先将firefox.exe配置到系统变量中去,如下:

         // System.setProperty("webdriver.firefox.bin", "D:\Program Files\Mozilla Firefox\firefox.exe");

         //解决url输不进去问题
       
     System.setProperty("javax.xml.parsers.DocumentBuilderFactory","com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");
          WebDriver driver = new FirefoxDriver();
          driver.get("http://www.baidu.com");
          WebElement element = driver.findElement(By.name("kw"));
          element.sendKeys("hello Selenium!");
          element.submit();
          try {
             Thread.sleep(3000);
          } catch (InterruptedException e) {
               e.printStackTrace();
          }
          System.out.println("Page title is: " + driver.getTitle());
          driver.close();
        }
    }

        (2)用IE浏览器执行测试,由于ie,chrome浏览器的driverServer是由他们自己管理的,我们需要下载相应的驱动,ie的为IEDriverServer.exe,注意区分32位和64位,使用方法如下:

         System.setProperty("webdriver.ie.driver", "src\main\resources\IEDriver.exe");

         WebDriver driver = new InternetExplorerDriver();
         driver.get("http://www.baidu.com");
         同样,如果ie不是默认路径安装需要配置bin路径到系统属性中去
         Tip:加载IEDriverServer的时候,通常会因为兼容模式的设置问题,而无法启动,尝试在创建IEDriver对象的时候 加入合适的参数设置:
          DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
         ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
         WebDriver driver = new InternetExplorerDriver(ieCapabilities);
    完整代码如下:

    package test;

    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.ie.InternetExplorerDriver;
    import org.openqa.selenium.remote.DesiredCapabilities;

    public class Seleniumcn {
        public static void main(String[] args) {
            System.setProperty("webdriver.ie.driver", "C:\Program Files\IEDriverServer.exe");
           //解决ie兼容模式设置导致无法启动问题
            DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
            ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
            WebDriver driver = new InternetExplorerDriver(ieCapabilities);
            driver.get("http://www.baidu.com");
            WebElement element = driver.findElement(By.id("kw"));
            element.sendKeys("hello Selenium!");
            element.submit();
            try {
               Thread.sleep(3000);
            } catch (InterruptedException e) {
                     e.printStackTrace();
           }
           System.out.println("Page title is: " + driver.getTitle());
           driver.close();
        }
    }

      (3)用chrome浏览器执行测试,这里只说下启动chrome浏览器。(需要下载驱动chromedriver.exe)

           System.setProperty("webdriver.chrome.driver", "C:\Program Files\chromedriver.exe");

           WebDriver driver = new ChromeDriver();
           driver.get("www.baidu.com");
     
     (4)启动浏览器的过程中,经常出现启动浏览器窗口,却没有完成输入url地址的情况,大部分由于版本不兼容造成的。
  • 相关阅读:
    toodifficult 题解
    Code Chef February Challenge 2019题解
    LOJ#3085. 「GXOI / GZOI2019」特技飞行(KDtree+坐标系变换)
    LOJ#3084. 「GXOI / GZOI2019」宝牌一大堆(递推)
    LOJ#3083. 「GXOI / GZOI2019」与或和(单调栈)
    LOJ#6046. 「雅礼集训 2017 Day8」爷(分块)
    LOJ#6045. 「雅礼集训 2017 Day8」价(最小割)
    LOJ#6044. 「雅礼集训 2017 Day8」共(Prufer序列)
    BZOJ4766: 文艺计算姬(Prufer序列)
    BZOJ3729: Gty的游戏(伪ETT)
  • 原文地址:https://www.cnblogs.com/wangcp-2014/p/4305439.html
Copyright © 2020-2023  润新知