第 2 章 Selenium IDE 的使用
Selenium IDE,官方给出的一个总结是:「针对 Web 自动化的一种录制回放型的解决方案。」它提供了很简洁的录制流程,初学者非常容易上手。
最新的Selenium IDE支持Chrome和Firefox浏览器。
2.1 Selenium IDE 介绍
相信很多初学 Selenium 的同学都接触过 Selenium IDE。该工具完全图形化操作,不但支持录制,还可以将录制脚本导出生成其他编程语言的脚本(如 Java、Python 等)。
Selenium IDE 是一款基于浏览器的插件,早期版本只支持 Firefox 浏览器,但从 3.x 版本之后,Selenium IDE 需安装插件才可以导出脚本。本章仅介绍 Selenium IDE 的常用功能。
2.1.1 Selenium IDE 的安装步骤
(1)先安装 Firefox,Firefox(47.0.2 版本)的官网下载地址为「http://ftp.mozilla.org/pub/firefox/releases/47.0.2/win64/zh-CN/」。
(2)再安装 Selenium IDE,Selenium IDE(2.9.1 版本)的官网下载地址为「https://docs.seleniumhq.org/projects/ide/」。
参考资料:https://www.pianshen.com/article/99851299291/
Selenium IDE 2.9.1 版本,兼容小于等于56版本的火狐浏览器
安装完成后,在浏览器的菜单栏中选择「工具 →Selenium IDE」选项,如图 2.1 所示。Selenium IDE 的图形化界面如图 2.2 所示。
图2.1
图2.2
(3)Chrome_86.0.4240安装selenium-ide.zip(v3.17.0)
3.1 先下载zip格式并解压 Selenium IDE · Open source record and playback test automation for the web
3.2 拓展程序——>开发者模式——>加载已解压的拓展程序
2.1.2 Selenium IDE 的功能界面与工具栏介绍
Selenium IDE 主界面区域介绍如图 2.3 所示。
常用工具栏介绍如下。
2.1.3 Selenium IDE 脚本介绍
本节介绍录制脚本和增强脚本的方法。录制脚本的步骤如下。
(1)打开百度首页(https://www.baidu.com)。
(2)在首页单击「新闻」超链接。录制结束,录制界面如图 2.4 所示。
(3)脚本展示区有 2 行数据,第 1 行显示 Commands 值为「open」,Target 值为「/」;第 2 行显示 Commands 值为「clickAndWait」,Target 值为「link= 新闻」。
(4)脚本保存名为「se_ide1」,并且左下角「Runs,Failures」统计值显示,脚本回放成功。
图 2.4
增强脚本,以单击「热点要闻超链接」为例,步骤如下:
(1)验证新闻主页面的元素,超链接「热点要闻」。
(2)添加 assertText 要素到之前录制的脚本中,如图 2.5 中箭头所示,添加的 Command 是「assertText」;Target 是「link= 热点要闻」;Value 是「热点要闻」。这说明此时的检查点设置是检查页面「热点要闻」字符串。如果有,则检查通过,脚本继续执行;如果没有,则检查未通过,脚本停止执行。如图 2.5 所示的执行日志显示,脚本执行和检查点检查都成功了。
图 2.5
2.1.4 waitforText、assertText 和 verifyText 命令讲解
waitforText:从字面意思上理解,就是用来判断指定文本是否在页面上显示。如果显示,脚本继续执行;如果等待一段时间后,没有显示指定文本,则标记脚本执行失败,但测试脚本会继续执行。
assertText:表示在执行测试时,判断页面上的文本是否与期望显示的文本相同。如果相同,则测试脚本会继续执行;如果不同,则标记脚本执行失败,且脚本后续部分不会继续执行。
verifyText:表示在执行测试时,判断页面上的文本是否与期望显示的文本相同。如果相同,则测试脚本会继续执行;如果不同,则标记脚本执行失败,而脚本后续部分会继续执行。
2.1.5 通过实例讲解 storeTitle 命令和 echo 命令
storeTitle 命令的作用是,将网页的 title 属性值存储到指定的变量中。
echo 命令的作用是,在控制台打印输出,常用于脚本调试的过程。
以百度首页为例,讲解 storeTitle 和 echo 的用法,步骤如下:
(1)打开 Firefox 浏览器,单击「工具」菜单,然后选择「Selenium IDE」选项。
(2)设置 Selenium IDE 为录制状态。
(3)在 Base URL 中输入 https://www.baidu.com,然后按「Enter」键。
(4)增强优化展示区脚本,具体如图 2.6 所示,添加「open」「storeTitle」和「echo」命令。
图 2.6
(5)执行脚本,执行日志如图 2.7 所示,浏览器窗口的 title 属性打印成功。
图 2.7
2.2 从 Selenium IDE 导出脚本
Selenium IDE 工具的一个重要的功能是,录制过程可以导出生成多种编程语言。通过录制脚本到自动化脚本的转换,可以提高工程师的脚本编写效率。这里通过 2.1.5 节中的例子来演示从 Selenium IDE 导出脚本并运用在自动化测试中的过程,步骤如下:
(1)在 IDE 窗口选择「文件->Export Test Case As..」选项,然后选择「Python 2/unittest/WebDriver」选项,如图 2.8 所示。
图 2.8
(2)保存.py 文件。自动化脚本如下所示:
(3)新版Selenium IDE 3导出支持pytest格式代码
通过以上实例的演示,可以认识到 IDE 在一些比较简单的自动化测试项目中使用是比较适合的。但是对于相对长期的、稳定的和复杂的自动化项目来讲,不太适合使用 Selenium IDE 录制脚本的方式。