目录
过去一年接触了几款自动化测试工具,在此做个简单的比较总结。
测试工具应该不是重点,重点是对被测的应用程序类型/借口的协议需要熟悉,然后根据被测项目选择合适的测试工具。
表格1:UI自动化测试工具总结:
工具名称 | 适用范围 | 备注 |
QTP | 1〉商业化的功能测试工具。 2〉默认支持的应用程序类型:标准windows应用程序(Win32 API/MFC/...)、Web页面、ActiveX控件,VB应用程序;在加载额外插件的情况下,还支持:Java应用、.Net应用、... 3〉基于对象库的自动化测试;对象说的是应用程序中的实际对象。QTP对象库中需保存对象,运行脚步时根据对象属性/对象名称来寻找对象,进而对对象进行操作; 4〉支持VBScript编写脚本; | 脚本编辑界面不是很友好(需要借助其他的编辑器),安装完毕后占有内存较大; 资料比较多; |
Ranorex | 1〉支持WinForm、WPF、WEB2.0、Android、...; 2〉基于对象库(Xpath)的自动化测试;运行时根据对象属性来寻找对象,进而对对象进进行操作,对象可参数化; 3〉支持C#、VB、Python语言编写脚本; | 安装完毕后占用的内存较小; 资料比较少; |
Selenium webdriver | 1〉基于浏览器的开源自动化测试工具; 2〉适用于web应用的自动化测试; 3〉可以使用多种语言进行驱动 | selenium2是selenium与webdriver两个项目的合并。 |
Appium | 1〉Appium是开源的自动化测试框架,主要用于iOS,Android以及Windows apps等移动平台的自动化测试。官网的介绍说是它实现一套适用于移动端的WebDriver协议,所以使用Appium时用的还是依赖于Selenium,和Web自动化测试的主要区别就在Driver不一样。 2〉举一个例子,如果我们需要用Google Chrome来跑Selenium的自动化测试,那么首先需要一个ChromeDriver。如果需要跑在IE上,那么需要一个IEDriver。那么现在需要在移动端比如Android里跑Selenium,这时候你需要一个Appium就够了,它担当了Driver的角色。Appium实现了一套标准的WebDriver,只要Appium服务起来之后,你的代码只需要和Appium交互,Appium会去告诉设备该干嘛干嘛。这里提到的设备可以是iOS或者Android,甚至是Windows Phone 和Firefox OS |
备注:Selenium工具未实际应用过,待后续有时间再实践。
表格2:(接口)性能测试工具总结:
工具名称 | 适用范围 | 备注 |
Loadrunner | 1〉商业化的性能测试工具。 2〉被测接口的网络协议支持的话就可用来进行接口的性能测试;支持的常用协议有:Web(Http/HTML)、Soket、.NET、Web Service、数据库协议(ODBC/Oracle/SQLServer/...); 3〉脚本语言支持C、Java、VB、VBS,默认生成的脚本语言是C; | |
Apache Jmeter | 1〉来自官网的说明: the Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions 2〉接口的性能测试工具,支持的应用/服务/协议:Web(Http)、FTP、JDBC、JavaObjects、...... | 开源软件,Java源码 |
HttpRunner | 1〉HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 2〉开源的Python源码,地址 | 开源软件,Python源码 |
表格3:接口测试工具总结:
工具名称 | 作用 | 备注 |
Charles | 1〉来自官网的说明: Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information). 2〉可以用作http协议的抓包工具; | 非免费的。网上有破解版本可以用。 |
Fiddler | 1〉来自官网的说明: web debugging proxy for any browser、plaltform or system。 2〉可以用来抓取http协议的数据包 | 免费的 |
Postman | 1〉网页调试、发送http请求的接口测试工具 | 免费的 |