自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,主要是编写代码、脚本,让软件自动运行,发现缺陷,代替部分的手工测试;自动化测试可分为自动化性能测试、自动化功能测试,自动化功能测试包括了单元测试、接口测试、UI测试。
【整整200集】超超超详细的Python接口自动化测试进阶教程合集,真实模拟企业项目实战
接口自动化测试优点是“比较稳定和容易实现”,缺点是“用户操作真实性不强”;所以现在大部分互联网用它作为测试工作的铺助,是因为web和app自动化的缺点接口自动化测试都能进行弥补,
web自动化测试、APP自动化测试、接口自动化测试:
1、UI(WEB)自动化测试走主流程的测试、接口自动化测试走全面的测试:先布置接口的自动化测试用于测试和回归测试,特别在敏捷测试中,接口自动化测试应该占主体。后布置UI自动化测试用于住流程的回归测试。
2、UI(WEB)自动化测试与APP自动化测试结合:需要一个自动化测试框架的协调,可以进行UI自动化测试到APP接口层的长流程场景自动化测试,也可以进行UI自动化测试到APPUI层的长流程场景自动化测试。
3、接口自动化测试与APP自动化测试结合:其实和UI与APP自动化测试长流程的交换一样的原理,需要自动化测试框架的支撑。先进行接口测试用例的执行后进行APP的UI和接口测试的用例执行。
接口自动化测试工具简单对比和介绍:
框架名称 |
支持语言 |
支持协议 |
是否开源免费 |
入门成本 |
备注 |
jmeter |
http |
开源 |
低 |
专门针对http接口的进行性能以及接口测试工具,jmeter+maven+eclipse自动化测试,并生成Html报告。 |
|
postman |
http |
开源 |
低 |
postman是谷歌浏览器的扩展工具,postman与Jenkins持续集成,Jenkins+postman+newman实现简单的接口自动化测试。 |
|
loadrunner |
http |
商业 |
中 |
loadrunner不仅能做性能测试,同时也能做功能测试,还可以做接口的功能测试。 |
|
Fitnesse |
java,c,c++,python,php等 |
http |
开源 |
中 |
FitNesse是一个轻量级的开源框架,方便的定义接口验收测试。 |
Requests+unittest |
Python |
http |
开源 |
中 |
python+requests+unittest接口自动化框架稳定,Requests 支持 HTTP 连接保持和连接池(使用 Apache2 Licensed 许可证的 HTTP 库,发送http的网络请求主要包含post,get,PUT, DELETE, HEAD) ,支持 使用cookie保持会话 ,支持 文件上传 ,支持 自动确定响应内容的编码;unittest 框架是python自带的单元测试框架,包括测试脚本构成,测试脚本的运行,测试脚本集成,测试报告生成;同时可以利用xlrd数据驱动的读取,作用于excel文档,并且smtplib用于测试邮件的发送。 |
RF(Robot framework) |
Python, Java, C |
http |
开源 |
中 |
Robot framework提供简单的Libary API,可以使用Ptyhon或者java进行实现,支持简单易用的表格型语法,使得可以用统一方式创建测试用例,并且提供命令行接口也XML格式的输出文件(简单易读的报表和日志结果文件),非常容易进行持续集成。 |
TestNG |
java |
http |
开源 |
中 |
APIAutoTest是处理API接口的轻量级自动化测试框架,Java语言实现,基于TestNG测试框架,支持持续集成,自动构建与测试。 |
httpclient |
java |
http |
开源 |
中 |
java + httpclient + log4j + json + mybatis + excel + testng自动化框架 |
Junit |
Smalltalk, Java, C++, Perl 等 |
http |
开源 |
中 |
JUnit是开发源代码的 Java 测试框架,Junit框架是一个典型composite模式,TestSuite可以容纳任何派生自test的对象。 |
soupui |
java |
http |
开源&商业 |
中 |
soapUI-可用来进行接口自动化测试,现在很多手机APP以及web项目会涉及到接口的调用;soapUI+maven+Jenkins 搭建接口自动化持续集成平台 |
httprunner |
python |
http |
开源 |
低 |
HttpRunner是一个简单,优雅但功能强大的HTTP(S)测试框架 |