




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、英文标题:30-40pt 副标题:24-28pt 字体颜色:R0 G0 B0 内部使用字体 :Arial 外部使用字体 : Arial 中文标题:32-40pt 字体:宋体 副标题:24-28pt 字体颜色:R0 G0 B0 字体:华文细黑,Web功能自动化测试Watir WebDriver,第一讲:基础知识,什么是功能自动化测试?,一般是指软件测试的自动化。自动化测试可理解为测试过程自动化和测试结果分析自动化,包括测试活动的管理与实施、测试脚本的开发与执行。 软件自动化测试模拟手动测试步骤,控制被测软件的执行,完成全自动或半自动测试的过程。 全自动测试:指不需人工干预,由程序自动完成测试的全
2、过程。 半自动测试:指在测试过程中,需手动输入测试用例或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测试。,为什么需要功能自动化测试?,删除功能 手动测试 自动化测试,为什么需要功能自动化测试?,注意:自动化测试虽然具有很多优点,但它只是测试工作的一部分,是对手工测试的一种补充。,功能自动化测试前提条件,如何实现功能自动化测试?,开源框架 Selenium 2.0(WebDriver)、Watir等 商业工具 QTP、Rational Robot、SilkTest等,开源框架与商业工具比较,开源(如Selenium 2.0),商业(如QTP),开源功能自动化框架比较,Watir W
3、ebDriver,Watir WebDriver是Selenium WebDriver的一个封装,使得Selenium WebDriver的API更加友好,同时使用了Watir的API组织形式,使得代码更简洁和优雅。,Watir WebDriver,当然,我们可以通过以下链接,非常方便的获取到Watir WebDriver的API进行阅读。 /gems/watir-webdriver,常用API介绍,Browser,初始化浏览器 browser = Watir:Browser.new :ie # 其中,“:ie”表示IE浏览器,其他浏览器例如:“:c
4、hrome”,“:firefox” 访问站点 browser.goto “url” 关闭浏览器 browser.close,Button,按钮单击 browser.button(:id = “btn”).click 按钮双击 browser.button(:id = “btn”).double_click 按钮是否存在 browser.button(:id = “btn”).exists? # 一般用于测试结果断言,Check Box,复选框勾选 browser.checkbox(:id = “cbx”).set 复选框取消勾选 browser.checkbox(:id = “cbx”).cl
5、ear 复选框是否勾选 browser.checkbox(:id = “cbx”). set? # 一般用于测试结果断言 复选框是否存在 browser.checkbox(:id = “cbx”). exists?,Text Field,文本框设置值 browser.text_field(:id = “txt”).set “value” # 文本框自动清空,全量输入 文本框输入值 browser.text_field(:id = “txt”).send_keys “value” # 文本框不清空,增量输入 是否存在 browser.text_field(:id = “txt”).exists?
6、 # 一般用于测试结果断言,Select List,下拉框根据值选择 browser.select_list(:id = sel”).select “value” 下拉框是否存在 browser.select_list(:id = “sel”).exists? # 一般用于测试结果断言,Radio,单选框勾选 browser.radio(:id = “ra”).set 单选框是否勾选 browser.radio(:id = “ra”).set? # 一般用于测试结果断言 是否存在 browser.radio(:id = “ra”).exists? # 一般用于测试结果断言,Link,超链接单击
7、 browser.link(:id = “lnk”).click 超链接双击 browser.link(:id = “lnk”).double_click 是否存在 browser.link(:id = “lnk”).exists? # 一般用于测试结果断言,如何定位元素?,如何定位元素,使用id定位 HTML代码: Ruby代码: browser.text_field(:id = “txtBox1”).set “user”,如何定位元素,Page22,使用name定位 HTML代码: Ruby代码: browser.text_field(:name = “usertxtBox”).set “
8、user”,如何定位元素,使用class定位 HTML代码: Ruby代码: browser.text_field(:class= “css”).set “user”,如何定位元素,Page24,使用xPath定位 HTML代码: Ruby代码: browser.text_field(:xpath = “/*id=txtBox1”).set “user”,如何定位元素,使用多种方式相结合定位 HTML代码: Ruby代码: browser.text_field(:name = “usertxtBox”, :index = 0).set “user”,如何定位元素,使用层级关系定位 HTML代码
9、: Ruby代码: browser.div(:id = “kw”).text_field(:name = “usertxtBox”).set “user”,如何处理Frame,Frame 有时定位了元素后,在运行程序时仍会提示我们找不到该元素。这时,很大的可能是该元素外部包围了frame。我们可以通过下列方式定位Frame中的元素: HTML代码: Ruby代码: browser.frame(:name = “mainFrame”).text_field(:name = “usertxtBox”).set “user”,如何处理弹出的新浏览器,通过title定位 browser.window(
10、:title = annoying popup).use do browser.button(:id = close).click end 获取最后一个窗口 browser.windows.last.use do browser.button(:id = close).click end,如何处理JS弹出窗口,Alert处理 browser.alertdo browser.button(:value=Alert).click end Confirm处理 browser.confirm(true)do browser.button(:value=Confirm).click end,断言,断言,在Ruby1.9以上版本中,内置了MiniTest库,主要用于单元测试,我们需要用它来进行TestCase生命周期的管理和结果的断言。,断言,MiniTest:Unit:TestCase类 TestCase类提供了许多方法,我们一般会继承该类,并重写其中3个方法来搭建起一个测试用例,包括前置条件、操作步骤、预期结果、后置操作。而在操作步骤中,利用Watir WebDriver提供的一系列方法模拟用户操作。,断言,MiniTest:Assertions类 Assertions类中包含了许多断言方法,具体可查看以下文档
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届随州市曾都区六年级数学第一学期期末复习检测试题含解析
- 2024年居委会述职报告范本(3篇)
- 2025春季鞋类批发订购合同样本
- 2025年餐饮合作合同范本
- 2026届江苏省连云港市苏州外国语学校四年级数学第一学期期末质量跟踪监视模拟试题含解析
- 2025年安全防护装备集中采购合同协议
- 广西玉林地区2025年六上数学期末监测试题含解析
- 临桂县2025年数学六年级第一学期期末教学质量检测模拟试题含解析
- 2025年云南省澄江市四上数学期末联考模拟试题含解析
- 时序数据分析模型-洞察及研究
- 唐山迁安市选聘事业编制卫生专业技术人员笔试真题2024
- 医疗救援队伍应急出动预案
- 大学英语四级考试2024年12月真题(第一套)Part IV Translation
- 眼科医院近视防控措施及推广方案
- 健康管理师高级培训教材
- 血液透析用动静脉内瘘维护指南(2025收藏版)解读课件
- 压疮护理警示教育案例
- Deep Seek赋能职场应用培训课件分享
- 农业行业种植技术操作指南
- 河北省客房服务技师考试题库
- 狼疮性肾炎的护理查房
评论
0/150
提交评论