Selenium入门介绍.ppt_第1页
Selenium入门介绍.ppt_第2页
Selenium入门介绍.ppt_第3页
Selenium入门介绍.ppt_第4页
Selenium入门介绍.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、自动化测试和selenium简介,崔剑飞 北京搜狗科技发展有限公司,自动化测试基础,(一)自动化测试简介 (二)常见的自动化测试架构 (三)自动化测试的基本流程(见图) (四)关于自动化测试的一些的认知,自动化测试简介,一.软件需求变动不频繁 二.项目周期较长 三.测试脚本可重复使用,软件测试一般是由测试人员执行的,如果由机器来代替人执行软件测试,那么就叫做自动化测试,代码驱动测试(测试驱动开发) 特点: 1.大量的输入参数和对应结果 2.代码覆盖率高 图形用户界面测试 定义:模仿用户产生界面事件,并捕获相关 动作所导致的界面改变。 代表:Webdriver,QTP,自动化测试的基本流程,当前

2、流行的自动化测试工具,自动化测试的误区,自动化测试工具是“万能”的 自动化测试比人工测试更高级先进 测试工具能使工作量大幅度减少 测试工具能实现100%的测试覆盖率 自动化测试工具容易使用 自动化测试能发现大量新缺陷,观点一:自动化测试工具是“万能”的 显然,这是一种理想状态,现实中还没有哪个测试工具有这个能力,并且将来也不会有。在现实中有关的测试设计、测试案例,以及一些关键的测试任务还是需要人工参与的,即自动化测试是对手工测试的辅助和补充,它永远也不可能完全取代手工测试,观点二:自动化测试比人工测试更高级 自动化测试只是测试方法中一种。相比于人工测试,有自身优势,也有局限性。只能说,更炫酷,

3、而已。,适合情况对比,观点三:测试工具能使工作量大幅度减少 在更多情况下,首次引入自动化测试工具,会使测试工具立马更艰巨。只有正确合理使用测试工具,并有一定技术积累后,自动化测试的付出才能逐渐有所收获。,观点四:自动化能实现100%的测试覆盖率 自动化测试可以增加测试覆盖的深度和广度,利用白盒测试工具可能实现语句全覆盖、逻辑路径全覆盖等,但因为穷举测试必须使用所有可能的数据,包括有效的和无效的测试数据,所以在有限的资源下也不可能进行100%的测试。,观点五:自动化测试工具容易使用 对于这一点,很多测试工程师有同样的错误观点,认为测试工具可以简单地通过捕获(录制)客户端操作生成脚本,且脚本不加编

4、辑就可用于回放使用。事实上,自动化测试不是那么简单的,捕获的操作是否正确,以及脚本编辑是否合理都会影响测试结果。,观点六:自动化测试能发现大量缺陷 就发现缺陷而言,自动化测试的效率低于人工测试。根据我的经验,自动化测试只能发现30%以下的缺陷,而人工测试能够发现绝大数缺陷。,我的建议:,一.重视测试,重视测试能力的基础能力培养 二.心态要端平,正确认识自动化测试的定位 三.培养自己的英文阅读能力。,Selenium简介,Selenium是一款基于Web应用程序的开源测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。它支持FF,IE,Chrome等众多浏览器。同时支持J

5、ava,C#,Ruby,Python,PHP,Perl,JS等众多主流语言。,Selenium的演变进程,Selenium的特点,开源,轻量 运行在浏览器中 简单灵活,支持七大主流语言 IDE可以提供录制功能,Selenium组件,Selenium IDE Selenium RC Selenium Webdriver Selenium Grid,Selenium IDE Selenium IDE是一个测试集成开发环境,是FF的附加组件,可以结合FF实现录制,编辑和调试测试脚本,并在浏览器中模拟用户真实操作进行回放。 IDE不仅仅是一个录制工具,它是完整的集成开发环境,可以录制,也可以手工编辑脚

6、本。,Selenium-IDE的特点 1.非常容易在页面上进行录制 2.能自动通过id,name和Xpath来定位页面元素 3.自动执行selenium命令 4.能够进行高度和设置断点 5.录制生成的脚本能够转化成各种语言 6.在每个录制的脚本中能够加入断言,Selenium RC 即Selenium Remote Control,由两部分组成: 1.Server端:负责启动和关闭浏览器,类似HTTP代理。 2.Client端:由针对各种编程语言设计的开发库构成。 RC提供了一个代理服务器,允许用程序语言编写测试用例。这样做的好处是可以将Selenium与其他测试框架(如JUnit)进行集成测

7、试。,Selenium RC架构图,Selenium RC的环境搭建 1.安装JAVA环境 2.安装eclispe 3.下载Selenium,地址为/download/,位于Selenium Client Drivers栏。,Selenium RC的环境搭建 4.解压selenium的客户端jar。 5.下载Selenium的服务端jar。地址为:/download/,位于Selenium Standlone Server一栏。,Selenium RC的环境搭建 6.启动Selenium服务器: 可以直接

8、双击刚才的jar文件启动Selenium服务器。也可以通过下面的命令来执行: java jar .jar 7.新建一个java工程,并引入Selenium的Client包。 8.输入Demo代码并运行。,Selenium RC Demo代码,DefaultSelenium的构造函数中有4个参数,具体如下: 1.serverHost:Selenium服务器的主机名称或者IP地址 2.serverPort:Selenium服务器的端口号 3.browserString:用于加载对应的浏览器,以“*浏览器”的方式呈现,也可使用相关浏览器的安装路径。 4.browserURL,初始化的URL,启动se

9、lenium后跳转至此URL。,Selenium Webdriver,Webdriver作为最新版的Selenium工具,代表着Selenium的未来方向。它提供了许多功能,包括一套组织性更好的,面向对象的API。 Webdriver完全就是一套类库,不依赖于任何测试框架,不需要像RC那样先启动服务器。,Selenium Grid,Grid能够让RC的测试在多个不同的环境中运行,也能让测试并行执行。能够大幅度的提高测试的效率。,有毒的工具:FireBug和FirePath,FireBug 初学者的痛点:HTML源码太乱。 Case:百度首页,FireBug的安装 一.打开Firefox浏览器,

10、单击主菜单,选择“附加组件” 二.进入“获取附加组件”页面,在搜索文本框中输入Firebug,搜索 三.安装此组件,FirePath FireBug可以很方便查找元素,也可以将元素的xpath复制。但原生的FireBug并不支持按Xpath查找元素,需要在FireBug中集成FirePath。 安装前的FireBug,FirePath安装步骤 一.打开FF,单击主菜单,选择“附加组件” 二.进入“搜索”页面,在文本框中输入firepath,并搜索安装。 安装后的FireBug,Selenium RC,浏览器导航操作: Open(url) GoBack(url) Refresh() 刷新 Win

11、dowMaximize() 窗口最大化 Close() 关闭,操作页面元素 1.type(locator,value) 参数: locator元素的定位表达式 value要输入的值 API介绍: 在input类型中输入指定的值。,操作页面元素 2.Click(locator) 参数: locator:元素定位表达式 API介绍: 对链接,复选框或单选框等进行单击。,操作页面元素 3.doubleClick(locator) API介绍: 双击链接,复选框或者单选框。(不常用),操作页面元素 4.select(selectlocator,optionlocator) 参数: selectloca

12、tor:下拉框的定位式 optionlocator:下拉选项框的定位 optionlocator常用定位方式。 label=文本值 value=真实值 id=id index=index,操作页面元素 5.focus(locator) API介绍: 将焦点移至指定的元素上,设置等待时间 waitForPageToLoad(timeout) 参数: timeout:等待时间,单位为毫秒。,最常用的保存方式 captureEntirePageScreenshot(filename,kwargs) 参数: filename:截图保存的路径 kwargs:设定截图的保存方式 类似方法: captureScreenshot(filename),获取页面元素内容 1.getTitle() AP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论