Selenium私房菜系列4 -- Selenium IDE的使用
(转自http://www.cnblogs.com/hyddd/archive/2009/05/24/1487967.html)
前面说过,Selenium IDE是Firefox的一个插件,是可以进行脚本录制以及案例转换,所以Selenium IDE+Firebug会成为你日后写测试案例的两大助手(IE下可以使用Selenium Core+IEDevelperToolBar)。
Selenium IDE下载:http://seleniumhq.org/download/
Firebug下载:https://addons.mozilla.org/firefox/addon/1843
下面将演示Selenium的使用:
1.安装Selenium IDE,Firebug。
2.启动Selenium IDE:

IDE启动后,弹出如下对话框:

上图标明了一些Selenium IDE的主要功能。其中,由Command,Target,Value组成的表格就是脚本,每个脚本都是由一条一条的Action(行为)组成,而每个Action又由(Command,Target,Value)三者组成。Command就是上文《API参考手册》提到的内容,Target指的是Web中的某个对象,比如:文字,输入框等等,如果选取对象呢?呵呵,这里就用到了XPath,不熟悉可以参考《XPath的使用》,而Value就是这个对象的值。
3.脚本的录制及运行
当弹出上面的IDE窗口后,我们就可以开始Selenium的脚本录制了,右上角有个红色的圆点,当它下按时(如上图)就表示IDE正在进行脚本录制。OK,开始录制,录制的时候,直接操作Firefox浏览器窗口就可以了,IDE会自动记录你的操作的,下面我演示一个例子:



上图例子中,我的操作步骤如下:
(1).在地址栏输入:http://www.baidu.com/
(2).登陆百度首页后,在查询框输入“hyddd”。
(3).按“百度一下”按钮
(4).进入搜索结果页面后,右键单击第一条记录(即:hyddd - 博客园),在右键弹出菜单中,单击“Verify TestPersent hyddd - 博客园”。
(5).单击第一条记录(即:进入hyddd - 博客园)
(6).Firefox弹出一个新Tab页面,并进入了我的博客。
OK,现在看看我们的Selenium IDE录制的结果吧:>

上图中,中间的表格就是录制的结果,你可以按“运行脚本”重新回放脚本看看,值得注意的是,在运行时,Firefox可能会认为脚本中最后一个操作(即:步骤6)为非法弹出框,浏览器会自动阻止其弹出,这个需要设置一下Firefox,具体位置是:Firefox->Menubar->Tools->options->content->Block pop-up Window,你可以把钩去掉或者在Exceptions里面添加相应的网址。
恩,到此为止,脚本录制圆满完成:>
在运行脚本后,你会发现IDE表格的颜色发生了变化,运行前,脚本表格为白色,成功运行完毕后,表格为青色,其中还分为深青色和浅青色两种,浅青色表示:动作成功,如:打开网页成功,点击按钮成功等等,而深青色表示:判断正确,如:“hyddd - 博客园”这段文字在页面中存在等等。
看完正确,现在我们看看出错时的情况吧。

出错时,表格可能会出现两种颜色,一种是浅粉红色,一种是深粉红色。浅粉红色表示判断结果为false,这种情况案例还是会继续执行下去,判断的失败不会影响案例的运行,深粉红色表示动作失败,如:没有找到按钮等(如上图),这种情况下案例会停止运行。
4.Selenium IDE其他的重要功能
本文开始时提到了,Selenium IDE还有一个重要的功能就是把脚本的转换,一起看看吧:>


Selenium IDE可以把HTML的脚本转为C#,JAVA等等其他语言的脚本,为我们日后写Selenium RC的测试案例提供了极大的方便。
Selenium私房菜系列4 -- Selenium IDE的使用的更多相关文章
- Selenium私房菜系列1 -- Selenium简介
一.Selenium是什么? Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,本系列现在主要包括以下4款: 1.Selenium Core:支持DHTML的测试案 ...
- Selenium私房菜系列9 -- Selenium RC服务器命令行参数列表【ZZ】
本文转载自:http://wiki.javascud.org/display/SEL/Selenium+Remote+Control+-+options 使用示例: java -jar seleniu ...
- Selenium私房菜系列3 -- Selenium API参考手册【ZZ】
大家在编写测试案例想查阅Selenium API说明时,可以查阅本文,否则请跳过! (注:这里API版本比较老,新版本的Selenium的API在这里不一定能找到.) Selenium API说明文档 ...
- Selenium私房菜系列--总章
前言 在这段期间,我一直在找关于服务器的端测试方案,自动化工具等等,无意间我发现了Selenium这个工具.在试用一段时间后,觉得Selenium确实是一个很不错的Web测试工具.在和强大的QTP比较 ...
- Selenium私房菜系列10 -- 我遇到的问题及解决问题的方法
Selenium私房菜系列10 -- 我遇到的问题及解决问题的方法
- Selenium私房菜系列9 -- 我遇到的问题及解决问题的方法
Selenium私房菜系列10 -- 我遇到的问题及解决问题的方法
- seleniums私房菜系列一 ---- selenium简介
一.Selenium是什么? Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,本系列现在主要包括以下4款: 1.Selenium Core:支持DHTML的测试案 ...
- Selenium私房菜系列5 -- 第一个Selenium RC测试案例
<Selenium简介>中讲过,Selenium RC支持多种语言编写测试案例,如:C#,Python.在工作中,我倾向于是用Python这类动态语言编写测试案例,因为这样的测试案例无需编 ...
- Selenium私房菜系列7 -- 玩转Selenium Server
本篇主要是想更进一步介绍Selenium Server的工作原理,这次我们从Selenium Server的交互模式开始. 在<第一个Selenium RC测试案例>中,我们以命令“jav ...
随机推荐
- Android-Java-了解编译
在多年以前,计算机早期的运行方式是 01010100 ....., 这种方式的时候,开发人员编写代码是把01010101/01100101/01010111 ..... /来汇编写代码,这种方式特别痛 ...
- WebApi使用JWT认证(一)
这是第一部:先实现NetFramework上的WebApi使用JWT认证 1.VS新建一个WebApi项目 2.项目右键----管理Nuget程序包----找到JWT,然后安装 3.Model文件夹下 ...
- BCP 基本语法
copy from:http://msdn.microsoft.com/zh-cn/library/ms162802.aspx bcp [database_name.] schema.{table_n ...
- [翻译]NUnit---TearDown and SetUpFixture and Test Attributes(二十)
TearDownAttribute (NUnit 2.0 / 2.5) 本特性在TestFixture内部使用,每个测试方法执行后调用的方法集.也可以在SetUpFixture中使用,在同一命名空间或 ...
- 在AbpZero中hangfire后台作业的使用——hangfire的调度
在abpzero框架中,hangfiire通过依赖注入来进行接口的调用 hangfire的事件处理分为以下几种: 1.基于队列的任务处理(Fire-and-forget jobs) var jobId ...
- wpf 右下角弹出窗
自己写的wpf 弹出框,欢迎拍砖,动画都写在了后台代码,前台代码不太重要,用了一下iconfont,具体样式我就不贴出来了,本次主要是后台代码的动画 需要有父级窗口才可以使用. 前台代码: <W ...
- 《Python黑帽子:黑客与渗透测试编程之道》 Windows下木马的常用功能
有趣的键盘记录: 安装pyHook: http://nchc.dl.sourceforge.net/project/pyhook/pyhook/1.5.1/pyHook-1.5.1.win32-py2 ...
- webpack快速入门——CSS进阶:消除未使用的CSS
使用PurifyCSS可以大大减少CSS冗余 1.安装 cnpm i purifycss-webpack purify-css --save-dev 2.引入glob,因为我们需要同步检查html模板 ...
- windows系统上安装与使用Android NDK r5
windows系统上安装与使用Android NDK r5 很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...
- POJ 1014
#include<iostream>#include<stdio.h>#define num 6using namespace std; bool DFS(int i,int ...