当前位置:文档之家› Web功能自动化测试概述(PPT课件34页)

Web功能自动化测试概述(PPT课件34页)


常用API介绍
Browser
• 初始化浏览器
browser = Watir::Browser.new :ie # 其中,“:ie”表示IE浏览器,其他浏览器例如:“:chrome”,“:firefox”
• 访问站点
browser.goto “url”
• 关闭浏览器
免费
功能强大
丰富的代码库
可视化界面
易维护
支持脚本录制
开源功能自动化框架比较
Selenium 2.0
多浏览器 支持
多语言支 持
Watir
语法简单 易扩展
Watir WebDriver
• Watir WebDriver是Selenium WebDriver的一个封装,使得Selenium WebDriver
# 一般用于测试结果断言
Check Box
• 复选框勾选 browser.checkbox(:id => “cbx”).set
• 复选框取消勾选 browser.checkbox(:id => “cbx”).clear
• 复选框是否勾选 browser.checkbox(:id => “cbx”). set?
• 是否存在 browser.text_field(:id => “txt”).exists?
# 一般用于测试结果断言
Select List
• 下拉框根据值选择 browser.select_list(:id => sel”).select “value” • 下拉框是否存在 browser.select_list(:id => “sel”).exists? # 一般用于测试结果断言
Web功能自动化测试
——Watir WebDriver
第一讲:基础 知识
什么是功能自动化测试?
• 一般是指软件测试的自动化。自动化测试可理解为测试过程自动
化和测试结果分析自动化,包括测试活动的管理与实施、测试脚 本的开发与执行。
• 软件自动化测试模拟手动测试步骤,控制被测软件的执行,完成
全自动或半自动测试的过程。
browser.close
Button
• 按钮单击
browser.button(:id => “btn”).click
• 按钮双击
browser.button(:id => “btn”).double_click
• 按钮是否存在
browser.button(:id => “btn”).exists?
# 一般用于测试结果断言
Link
• 超链接单击 browser.link(:id => “lnk”).click
• 超链接双击 browser.link(:id => “lnk”).double_click
• 是否存在 browser.link(:id => “lnk”).exists?
# 一般用于测试结果断言

Radio
• 单选框勾选 browser.radio(:id => “ra”).set
• 单选框是否勾选 browser.radio(:id => “ra”).set?
# 一般用于测试结果断言
• 是否存在 browser.radio(:id => “ra”).exists?
的API更加友好,同时使用了Watir的API组织形式,使得代码更简洁和优雅。
Selenium 2.0
Watir WebDriver
Watir
Watir WebDriver
• 当然,我们可以通过以下链接,非常方便的获取到Watir WebDriver的API进
行阅读。 /gems/watir-webdriver
如何定位元素
• 使用name定位
HTML代码: <input type="text" class=“css" id=“txtBox1" name=" usertxtBox" >
Ruby代码: browser.text_field(:name => “usertxtBox”).set “user”

自动化测试
查看测 试报告
为什么需要功能自动化测试?
提高工 作效率
增加软 件信任

节省人力资 源
• 注意:自动化测试虽然具有很多优点,但它只是测试工作的一部
分,是对手工测试的一种补充。
功能自动化测试前提条件
• 软件需求变动不频繁
1 • 稳定的模块进行自动化测试
• 项目周期足够长
2 • 自动化测试是开发过程,需要较长时间
• 全自动测试:指不需人工干预,由程序自动完成测试的全过程。
• 半自动测试:指在测试过程中,需手动输入测试用例或选择测试
路径,再由自动测试程序按照人工指定的要求完成自动测试。
为什么需要功能自动化测试?
• 删除功能
手动单 击删除 按钮
肉眼查 看记录 是否存

手动测试
编写或 录制脚

调试或 回放脚

运行
Page22
如何定位元素
• 使用class定位
# 一般用于测试结果断言
• 复选框是否存在 browser.checkbox(:id => “cbx”). exists?
Text Field
• 文本框设置值 browser.text_field(:id => “txt”).set “value”
# 文本框自动清空,全量输入
• 文本框输入值 browser.text_field(:id => “txt”).send_keys “value” # 文本框不清空,增量输入
• 自动化脚本可重复使用
3 • 成本应不大于所创造的经济价值
如何实现功能自动化测试?
• 开源框架
Selenium 2.0(WebDriver)、Watir等
• 商业工具
QTP、Rational Robot、SilkTest等
开源框架与商业工具比较
• 开源(如Selenium 2.0)
• 商业(如QTP)

如何定位元素?
如何定位元素
• 使用id定位 HTML代码: <input type="text" class=“css" id=“txtBox1" name=" usertxtBox" >
Ruby代码: browser.text_field(:id => “txtBox1”).set “user”
相关主题