一、自动化测试简介
1、传统自动化测试:基于产品UI层的自动化测试,它是将黑盒功能测试转化为由程序或工具执行得一种自动化测试
2、分层自动化测试:应该有更多低级别的单元测试,而不仅仅是基于产品UI层的测试(倡导从黑盒(UI)单层到黑白盒多层自动化测试体系,从全面黑盒自动化测试到对系统的不同层次进行自动化测试)
3、单元自动化测试:指对软件中的最小可测试单元进行检查和验证。规范的进行单元测试需要借助单元测试框架,如Java语言的Junit、TestNG,Python语言的unittest、pytest等
4、接口自动化测试:模块接口测试:主要测试模块之间的调用与返回;Web接口测试:主要分为服务器接口测试与外部接口测试
5、UI自动化测试:UI层是用户使用产品的入口,所有功能都通过UI层展示并提供给用户,所以测试工作大都集中在这一层进行。
二、什么项目适合自动化
1、需求变动不频繁 2、项目周期较长 3、自动化测试脚本可复用
三、自动化测试工具
1、UFT(Unified Functional Testing)HP公司开发,由QTP和ST合并而来,是一个企业级的自动化测试工具,提供了强大的录制回放功能,同时兼容对象识别模式与图像识别模式,支持B/S与C/S架构软件的自动化测试。
2、RF(Robot Framework)RF是一款基于Python语言编写的自动化测试框架,具备良好的可扩展性,支持关键字驱动,可以同时测试多种客户端和接口,可以进行分布式测试。
3、Watir(Web Application Testing in Ruby):Watir是一款基于Web的自动化测试工具,使用Ruby语言开发。
4、Selenium:selenium是一款Web的自动化测试工具,支持多平台、多浏览器、多语言实现自动化测试。目前在web自动化领域应用越来越广泛
四、Selenium介绍
1、selenium 的特点:
开源,免费
多浏览器支持:FireFox、Chrome、IE、Opera
多平台支持:linux 、windows、MAC
多语言支持:java、python、ruby、php、C#、JavaScript
对 web 页面有良好的支持
简单(API 简单) 、灵活(用开发语言驱动)
支持分布式测试用例执行
2、selenium IDE:selenium IDE 是嵌入到 Firefox 浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能。快速的创建 bug 重现脚本,在测试人员的测试过程中,发现bug之后可以通过 IDE 将重现的步骤录制下来,以帮助开发人员更容易的重现 bug。
IDE 录制的脚本可以可以转换成多种语言,从而帮助我们快速的开发脚本,关于这个功能后而用到时再详细介绍。
3、selenium Grid:Selenium Grid 是一种自动化的测试辅助工具,Grid 通过利用现有的计算机基础设施,能加快 Web-app的功能测试。利用 Grid,可以很方便地同时在多台机器上和异构环境中并行运行多个测试事例;其特点为:
并行执行、通过一个主机统一控制用例在不同环境,不同浏览器下运行、灵活添加变动测试机
4、selenium RC:selenium RC 是 selenium 家族的核心工具,selenium RC 支持多种不同的语言编写自动化测试脚本,通过 selenium RC 的服务器作为代理服务器去访问应用从而达到测试的目的。
selenium RC 使用分 Client Libraries 和 selenium Server,Client Libraries 库主要主要用于编写测试脚本,用来控制 seleniumServer 的库
5、Selenium Server 负责控制浏览器行为,总的来说,Selenium Server 主要包括 3 个部分:Launcher、Http Proxy、Core。
其中 Selenium Core 是被 Selenium Server 嵌入到浏览器页面中的。其实 Selenium Core就是一堆 JS 函数的集合,就是通过这些 JS函数,我们才可以实现用程序对浏览器进行操作。Launcher 用于启动浏览器,把 selnium Core 加载到浏览器页面当中,并把浏览器的代理设置为 Selenium Server 的Http Proxy。
搞清了 selenium 1.0 的家族关系,selenium 2.0 是把 WebDriver 加入到了这个家族中;
简单用公式表示为:selenium 2.0 = selenium 1.0 + WebDriver
五、前端技术介绍
1、HTML简介:HTML(Hyper Text Markup Language)中文为超文本标记语言,HTML 是网页的基础,它并不是一种编程语言,而是一种标记语言(一套标记标签) ,但我们可以在 HTML 标签中嵌入各种前端脚本语言,如VBScript、JavaScript 等。例:
JavaScript 简介:一种由 Netscape 公司的 LiveScript 发展而来的前端脚本语言(脚本语言是一个种轻量级的语言) ,是一种解释性语言(代码执行不需要预编译) ;被设计用来向 HTML 页面添加交互行为,通常被直接嵌入到 HTML 页面。
如果要在 HTML 页面中使用 JavaScript ,我们需要使用