1.Selenium IDE介绍
Selenium IED (Integrated Development Environment),是Selenium工具套件中的一个组件,是用于开发Selenium测试用例的工具,它可以通过录制回放功能创建测试脚本。官方对于它的定位是:快速地创建bug重现脚本以帮助测试开发人员更容易地重现bug。简单的来说seleniumIDE就像一个记录操作步骤的机器人,在你需要的时候它可以按照记录的步骤重新执行一遍,这就是脚本录制。
seleniumIDE作为selenium1.0的套件之一,在selenium2.0(乃至selenium3.0)中都是及其重要的一员,它在web页面脚本录制过程中起着不可替代的作用。
Selenium IDE在创建测试时支持自动完成模式。此功能有两个用途:
- 它可以帮助测试员更快地输入命令。
- 它限制用户输入无效命令。
2.Selenium IDE安装
可以在Chrome或Firefox浏览器的附加组件中找到Selenium IDE插件并进行安装。以Chrome浏览器为例,查找selenium,就会出现Selenium IDE插件
如果找不到也可以进入官网进行下载安装:Selenium IDE · Open source record and playback test automation for the web
3.Selenium IDE的功能介绍
单击Selenium IDE插件图标,如下所示
创建一个新的项目:点击 create a new project,输入项目名称后,可以创建一个测试项目,如下所示
在导航面板可以选择Tests和Test suites,Tests是用来创建测试用例,而Test suites是用来创建测试套件,在Test suites可以把Tests里面的测试用例加入到Test suites中。
工具栏从左至右依次是:全部运行、运行、调试、速度控制。全部运行:在加载具有多个测试用例的测试套件时运行整个测试套件。运行:运行当前选中的测试用例。调试:通过一次运行一个命令来“逐步”通过一个测试用例。速度控制:控制测试用例运行的速度。
测试用例面板分为两个部分,上面记录测试用例每一步的具体操作,下面则是每一步操作的详细内容。
Command:命令
Target:对象
Value:值
Comment:注释。
控制台面板包含两个部分,Log和Reference。Log是记录测试用例的运行情况,比如成功还是失败。Reference会显示当前命令的一下相关信息,比如名称、描述、该命令接受的参数以及这些参数的细节。
4. Selenium IDE的使用
4.1 录制
1) 打开Chrome浏览器,打开Selenium IDE插件。
2) 在导航面板新建一条测试用例,然后在地址栏输入需要测试的域名,点击开始录制按钮,在进行录制的时候,seleniumIDE会打开一个新窗口,如下所示。
3) 对被测系统进行操作,注意:Selenium IDE会记录被测页面所有的操作,因此在录制过程中要减少不必要的操作。
4) 停止录制,保存测试用例。先保存test case,再保存test sutie。
5) 运行测试用例。运行单个测试用例,点击按钮;运行整个测试套件,点击按钮,回放之后(也可以调整执行的速度),每个测试脚本名称会有字体背景着色,表示执行成功或失败,绿色表示“成功”,红色表示“失败”。
6) 查看测试结果。查看test case视图最下面的测试总结,runs:执行的测试用例数;falures:执行失败的测试用例数。在Log会显示每条用例运行的具体日志。
4.2 修改测试用例
如果需要对已生成的脚本内容进行完善,单击脚本区域中3个竖排的小圆点,就会弹出一个快捷菜单,可以使用这个快捷菜单,对生成的脚本执行剪切、复制、粘贴、删除等基本操作。
Insert new command:测试用例中插入新的命令,以便对页面进行不同操作或验证。
Clear all commands:清除当前测试用例中的所有命令,从头开始录制新的操作。
Toggle breakpoint:在测试用例中设置断点,当执行测试用例时,程序会在断点处停止,使之可以逐步调试测试用例。
Play to this point:在测试用例中选择从当前位置开始执行测试用例
Record from here:从当前位置开始重新录制测试用例
Play from here: 从当前位置开始执行测试用例
4.3 设置等待
在录制过程中,遇到提交操作或者是页面跳转操作,可能页面加载会比较慢,我们需要
设置等待,通过pause命令设置,使用方法:pause 时间(毫秒)
4.3 设置断言和验证
运行一个test case后,实际的结果可能有很多,我们期望的可能只有一种,那就需要使用断言来帮我们验证case的结果是否正确。在IDE里,提供两种命令:assert和verify。
assert :assert(断言)失败后,测试用例停止运行。
verify:verify(验证)失败后,测试用例将继续执行,并将错误记入日志显示屏。
4.4 Selenium IDE的命令关键词
命令关键词 | 简要说明 |
add selection | 用来增加选项 |
answer on next prompt | 通知Selenium返回下一个提示,提示信息为提示符指定的答案字符串 |
assert | 断言,检查变量是否为预期值。如果断言失败,测试将停止 |
assert alert | 断言,确认提示信息中包含指定的文本。如果断言失败,测试将停止 |
assert checked | 断言,确认指定的元素已被选中。如果断言失败,测试将停止 |
assert confirmation | 断言,确认出现指定的文本信息。如果断言失败,测试将停止 |
assert editable | 断言,确认目标元素是可编辑的。如果断言失败,测试将停止 |
assert element present | 断言,确认目标元素存在于页面上的某处。如果断言失败,测试将停止 |
assert element not present | 断言,确认目标元素不在页面上的任何地方。如果断言失败,测试将停止 |
assert not checked | 断言,确认目标元素没被选中。如果断言失败,测试将停止 |
assert not editable | 断言,确认目标元素不可编辑。如果断言失败,测试将停止 |
assert not selected value | 断言,确认下拉元素中所选选项的value属性不包含提供的值。如果断言失败,测试 将停止 |
assert not text | 断言,确认元素的文本不包含指定的值。如果断言失败,测试将停止 |
assert prompt | 断言,确认已呈现JavaScript提示。如果断言失败,测试将停止 |
assert selected value | 断言,确认下拉元素中所选选项的value属性包含指定的值。如果断言失败,测试 将停止 |
assert selected label | 断言,确认下拉菜单中所选选项的标签包含指定的值。如果断言失败,测试将停止 |
assert text | 断言,确认元素的文本包含指定的值。如果断言失败,测试将停止 |
assert title | 断言,确认当前页面的标题包含提供的文本。如果断言失败,测试将停止 |
assert value | 断言,确认输入字段的(空白修饰)值(或其他带有value参数的值)。对于复选框 /单选按钮元素,根据是否选中元素,元素值为on或 off。如果断言失败,测试将停止 |
check | 针对单选框或复选框,切换选择 |
choose cancel on next confirmation | 通知Selenium返回下一个提示时返回取消信息 |
choose cancel on next prompt | 通知Selenium返回下一个提示时执行取消操作 |
choose ok on next confirmation | 通知Selenium返回下一个提示时执行确认操作 |
click | 单击目标元素 |
click at | 根据坐标单击目标元素。这里的坐标主要相对于目标元素而言,例如,(0,0)表示元 素的左上角 |
close | 关闭当前窗口 |
debugger | 中断执行并进入调试器 |
do | 创建一个至少执行一次命令的循环 |
double click | 双击目标元素 |
double click at | 根据坐标双击目标元素。这里的坐标主要相对于目标元素而言,例如,(0,0)表示 元素的左上角 |
drag and drop to object | 拖动一个元素并将其拖放到另一个元素上 |
echo | 将指定的消息显示到Selenese表中的第三个单元格中,这对于调试很有用 |
edit content | 设置内容可编辑的元素的值,就像键入的一样 |
else | if块的一部分。如果不满足if和/或else if条件,请在此分支执行命令 |
else if | if块的一部分。如果不满足if条件,请在此分支执行命令 |
end | 终止控制流块,if、while等语句的结束标志 |
...... | ...... |
5.导出
在左边测试用例的选项,有一个三个点的按钮,点击可以出现这样的一个下拉菜单,其中有个按钮为
Export,点击这个按钮即可导出对应的代码,得到 java(或者python)的目标代码。
导出的代码如下