自动化测试基本原理及工具简介
一、自动化测试的定义
自动化测试,就是将手工测试转化为由程序或工具来执行的测试。
二、什么项目适合做自动化
1、测试任务明确,软件需求不会频繁变动;
2、由大量的回归测试任务,或者多平台执行相同测试的工作;
3、项目周期长;
4、软件的界面稳定,变动少;
三、自动化测试工具
1、Selenium
Selenium是目前开源主流的web自动化测试工具,支持多种编程语言(Java、Python、C#、Ruby等),它不是由单独的一个工具构成的,是由一些插件和类库组成,包括一系列的工具组件,支持主流的浏览器,包括Firefox,IE,Chrome,Safari等,适用于不同的应用场景。
Selenium到目前为止有3个版本:
(1)Selenium1.0
Selenium IDE:是嵌入Firefox浏览器的插件,用于在Firefox上录制和回放Selenium脚本;
Selenium Grid:是自动化测试辅助工具,能够在不同的浏览器、操作系统和机器上并行运行测试用例;
Selenium RC:支持不同的语言编写测试脚本,分为两个部分,一个是客户端,另一个是服务端,服务端主要由三部分组成(Launcher、Selenium Core和Http Proxy),而Selenium Core本质上是JavaScript函数,通过这些JS函数对浏览器进行操作。
它的运行原理是:客户端负责编写测试脚本,然后将测试脚本发送给服务端,服务端接收到客户端的脚本后,通过Launcher启动浏览器,通过加载Selenium Core来操作浏览器,同时把浏览器的代理设置成Http Proxy。
(2)Selenium2.0
Selenium2.0相比于Selenium1.0,增加了WebDriver。
WebDriver其本质就是支持多种编程语言,能够直接操作浏览器的一套API,它的特点是支持多种浏览器,支持跨操作系统平台。
(3)Selenium3.0
Selenium3.0相比于Selenium2.0,去掉了Selenium RC;只支持Java8以上的版本;同时Selenium3.0中的Firefox浏览器驱动独立了,2.x及以前,是直接驱动浏览器,3.0开始,就要单独下载浏览器及驱动;并且Selenium3.0增加了对Edge和Safari原生驱动的支持。
4、appium
appium是目前移动平台上主流的自动化测试工具之一,是“application”和“Selenium”组合而成的词,是移动端的自动化测试工具,同样有开源、支持多语言和跨平台的特点。
appium扩展了WebDriver的协议,继承了WebDriver的API,适用于原生或混合应用的自动化测试工具,运用WebDriver驱动IOS和Android应用。(原生应用:用IOS或Android SDK开发的应用;混合应用:在原生应用中嵌入H5页面;)
它的运行原理是:通过客户端、服务端的设计模式,服务端随时监听客户端的请求,客户端通过调用API的方式向服务端发送Http请求,服务端通过bootstrap的jar包将请求翻译,并调用IOS的XCUITest或Android底层的uiautomator框架,框架内有丰富的api,即可操作手机控件。只要是客户端能够发送Http请求给服务端,那么客户端用什么编程语言来实现都是可行的,这也是appium支持多语言的原因。
没有找到相关结果
0 个回复