• Selenium  IDE:它是使用Javascript 脚本语言与CS端的DOM对象进行交互,并且为修改测试用例提供了接口。录制功能是它最大的亮点,录制功能可以让测试人员对需要进行测试的功能流程进行录制并保存操作过程,由此使得测试用例的回放可以完全模拟操作过程;除此之外,还有相应的校验接口,方便了测试人员对于测试的期望值与实际值之间进行验证比较。
  • 安装Selenium  IDE 

a:安装Mozilla Firefox浏览器(41版本),   Mozilla Firefox下载网址:https://www.mozilla.org/firefox

b:下载Selenium  IDE:网址:http://docs.seleniumhq.org/download/(备注:插件是以xpi为扩展名的文件)

c:安装Selenium  IDE:若使用Mozilla Firefox浏览器下载Selenium  IDE,下载后会自动安装,若是其他浏览器则应该将xpi文件直接拖入某个打开的FireFox浏览器的页面进行安装。

d:Selenium  IDE安装完成:在Tools菜单中出现Selenium  IDE的选项单击Selenium  IDE则会出现Selenium  IDE的主界面,那么代表Selenium  ID安装完成。同样使用浏览器工具栏上的快捷键按钮来启动也可。

  • Selenium  IDE界面

Base URL:被测系统的最初URL地址;

工具栏:从左向右依次为执行速度,执行多次测试用例,      执行单个测试用例,暂停执行,单步执行;

录制触发:录制需要测试的功能流程,后续可用于回放;

测试用例(test  case):用于列举出所有的测试用例集合;

测试步骤:列出每一个测试用例所有的执行步骤

Command:下拉框会显示所有的命令,可以自动补齐或者下拉框选择命令。

Target:用于输入定位网页元素的表达式(Find:在Target文本框在输入某个网页元素的定位语句之后,可以点击Find按钮在网页中查找并高亮该元素)

Value:用于输入数值。

信息栏

Log:显示测试运行过程中相关的日志信息;

Reference:显示 Command的相关信息;

UI-Element:显示实际的UI元素的映射信息;

Rollup:(Rollup将一系列Selenium  IDE中可以用的命令打包起来)显示Rollup的规则信息;

  • 第一个测试用例

a:用Mozilla Firefox浏览器打开百度的主页:http://www.baidu.com;

b:在Mozilla Firefox浏览器的Tools菜单中打开Selenium  IDE;

c:点击Selenium  IDE上的录制触发按钮,开始录制测试用例;

d:在百度的主页上的搜索框中输入Selenium  IDE,并点击‘百度一下’,进行搜索;

e:在搜索结果页面上单击鼠标右键并选择assert-Text;

f:点击Selenium  IDE上的录制触发按钮,停止录制。

g:点击在Selenium  IDE页面上的工具栏执行单个测试用例:来回放已经录制好的测试用例;(回放完若无BUG产生,则Test Case栏:最下方runs:1;failures:0;Table栏:所有测试用例的执行步骤均为绿色,且assert语句为高亮深绿色;Log栏:显示执行日志信息;Reference栏:显示单个Command的参考信息)

  • 添加新的Command到当前已录制的测试用例

a:选中需要在后面添加Command的那一个测试步骤

b:打开录制触发按钮,操作网页完成动作

c:再次点击录制触发按钮以结束录制,此时新的动作将会添加到Command执行列表中。

  • 存储页面信息:临时存储页面上的信息,并在后续的过程中使用,方法有store,storeValue,storeText。

a:打开已有的测试用例;

b:选择测试用例的最后一行步骤;

c:单击鼠标右键,弹出菜单,选择Insert new command;

d:添加storeText命令并存储相应的文本信息;

e:重复bcd三个步骤至Insert new command并添加echo命令来打印该存储变量storeText的文本信息

f:结果是运行日志中出现了echo命令的打印信息,storeText的文本信息是Selenium  IDE

  • 与异部Javascirpt和XML(AJAX)进行交互(备注:在浏览器和web服务器之间使用异步数据传输HTTP请求,好处是可以使得网页从服务器请求少量的信息,但是也由此导致了测试时没有得到需要的数据结果而无法正常执行下一步)

以autcomplete为例进行测试,网址为http://jqueryui.com/autcomplete/ 这个demo(模型)的功能就是在Tags输入框输入英文首字母,就会自动弹出备选编程语言列表,之后用户就可以通过鼠标选中列表中的字段自动填充到Tags中。

使用Selenium  IDE完成该测试用例:

a:启动Selenium  IDE并点击录制触发按钮;

b:打开待测试页面;

c:录制的测试用例步骤如图,其中waitForTest就是为了解决AJAX的问题而采用的。(注:新版本中有一些旧的命令不支持,如waitForTestPresent现为waitForTest,通过查看reference就可以看到相关的信息,不再支持的命令会被标注出来)

  • 处理多窗口:通过在测试用例的步骤中使用各种命令的组合和临时变量可以操作多个浏览器之间的监控,

百度谷歌浏览器之间切换测试:在此例中必须确保在火狐中允许打开pop_up窗口且百度主页的地址中允许pop_up窗口的弹出,且此用例中百度主页是第一窗口,通过pop_up窗口打开第二个窗口,

a:在Selenium  IDE中打开百度主页,storeTitle命令用于将百度主页的命令保存到变量中并在后续步骤中使用它,同时定义了加载百度主页的活动窗口为父窗口,open—window窗口会在新pop_up的窗口中打开谷歌主页,并通过pause命令将Selenium  IDE暂停5秒,是新pop_up的窗口有充足的时间加载谷歌主页;

b:操作新pop_up的窗口,此时不可以对新窗口进行操作。首先通过selectwindow命令将新窗口选中,定义这个加载谷歌主页的活动窗口为子窗口。

c:单击谷歌主页上的Image链接如果此时需要在父窗口上添加什么操作,那么需要将当前活动页面的标题变量用j保存起来,这样可以在后续再次找到这个子窗口进行操作;

d:通过selectWindow${i}选中父窗口,也就是之前加载了百度主页的窗口,继而打击‘图片’链接;

e:选中子窗口google Image并关闭该窗口,在选中父窗口‘百度图片’并关闭该父窗口;(备注:为了可以在多个浏览器之间自由切换,必须要先保存当前活动窗口的标题)

  • RoLLup命令:将一系列的Selenium  IDE中可以用的命令封装到一起,作用是为测试用例减肥。

在Selenium  IDE中使用用户自定义的扩展文件:

a:单击Selenium  IDE是Option菜单;

b:打开General界面(Default timeout:默认情况下,数值为30000ms,它的大小影响Selenium  IDE中脚本的执行时间,但此数值可以自行调整,如果某个命令的执行时间超时,在日志中会报错:[error] Time out after 30000ms;Selenium  Core extensions:用户可以根据需求扩展Selenium  IDE的功能,方法就是引入用户自定义的扩展文件,即:user-extension.js,且必须以js为扩展名的文件,单击Browser 按钮并选中需要添加的用户扩展文件即可,随后重启Selenium  IDE,否则扩展功能不能生效;Selenium  IDE extension:用于添加数据文件,只可以解析以js为扩展名的文件,添加完之后也要重启;Remember base URL:base URL 会记住最近一次使用的网址链接;Record assertautomatically:在浏览网页时,Selenium  IDE会自动添加‘assertTitle’命令到测试脚本的步骤中;Record absolute URL:Selenium  IDE会记住网页的绝对路径,如以http/https开头的链接地址;Start recordimmediately on open:Selenium  IDE每次开启就会自动打开录制功能),添加用户自定义扩展文件;

c:接下来的案例要用到的自定义扩展文件的user-extension.js(

登录网易126邮箱:http://www.126.com

用户名:seleniumiderollup

密码:rollup

)代码如下:

Var manager = new RollupManager();

Manager.addRollupRule({

name:'logincommands',

args:[],

commmandMachers:[],

getExpandedCommands:function(args){

Var commands = [];

command,push({

command:'open',

target:'http://www.126.com/'//120邮箱地址的URL})

comman.push({

commad:'type',

target:'id = idinput',//用户名输入框的id

value:'seleniumiderollup'});

comman.push({

commad:'type',

target:'id = pwinput',//用户名输入框的id

value:'rollup 123'});

comman.push({

commad:'type',

target:'id = idinput',//密码输入框的id

value:'seleniumiderollup'});

comman.push({

commad:'clickandwait',

target:'id = loginBtn',//登录按钮的id

value:'seleniumiderollup'});

return commands;}});

在Selenium  IDE主界面添加rollup命令:

a:command选择rollup命令;

b:Target栏选择logincommands,该规则通过RollupManager添加。

SeleniumIDE初级入门的更多相关文章

  1. 响应式Web初级入门

    本文来自我的前端博客,原文地址:http://www.hacke2.cn/about-responsive/ 跨终端时代的到来 当你乘坐各种交通工具(公交.地铁.轻轨.火车)时你会发现,人们都个个低下 ...

  2. Sping AOP初级——入门及简单应用

    在上一篇<关于日志打印的几点建议以及非最佳实践>的末尾提到了日志打印更为高级的一种方式——利用Spring AOP.在打印日志时,通常都会在业务逻辑代码中插入日志打印的语句,这实际上是和业 ...

  3. Linux初级入门(第一次作业)

    Linux初级入门 在本科期间学过一些Linux的简单命令,再次接触Linux不仅巩固了知识还学习到了很多新的东西. 什么是操作系统? 操作系统,英文名称Operating System,简称OS,是 ...

  4. Spring AOP初级——入门及简单应用

      在上一篇<关于日志打印的几点建议以及非最佳实践>的末尾提到了日志打印更为高级的一种方式——利用Spring AOP.在打印日志时,通常都会在业务逻辑代码中插入日志打印的语句,这实际上是 ...

  5. Linux初级入门(一)

    Linux是一种开源电脑操作系统内核,它是一个用C语言写成,符合POSIX标准的类Unix操作系统.Linux最早是由芬兰黑客 Linus Torvalds为尝试在英特尔x86架构上提供自由免费的类U ...

  6. hadoop入门手册5:Hadoop【2.7.1】初级入门之命令:文件系统shell2

    问题导读 1.改变hdfs文件的权限,需要修改哪个配置文件?2.获取一个文件的或则目录的权限,哪个命令可以实现?3.哪个命令可以实现设置访问控制列表(ACL)的文件和目录? 接上篇:Hadoop[2. ...

  7. hadoop入门手册4:Hadoop【2.7.1】初级入门之命令:文件系统shell1

    问题导读1.Hadoop文件系统shell与Linux shell有哪些相似之处?2.如何改变文件所属组?3.如何改变hdfs的文件权限?4.如何查找hdfs文件,并且不区分大小写? 概述文件系统 ( ...

  8. hadoop入门手册3:Hadoop【2.7.1】初级入门之命令指南

    问题导读1.hadoop daemonlog管理员命令的作用是什么?2.hadoop如何运行一个类,如何运行一个jar包?3.hadoop archive的作用是什么? 概述 hadoop命令被bin ...

  9. Spring Cloud实战之初级入门(六)— 服务网关zuul

    目录 1.环境介绍 2.api网关服务 2.1 创建工程 2.3 api网关中使用token机制 2.4 测试 2.5 小结 3.一点点重要的事情 1.环境介绍 好了,不知不觉中我们已经来到了最后一篇 ...

随机推荐

  1. The error occurred while setting parameters--索引 3 超出范围 sqlserver2008

    这个问题不是jar包冲突,是表的问题,表里的ID设置成自动增加1,就可以了!

  2. 生成freemarker静态页面的工具类

    package cn.bocai.pc.util; import java.io.BufferedWriter;import java.io.File;import java.io.FileOutpu ...

  3. Windows xp IIS显示403错误解决方案

    XP的IIS很烦人,很多限制. 最近一客户用XP安装IIS,总提示:403.9 错误 连接的用户过多 解决方案: 1)安装IIS配置工具 下载地址:http://download.microsoft. ...

  4. C#禁止程序重复启动

    采用线程互斥锁Mutex,在winform程序的主入口点中加入如下代码,将程序改为单实例运行. static class Program { /// <summary> /// 应用程序的 ...

  5. My Package

    一.新建一文件夹,名称为MyBase,存放Java的基本类. 二.在MyBase包中创建基本类Base.java. package MyBase; public class Base { public ...

  6. PLSQL 逻辑多线程

    PROCEDURE get_sheetid(i_topic IN VARCHAR2, o_newsheetid OUT VARCHAR2) IS    PRAGMA AUTONOMOUS_TRANSA ...

  7. [家里蹲大学数学杂志]第049期2011年广州偏微分方程暑期班试题---随机PDE-可压NS-几何

    随机偏微分方程 Throughout this section, let $(\Omega, \calF, \calF_t,\ P)$ be a complete filtered probabili ...

  8. web.xml 文件配置01

    web.xml 文件配置01   前言:一般的web工程中都会用到web.xml,方便开发web工程.web.xml主要用来配置Filter.Listener.Servlet等.但是要说明的是web. ...

  9. xml中数据存储 <![CDATA[ … ]]>

    在xml中  有些可能是 转义的字符  比如像<等  &符号,  你没发现 在加参数后面要进行转义 写成&#26: 可以是&  但是每处都要 这么写.  在未来不可控的 ...

  10. Sql语句查看表结构

    快速查看表对的就说明,及表字段描述及字段类型 --表描述 SELECT tbs.name 表名,ds.value 描述 FROM sys.extended_properties ds LEFT JOI ...