web自动化测试selenium--01

 

一、web自动化测试

1.1什么是web自动化测试

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

1.2什么Web项目适合做自动化测试?

1.需求变动不频繁

2.项目周期长

3.项目需要回归测试

如何进行Web自动化测试?(主流测试-工具)

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

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

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

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

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

二、Selenium 准备

2.1什么是selenium?

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

2.2 Selenium特点

  1. 开源软件:源代码开放可以根据需要来增加工具的某些功能

  2. 跨平台:linux 、windows 、mac

  3. 核心功能:就是可以在多个浏览器上进行自动化测试

  4. 多语言:Java、Python、C#、JavaScript、Ruby等

  5. 成熟稳定:目前已经被google , 百度, 腾讯等公司广泛使用

  6. 功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能

2.3 selenium IDE 安装与运行

2.3.1 安装selenium IDE

  1. 官网安装 Version: 2.9.1.1 通过官网安装插件:https://addons.mozilla.org/en-GB/firefox/addon/selenium-ide/ve rsions/

  2. 附加组件管理器 1). 火狐浏览器 V24-V35 2). 附加组件管理器-->搜索selenium IDE

  3. 提示: 1. IDE前面有个空格 2. 附加组件管理器启动方式- 1) 工具菜单->附加组件 2) Ctrl+Shift+A

  4. 离线安装 下载:https://github.com/SeleniumHQ/selenium-ide/releases 安装:下载好selenium_ide-2.9.1-fx.xpi直接拖入浏览器安装

2.3.2 运行 selenium IDE

  1. Ctrl+Alt+S

  2. 工具栏——>Selenium IDE

2.3.4 录制脚本

  1. 文件:创建、打开和保存测试案例和测试案例集。编辑:复制、粘贴、删除、撤销和选择测试案例中的所 有命 令。Options : 用于设置seleniunm IDE。

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

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

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

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

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

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

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

  9. 案例集列表。 1

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

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

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

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

重点说明:

  1. 录制:录制时红色录制按钮一定要打开->按下状态

  2. 回放:由于网络延迟原因-建议选择最低

  3. 浏览器:回放时浏览器要保持打开状态(否则点击回放,脚本无响应)

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

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

2.4 firebug 插件

火狐浏览器 V35 2). 附加组件管理器-->搜索FireBug

2.5 转换为python脚本

 web自动化测试selenium--01

三、Selenium IDE脚本编辑与操作

1、编辑一行命令

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

2、、 插入命令

在某一条命令上右击,选择“insert new command”命令,就可以插入一个空白,然后对空白行进程编辑

3、插入注释

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

4、 移动命令

有时我们需要移动某行命令的顺序,我们只需要左击鼠标拖动到相应的位置即可。 5、 删除命令

选择单个或多个命令,然后点击鼠标右键选择“Delete” 、

6、 命令执行

选定要执行的命令点击单个执行按钮即可,

注意:有一些命令必须依赖于前面命令的运行结果才能成功执行 ,否则会导致执行失败。

3.1 Selenium IDE常用命令

3.1.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.1.2 pause(waitTime)

作用:暂停脚本运行

waitTime:等待时间,单位为ms;//Target=1000

3.1.3 goBack()

作用:模拟单击浏览器的后退按钮;

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

3.1.4 refresh()

作用:刷新当前页;

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

3.1.5 click(locator)

作用:单击一个链接、按钮、复选框或单选按钮;

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

3.1.6 type(locator,value)

作用:向指定输入域中输入指定值;也可为下拉框、复选框和单选框按钮赋值. Target:元素的定位表达式;

Value:要输入的值;

3.1.7 close()

作用:模拟用户单击窗口上的关闭按钮;

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