[Selenium]基本使用
1. Selenium基础
selenium怎么使用
1.1 Selenium简介
Selenium是一系列基于Web的自动化测试工具,它提供了一系列测试函数,用于支持Web 自动化测试,它们能够通过多种方式定位界面元素,并将预期结果与系统实际表现进行比较。Selenium具有以下几个特性:
1) 可对多浏览器进行测试,如IE、Firefox、Safari、Chrome、手机浏览器等。
2) 支持多种语言,如Java、C#、Python、Ruby、PHP等。
3) 跨平台,如Windows、Linux、IOS、Android等。
4) 开源免费。
1.2 Selenium工具组
Selenium由以下几个工具组成:
1) Selenium IDE
Selenium IDE是一个用于构建脚本的初级工具,它是一个Firefox插件,拥有一个易于使用的界面,拥有录制功能记录用户操作并导出为可重复使用的脚本。
2) Selenium 1
Selenium 1(Selenium RC)是Selenium最主要的测试工具之一,它能够通过多种语言编写测试代码,同时能支持几乎所有浏览器的测试。
3) Selenium 2
Selenium 2(WebDriver)作为最新版的工具,代表未来Selenium的发展方向,这套全新的自动化测试工具提供了许多功能,包括一套组织性更好、面向对象的API,并克服了在Selenium 1版本中测试的局限性。
4) Selenium Grid
Selenium Grid能够让Selenium 1的测试在多个不同的环境中运行,也能让测试并行执行。也就是说,各个测试能够在同一时间、不同机器上运行。
2. Selenium IDE
2.1 安装IDE
Selenium IDE可以从/download/下载,如果当前使用的浏览器是Firefox,Firefox会自动将其识别为Firefox附加组件下载,下载结束后,提示安装组件,如下所示:
安装结束后,重启浏览器,就可以在菜单中看到Selenium IDE项。
2.2 录制测试用例
打开Selenium IDE,默认开启录制,可以单击红圆形按钮取消录制,如下所示:
新建用例需要用到“文件”菜单,菜单中出现最多的是Test Case和Test Suite。通常,一组相关的Test Case就是一个Test Suite,即一个测试套件由多个测试用例串连组成。在打开Selenium IDE时,IDE已经默认建立了一个名为”Untitled”的测试套件。
以录制百度搜索的动作为例,首先在Base URL中输入百度的地址,然后单击录制按钮,接着在Firefox中打开百度主页,输入搜索关键字”selenium”,单击“百度一下”,返回Selenium IDE并停止录制,可以看到Test Suite中测试步骤表格中添加了几行新数据,如下所示:
测试步骤表格使用的关键字驱动的测试方式,包含以下3栏:
1) Command: 表示要执行的操作是什么。
2) Target: 表示要操作的界面元素是哪个。
3) V alue: 表示操作时使用的值是多少。
在上图中,第一行对目标”/”使用Open命令以打开网页,第二行到id为kw的元素,然后使用Type命令输入内容,输入的值为selenium,第三行到id为su的元素,然后执行clickAndWait命令,先执行单击,然后等待页面加载完毕。只需单击操作栏中的播放按钮即可重复执行该测试,使用Fast-Slow滑动条可以控制测试中每个步骤执行的时间间隔。
2.3 编写测试用例
了解了录制的原理后,可以直接通过编写测试步骤表格的方式来编写用例,现在使用Google测试。
在操作步骤表上单击鼠标右键,选择Insert New Command选项,接着进行编辑操作,输入open命令,将Target设置为”le.hk”。接着插入新行,在Command文本框中输入type,在Target文本框中输入id=lst-ib,输入的值为selenium。再插入第3个步骤,编辑click命令,让其单击搜索按钮,如下所示:
3. Command
3.1 命令集
Command表示要执行的操作是什么,是必需的参数,单击Command下拉列表框,可以看到所有的命令。这些Selenium命令通常称为”selenese”,它是一套用于执行测试的命令集,这些命令组合起来就构成了测试脚本。
在selenese中,一部分命令基于HTML标记,用于测试UI元素是否存在、验证指定内容是否正确、检查链接是否可用,并可以输入字段、选择列表的选项、提交表单并操作表格中的数据。而另一部分Selenium命令用于辅助测试,例如验证窗口大小、鼠标位置、警告信息、Ajax功能、弹出窗口、事件处理以及其他各种Web应用程序功能,如下所示:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。