【UI自动化测试】3_web自动化测试 _Selenium-IDE

文章目录

  • 一、Selenium-IDE介绍
    • [1.1 Selenium IDE 安装方式](#1.1 Selenium IDE 安装方式)
    • [1.2 Selenium IDE 运行](#1.2 Selenium IDE 运行)
    • [1.3 Selenium IDE 录制](#1.3 Selenium IDE 录制)
    • [1.4 转换成Python语言](#1.4 转换成Python语言)
  • [二、Selenium IDE脚本编辑与操作 【了解】](#二、Selenium IDE脚本编辑与操作 【了解】)
  • [三、Selenium IDE 常用命令【了解】](#三、Selenium IDE 常用命令【了解】)
    • [3.1 open(url)-打开](#3.1 open(url)-打开)
    • [3.2 pause(waitTime)-暂停](#3.2 pause(waitTime)-暂停)
    • [3.3 goBack()-后退](#3.3 goBack()-后退)
    • [3.4 refresh()-刷新](#3.4 refresh()-刷新)
    • [3.5 type(locator,value)-输入](#3.5 type(locator,value)-输入)
    • [3.6 click(locator)-单击](#3.6 click(locator)-单击)
    • [3.7 close()-关闭](#3.7 close()-关闭)
  • 四、Firebug插件-不需要安装
    • [4.1 定位调试插件-firebug](#4.1 定位调试插件-firebug)
  • 五、总结

一、Selenium-IDE介绍

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

1.1 Selenium IDE 安装方式

  1. 官网安装:https://addons.mozilla.org/en-GB/firefox/addon/selenium-ide/versions/

  2. 附加组件管理器 --> 搜索selenium IDE

  3. 离线安装

    下载:https://github.com/SeleniumHQ/selenium-ide/releases

    安装:下载好selenium_ide-xx-fx.xpi直接拖入浏览器安装

1.2 Selenium IDE 运行

1、文件:创建、打开和保存测试案例和测试案例集。

  • 编辑:复制、粘贴、删除、撤销和选择测试案例中的所有命令。
  • Options : 用于设置seleniunm IDE。

2、用来填写被测网站的地址。

3、速度控制:控制案例的运行速度。

4、运行所有:运行一个测试案例集中的所有案例。

5、运行:运行当前选定的测试案例。

6、暂停/恢复:暂停和恢复测试案例执行。

7、单步:可以运行一个案例中的一行命令。

8、录制:点击之后,开始记录你对浏览器的操作。

9、案例集列表。

10、测试脚本;

  • table标签:用表格形式展现命令及参数。
  • source标签:用原始方式展现,默认是HTML语言格式,也可以用其他语言展示。

11、查看脚本运行通过/失败的个数。

12、当选中前命令对应参数。

13、日志/参考/UI元素/Rollup

1.3 Selenium IDE 录制

需求:使用Selenium IDE插件录制--->打开百度搜索引擎,搜索框输入[淘宝官网],点击[百度一下] 按钮。

重点分析:

yacas 复制代码
1.录制:录制时红色录制按钮一定要打开->按下状态
2.回放:由于网络延迟原因-建议选择最低
3.浏览器:回放时浏览器要保持打开状态(否则点击回放,脚本无响应)

重点说明:

yacas 复制代码
1.id=kw:为百度搜索文本框id属性和值
2.id=su: 为百度一下按钮id属性和值

1.4 转换成Python语言

二、Selenium IDE脚本编辑与操作 【了解】

录制脚本时候是录制鼠标和键盘的所有在浏览器操作,那么脚本会出现多余的步骤,有时候我们需要手动填写脚本或修改脚本,所有我们有必要对Selenium IDE脚本编辑与操作有所了解;

目的:手动修改或编写脚本(采用录制方式很容易记录出多余的操作)

1、 编辑一行命令

yacas 复制代码
Test Case:在Table标签下选中某一行命令,命令由command、Target、value三部分组成。可以对这三部分内容那进行编辑。

2、 插入命令

yacas 复制代码
在某一条命令上右击,选择 "insert new command" 命令,就可以插入一个空白,然后对空白行进程编辑

3、插入注释

yacas 复制代码
鼠标右击选择"insert new comment"命令插入注解空白行,本行内容不被执行,可以帮助我们更好的理解脚本,插入的内容以紫色字体显示。

4、移动命令

yacas 复制代码
有时我们需要移动某行命令的顺序,我们只需要左击鼠标拖动到相应的位置即可。

5、删除命令

yacas 复制代码
选择单个或多个命令,然后点击鼠标右键选择"Delete"

6、命令执行

yacas 复制代码
选定要执行的命令点击单个执行按钮即可,注意:有一些命令必须依赖于前面命令的运行结果才能成功执行,否则会导致执行失败。

三、Selenium IDE 常用命令【了解】

3.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.co m/about.aspx
   3)当Target以http://开头时,将忽略Base URL,直接打开Target的网址;

3.2 pause(waitTime)-暂停

python 复制代码
Command:pause    //  作用:暂停脚本运行
Target:1000     //    waitTime:等待时间,单位为ms;等待1000ms
Vaule:

3.3 goBack()-后退

复制代码
Command:goBack    // 作用:模拟单击浏览器的后退按钮; 
Target:         
Vaule:

提示:由于没有参数,所以Target和Value可不填;
必须是同一个窗口打开2个以上url,才生效。

3.4 refresh()-刷新

复制代码
Command:refresh    // 作用:刷新当前页;
Target:         
Vaule:

提示:由于没有参数,所以Target和Value可不填;

3.5 type(locator,value)-输入

复制代码
Command:type     //  作用:向指定输入域中输入指定值;也可为下拉框、复选框和单选框按钮赋值.
Target:id=kw     //  Target:元素的定位表达式;    
Vaule:淘宝官网    //   Value:要输入的值;

3.6 click(locator)-单击

复制代码
Command:click    // 作用:单击一个链接、按钮、复选框或单选按钮;
Target: id=su        
Vaule:

提示:如果该单击事件导致新的页面加载,命令将会加上后缀"AndWait",即"clickAnd Wait",或"waitF orPageToLoad"命令;

3.7 close()-关闭

复制代码
Command:close    // 作用:模拟用户单击窗口上的关闭按钮,关闭当前窗口;
Target:        
Vaule:

提示:由于没有参数,所以Target和Value可不填;

四、Firebug插件-不需要安装

注明:现在浏览器按F12即可调出控制台,这个插件不必安装,这个插件不需要安装

在线安装:

1、火狐浏览器 V35.0

2、附加组件管理器-->搜索FireBug

4.1 定位调试插件-firebug

  • FireBug插件是火狐浏览器一款插件,能够调试所有网站语言,同时也可以快速定位HTML页面中的元素;
  • 作用:定位元素(获取元素定位和查看元素属性);

五、总结

1、Selenium IDE插件作用:

  • 录制web自动化脚本
  • 转换成指定的语言(Python)

2、Firebug插件作用:

  • 定位元素
相关推荐
henry1010102 小时前
通过GitHub Page服务免费部署静态Web网站
前端·html·github·html5
明月_清风2 小时前
你真的懂 JSON 吗?那些被忽略的底层边界与性能陷阱
前端·json
明月_清风2 小时前
大规模监控数据下的 JSON 优化:从 OOM 崩溃到极致吞吐的进阶之路
前端·json
打瞌睡的朱尤10 小时前
Vue day10 完整购物网页(登录页,首页,搜索)
前端·javascript·vue.js
扶苏100211 小时前
深入理解 Vue 3 的 watchEffect
前端·javascript·vue.js
未来龙皇小蓝13 小时前
RBAC前端架构-05:引入Element-UI及相关逻辑
前端·ui
yanlele13 小时前
AI Coding 时代下, 关于你会写代码这件事儿, 还重要吗?
前端·javascript·ai编程
打瞌睡的朱尤14 小时前
Vue day9 购物车,项目,vant组件库,vw,路由
前端·javascript·vue.js
星火开发设计16 小时前
模板参数:类型参数与非类型参数的区别
java·开发语言·前端·数据库·c++·算法