zoukankan      html  css  js  c++  java
  • Selenium自动化测试(java语言)

    Selenium介绍

    Selenium 1.0 包含 core、 IDE、 RC、 grid 四部分, 
    selenium 2.0 则是在两位大牛偶遇相互沟通决定把面向对象结构化( OOPP) 和便于编写代码的各自思想予以整合后形成的新工具,也就是我们所指的 Web Driver。

    Core 是 selenium 的核心,在后期虽然被封装,但只是减少了可视性,它依旧是驱动selenium 的核心;

    IDE 是一款 firefox 浏览器插件,主要用于新手或对编码还不熟悉的人员入门时使用, 这个插件允许在 firefox 中录制一段 web 操作代码,导出后在eclipse 中修改并运行, 但测试人员在项目实际使用中不推荐使用这个插件,因为它只会降低测试人员的编码能力;

    Web Driver 是开展 web 页面测试的关键核心,也是目前主流测试工具之一。Selenium 可以结合 Junit 使用,既可以进行单元测试,也可以开展集成测试,既是代码测试工具,也是功能测试工具,下面我们就工具的使用一步一步的入门。

    一、Java环境搭建步骤:

    步骤一: 下载并安装JDK 

    步骤二: 配置java系统环境变量 

    步骤三: 验证java环境

    为什么要配置系统环境变量: 
    配置 path 的系统环境变量,配置path的原因是让你可以在控制台编译、运行你的java程序而不必进入到java程序目录去运行,例如控制台命令:java -version,要执行此命令,控制台会先在当前目录找java.exe程序,找不到会去path变量中指定的路径去找此命令,如果没有找到就不会执行,java.exe是在java程序目录中的bin目录下,所以path才会配到java程序的bin目录;path可以说主要是为了方便,让你无论在哪个目录下都可以直接使用javac等命令,否则就只有到bin目录下执行javac和java命令了……

    另外我们可以在运行里直接打命令notepad打开一个记事本程序就也是path变量的作用,如果你把path变量删掉,这个notepad命令也就不起用了,原来可以在运行里运行的命令也都无效了: 
    配置 classpath 的系统环境变量,classpath变量通常是新建的变量。在编译、运行java程序时会在它指定的目录下去找你所要用到的class,也是先在本目录下找,然后在指定目录下找,都找不到就会报错了;classpath是为了方便使用java类库,如果以后用到第三方类库的话,你就有2中选择,可以也为他们配calsspath,或者把它们直接复制到你自己的class所在目录下

    配置 JAVA_HOME 的系统环境变量 

    打开我的电脑--属性--高级--环境变量 :

    变量名:JAVA_HOME   变量值:C:Program FilesJavajdk1.7.0

    变量名:CLASSPATH   变量值:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;

    变量名:Path  变量值:%JAVA_HOME%in;%JAVA_HOME%jrein;

    二、Selenium IDE安装使用步骤

    步骤一: Selenium官网下载Firefox插件SeleniumIDE.xpi

    步骤二: 插件拖入Firefox开始安装

    步骤三: Firefox工具栏打开seleniumIDE进行脚本录制

    步骤四: 录制脚本的回放与调试

    步骤五: 以指定语言保存录制脚本

    三、建立Selenium 自动化脚本的步骤:

    步骤一: 建立java工程 

    步骤二: 向建立好的java工程添加 Selenium-server-standalone.jar包 

    步骤三: 建立浏览器驱动对象 WebDriver driver = new FirefoxDriver(); 

    步骤四: 打开WEB页面 driver.get("http://www.baidu.com");

    步骤五: 页面元素的操作 driver.findElement(By.linkText("登录")).click(); 

    补充:Chrome和IE浏览器需要在第四步后设置浏览器驱动路径 System.setProperty(key,args);

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

    向Java工程中添加jar包有多种方式:

    1、新建一个java空工程,然后将我们下载好的selenium编程需要的jar包拷贝至工程下面,右键单击selenium-server-

    standalone.jar>点击Build path>点击add to Build path添加进工程

    2、右键java工程->Properties->Java Build Path->Libraries->Add External JARs…

    3、右键java工程->Build Path,选择操作即可

    image

    image

    四、元素定位与操作

    1. 元素的定位 
    Selenium自动化,我们需要做的最基本的事情就是在页面找到元素并通过脚本程序去操作这个元素,实现模拟人工操作。

    我们有多种定位元素的方式可以选择:


    通过元素的ID定位元素: findElement(By.id(element));

    通过元素的名称定位元素:  findElement(By.name(element)); 

    通过元素的html中的位置定位元素:   findElement(By.xpath(element));

    通过元素的标签名称定位元素:    findElement(By.tagName(element));

    通过元素的链接名称定位元素:    findElement(By.linkText(element));

    通过元素的类名定位元素:   findElement(By.className(element));

    通过元素的css定位元素:   findElement(By.cssSelector(element));

    通过元素的部分链接名称定位元素:   findElement(By.partialLinkText(element));

    2. 元素的操作 
    不同的元素我们进行不同的操作,按钮的点击、输入框的字符输入、或者是元素的内容获取,不同的元素我们操作的方式不一。 
    对ID为element的元素进行点击操作: driver.findElement(By.id(element)).click(); 
    对ID为element的元素进行发送字符操作: driver.findElement(By.id(element)).sendKeys(“XXXXXX”);

    这里只举用的最多且最简单的的两例元素的操作,其实我们还有许多的操作,可以去慢慢的探索脚本的实现方式,比如页面title的获取、浏览器标签的切换等等

    可参考:

    和我一起学 Selenium WebDriver(1)——入门篇  https://my.oschina.net/dyhunter/blog/94090

  • 相关阅读:
    intel Skylake平台安装WIN7
    复杂表单
    sqlalchemy的cascades
    新版mysql 5.7的group_by非常不和谐
    sqlalchemy使用tip
    sql分组数据去重
    flask-sqlalchemy relationship
    老笔记本装xubuntu+win7
    [leetcode]Reorder List
    [leetcode]Insertion Sort List
  • 原文地址:https://www.cnblogs.com/blueskylcc/p/6094420.html
Copyright © 2011-2022 走看看