Selenium IDE

Posted 眰恦ღ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium IDE相关的知识,希望对你有一定的参考价值。

Web自动化

什么是自动化?由机器设备代替人为自动完成指定目标的过程 ,自动化可以减少人工劳动力,工作效率提高,产品规格统一标准,规模化(批量生产)

什么是自动化测试?让程序代替人为去验证程序功能的过程

7b5235114d56fda3857992ba0a84c5f5.png

自动化测试在什么阶段开始?功能测试完毕(手工测试),手工测试就是由人去一个一个输入用例,然后观察结果;
在这里插入图片描述在这里插入图片描述

什么是Web自动化测试?

概念:让程序代替人为自动验证Web项目功能的过程

什么样的项目适合做web自动化呢?需求变动不频繁 、项目周期长 、项目需要回归测试

web自动化的工具

  • QTP(收费)商业的功能测试工具,支持web,桌面自动化测试。

  • Selenium(开源)是开源的web自动测试工具,主要做功能测试。【本阶段学习】

  • Jmete(开源)是由Apache公司使用Java平台开发的一款测试工具,支持(Web、接口测试、性能测试),Web测试在通信层(无UI界面)

  • Loadrunner(收费)是商业性能测试工具,功能强大,适合做复杂场景的性能测试

  • Robot Framework是一个基于Python可扩展地(关键字驱动)的测试自动化框架;

主流工具汇总

类型工具
Web自动化测试seleniumrobot framework
App端自动化测试AppiumMonkeyrunnerUIautomation
PC客户端(win32)自动化测试QTP
接口自动化测试JmeterPostmanhttpUnitRESTClient
云测平台Testin Testbird
性能测试JmeterLoadRunner

什么是Selenium?

Selenium是一个用于Web应用程序测试的工具;中文的意思(硒)

特点

  1. 开源软件:源代码开放可以根据需要来增加工具的某些功能
  2. 跨平台:linux 、windows 、mac
  3. 核心功能:就是可以在多个浏览器上进行自动化测试
  4. 语言:Java、Python、C#、javascript、Ruby等
  5. 成熟稳定:目前已经被google , 百度,腾讯等公司广泛使用
  6. 功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能

Selenium家族(发展史) https://zhuanlan.zhihu.com/p/120736314【了解】

重点:

  1. SeleniumIDE

  2. Selenium2.0(WebDriver)

Selenium IDE安装与运行

Selenium IDE是一个Firefox插件,用于记录和播放用户与浏览器的交互。 (录制Web操作脚本)

为什么要学习Selenium IDE?

  1. 使用Selenium IDE录制脚本,体验自动化脚本魅力

  2. 使用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的窗口

selenium ide.png

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值为空

  1. 当Target为空,将打开Base URL中填写的页面;

  2. 当Target不为空且值为相对路径,将打开Base URL + Target页面。如,假设Base URL为http:// www.zhi97.com,而Target为/about.aspx,则执行open命令时,将打开http://www.zhi97.com/about.aspx

  3. 当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 确实找到了它)

Selenium IDE的使用

SeleniumIDE从0到1 (Selenium IDE 安装)

将 javascript 代码从 storeEval 转换为 executeScript_Sandbox (Selenium Ide Kantu Ui.Vision)