Selenium IDE
Posted 眰恦ღ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium IDE相关的知识,希望对你有一定的参考价值。
Web自动化
什么是自动化?由机器设备代替人为自动完成指定目标的过程 ,自动化可以减少人工劳动力,工作效率提高,产品规格统一标准,规模化(批量生产)
什么是自动化测试?让程序代替人为去验证程序功能的过程
自动化测试在什么阶段开始?功能测试完毕(手工测试),手工测试就是由人去一个一个输入用例,然后观察结果;
什么是Web自动化测试?
概念:让程序代替人为自动验证Web项目功能的过程
什么样的项目适合做web自动化呢?需求变动不频繁 、项目周期长 、项目需要回归测试
web自动化的工具
-
QTP
(收费)商业的功能测试工具,支持web,桌面自动化测试。 -
Selenium
(开源)是开源的web自动测试工具,主要做功能测试。【本阶段学习】 -
Jmete
(开源)是由Apache公司使用Java平台开发的一款测试工具,支持(Web、接口测试、性能测试),Web测试在通信层(无UI界面) -
Loadrunner
(收费)是商业性能测试工具,功能强大,适合做复杂场景的性能测试 -
Robot Framework
是一个基于Python可扩展地(关键字驱动)的测试自动化框架;
主流工具汇总
类型 | 工具 |
---|---|
Web自动化测试 | selenium 、robot framework |
App端自动化测试 | Appium 、Monkeyrunner 、UIautomation |
PC客户端(win32)自动化测试 | QTP |
接口自动化测试 | Jmeter 、Postman 、httpUnit 、RESTClient |
云测平台 | Testin Testbird |
性能测试 | Jmeter 、LoadRunner |
什么是Selenium?
Selenium是一个用于Web应用程序测试的工具;中文的意思(硒)
特点
- 开源软件:源代码开放可以根据需要来增加工具的某些功能
- 跨平台:linux 、windows 、mac
- 核心功能:就是可以在多个浏览器上进行自动化测试
- 语言:Java、Python、C#、javascript、Ruby等
- 成熟稳定:目前已经被google , 百度,腾讯等公司广泛使用
- 功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能
Selenium家族(发展史) https://zhuanlan.zhihu.com/p/120736314【了解】
重点:
-
SeleniumIDE
-
Selenium2.0(WebDriver)
Selenium IDE安装与运行
Selenium IDE是一个Firefox插件,用于记录和播放用户与浏览器的交互。 (录制Web操作脚本)
为什么要学习Selenium IDE?
-
使用Selenium IDE录制脚本,体验自动化脚本魅力
-
使用Selenium IDE录制的脚本转换为代码语言(在后期我们自己设计脚本时,如果不知道用什么方式定位元素,可使用此方法参考)
安装方式
1、官网安装
Version: 2.9.1.1
通过官网安装插件:https://addons.mozilla.org/en-GB/firefox/addon/selenium-ide/versions/
2、附加组件管理器
火狐浏览器 V24-V35
附加组件管理器-->搜索selenium IDE
IDE前面有个空格
附加组件管理器启动方式 – 【工具菜单->附加组件】【Ctrl+Shift+A】
3、离线安装
下载:https://github.com/SeleniumHQ/selenium-ide/releases
安装:下载好`selenium_ide-2.9.1-fx.xpi`直接拖入浏览器安装
安装好之后我们来理解一下Selenum IDE的窗口
1.文件:创建、打开和保存测试案例和测试案例集.编辑:复制、粘贴、删除、撤销和选择测试案例中的所有命令.
2.用来填写被测网站的地址.
3.速度控制:控制案例的运行速度.
4.运行所有:运行一个测试案例集中的所有案例.
5.运行:运行当前选定的测试案例.
6.暂停/恢复:暂停和恢复测试案例执行.
7.单步:可以运行一个案例中的一行命令.
8.录制:点击之后,开始记录你对浏览器的操作.
9.案例集列表.
10.测试脚本;table标签:用表格形式展现命令及参数.source标签:用原始方式展现,默认是html语言格式,也可以用其他语言展示
11.查看脚本运行通过/失败的个数
12.当选中前命令对应参数
13.日志/参考/UI元素/Rollup
日志:当你运行测试时,错误和信息将会自定显示
参考:当在表格中输入和编辑selenese命令时,面板中会显示对应的参考文档
练习:把百度网址输入到框里—》点击录制按钮—》火狐搜索百度网址–》百度搜索淘宝–》回来点播放
将录制的脚本转换为python语言
文件菜单->Export Test Cast As…->python2/unittest/WebDriver
id=kw:为百度搜索文本框id属性和值
id=su: 为百度一下按钮id属性和值
FireBug定位调试插件
FireBug插件是火狐浏览器一款插件,能够调试所有网站语言,同时也可以快速定位HTML页面中的元素;
在线安装:
1). 火狐浏览器 V35
2). 附加组件管理器–>搜索FireBug
Selenium IDE脚本编辑与操作 【了解】
录制脚本时候是录制鼠标和键盘的所有在浏览器操作,那么脚本会出现多余的步骤,有时候我们需要手动填写脚本或修改脚本,所有我们有必要对Selenium IDE脚本编辑与操作有所了解;
编辑一行命令:在Table标签下选中某一行命令,命令由command、Target、value三部分组成。可以对这三部分内容那进行编辑。
插入命令:在某一条命令上右击,选择“insert new command”命令,就可以插入一个空白,然后对空白行进程编辑
插入注释:鼠标右击选择“insert new comment”命令插入注解空白行,本行内容不被执行,可以帮助我们更好的理解脚本,插入的内容以紫色字体显示。
移动命令:有时我们需要移动某行命令的顺序,我们只需要左击鼠标拖动到相应的位置即可。
删除命令:选择单个或多个命令,然后点击鼠标右键选择“Delete”
命令执行:选定要执行的命令点击单个执行按钮即可,注意:有一些命令必须依赖于前面命令的运行结果才能成功执行,否则会导致执行失败
Selenium IDE常用命令【了解】
1、open(url)
作用:打开指定的URL,URL可以为相对或是绝对URL;
Target:要打开的URL;value值为空
-
当Target为空,将打开Base URL中填写的页面;
-
当Target不为空且值为相对路径,将打开Base URL + Target页面。如,假设Base URL为http:// www.zhi97.com,而Target为/about.aspx,则执行open命令时,将打开http://www.zhi97.com/about.aspx
-
当Target以http://开头时,将忽略Base URL,直接打开Target的网址;
2、pause(waitTime)
作用:暂停脚本运行
waitTime:等待时间,单位为ms;//Target=1000
3、goBack()
作用:模拟单击浏览器的后退按钮;
提示:由于没有参数,所以Target和Value可不填;
4、refresh()
作用:刷新当前页;
提示:由于没有参数,所以Target和Value可不填;
5、click(locator)
作用:单击一个链接、按钮、复选框或单选按钮;
提示:如果该单击事件导致新的页面加载,命令将会加上后缀“AndWait”,即“clickAnd Wait”,或“waitForPageToLoad”命令;
6、type(locator,value)
作用:向指定输入域中输入指定值;也可为下拉框、复选框和单选框按钮赋值.
Target:元素的定位表达式;
Value:要输入的值;
7、close()
作用:模拟用户单击窗口上的关闭按钮;
提示:由于没有参数,所以Target和Value可不填;
以上是关于Selenium IDE的主要内容,如果未能解决你的问题,请参考以下文章
如何通过main()和TestNG在IDE中编写Selenium Java应用程序代码
Selenium IDE 能在text box 里面输入值, 但是用代码就不行.
Selenium Web-Driver 找不到元素(Selenium IDE 确实找到了它)
SeleniumIDE从0到1 (Selenium IDE 安装)
将 javascript 代码从 storeEval 转换为 executeScript_Sandbox (Selenium Ide Kantu Ui.Vision)