个人对Selenium Web自动化的见解

一、Selenium简介

        我是从2016年接触的Selenium,Selenium是一个基于Web应用程序的测试工具。它提供了一系列测试函数,用于支持Web自动化测试,这些函数非常灵活,能够通过多种方式定位界面元素。

      它支持多种语言比如Java、Python、C#、Ruby、PHP等语言编写用例脚本。支持的浏览器包括IE、Firefox、Chrome等。

      我用的java编程语言写的测试用例脚本,本身对java有一定了解,使用的是Firefox浏览器,但是selenium对Firefox浏览器版本要求极高,我用的是selenium2,Firefox4.6版本,如果高于4.6版本的话,运行测试脚本的时候浏览器可能会有不兼容。

    1.先来说说Selenium工具组

      Selenium IDE

      Selenium1

      Selenium2

      Selenium Grid

      2.选择合适的Selenium工具

        一般都是从Selenium IDE开始,如果没有编程经验,可以通过Selenium IDE来快速熟悉Selenium的命令。

      其实不建议所有的自动化测试都使用Selenium IDE。为了有效的使用Selenium需要使用Selenium1或者Selenium2,并配合一种编程语言,自己创建并运行测试。

      Selenium2,我使用的就是Selenium2。Selenium2(WebDriver)提供了许多功能,包括一套组织性更好、面向对象的API,并克服了在之前Selenium1版本中测试的局限性。

二、辅助工具

    Selenium是Web测试工具在编写代码时会常与HTML打交道,同时还会使用大量的XPath表达式进行查询,所以掌握HTML和XPAth的使用很重要

1.FireBug

有了fireBug查看源码会简单很多,介绍一下FireBug的安装与使用

(1)打开FireFox,单击主菜单,选择“附加组件”,如图


个人对Selenium Web自动化的见解_第1张图片

(2)进入“获取附加组件”页面,在搜索文本框中输入firebug,单击搜索,如图


个人对Selenium Web自动化的见解_第2张图片

(3)安装结束后,就可以在目录中看到该组件,如果进入百度页,将鼠标光标放置搜索文本框中,单击鼠标右键,就可以选择“使用Firebug查看元素”。


个人对Selenium Web自动化的见解_第3张图片

2.Selenium IDE

有两种安装方式,一个是在官网上直接下载,如果使用的是Firefox浏览器,Firefox会自动识别为Firefox附加组件并进行下载。

官网地址:http://seleniumhq.org/download/;

另一种方式就是直接打开火狐浏览器,点击“打开菜单”->"附加组件"


个人对Selenium Web自动化的见解_第4张图片


在右侧搜索框中输入“Selenium IDE”,点击“查看全部25项结果”,

下拉找到“Selenium IDE”,点击“添加到FireFox”,并点击安装


个人对Selenium Web自动化的见解_第5张图片


安装完毕后点击重启火狐浏览器,至此便可在火狐浏览器菜单栏中查看到Selenium IDE工具条(百度经验上有详细的)。

三、编写测试用例

      前面介绍了Selenium IDE可以使用IDE录制测试脚本,对录制好的脚本进行编辑和修改,也可以在Java IDE中使用Selenium2来编写测试脚本。我使用的是intellij idea开发工具编写的Selenium测试脚本,引用Selenium的相关jar包进行使用。

     简单的介绍了一下Selenium,下面就开始编写第一个Selenium 测试脚本吧。

1.配置JDK环境变量

2.创建Java项目。

3..引用想关jar包。


在写脚本中,不止这些jar包,这里简单举例几个jar包,我用的的tesng测试框架,所以会用到testng.jar包。

4.选择浏览器开始测试。


个人对Selenium Web自动化的见解_第6张图片
用Java简单写了两个浏览器的调用方法。

5.可以使用元素定位的方法进行测试了。


个人对Selenium Web自动化的见解_第7张图片

下面还会陆续总结出Selenium+Jenkins+Testng+Ant+Report+截屏、元素定位、web端验证码登录等,在工作中所用到Selenium的相关知识,有不足之处还望多多包含,希望和我一样做测试的童鞋们一起学习和探讨自动化测试吧。

你可能感兴趣的:(个人对Selenium Web自动化的见解)