Web自动化测试中的接口测试
1.2.3 接口可测性分析
接口显而易见要比UI简单的都,只需要知道协议和参数即可完成一次请求,从自动化测试实施难易程度来看,有以下几个特征:
1)驱动执行接口的自动化成本不高:HTTP,RPC,SOAP,RMI等各类都可以依据相应的协议封装一个client作为接口请求的执行器。
2)整个自动化测试中综合性价比高:接口测试还是属于黑盒范畴,所以比单元测试难度要低;而相比UI自动化稳定性可靠性更高。
2、接口测试工具选型
2.1 常见测试工具
2.1.1 JUnit
JUnit作为单元测试框架常被用作白盒测试,框架具备的一些优良特征有:
1)提供丰富API支持多种验证结果正确性的逻辑
2)通过参数化、@before、@after等特性,支持用例代码可复用
3)suite的模式支持case的批量运行
4)有展现良好的报表
5)与eclipse ide集成,使用方便
2.1.2 HttpClient
HttpClient是一个功能丰富支持HTTP协议的客户端编程工具包,具备以下主要功能:
1)封装实现了所有HTTP的方法,如GET,POST,PUT,HEAD
2)支持redirect,会话保持
3)支持文件上传
2.1.3 HttpUnit
HttpUnit是一个HTTP请求的测试辅助工具,能处理web测试的需求。通过模拟浏览器的行为,处理HTTP请求、会话保持、重定向以及对HTTP?response做DOM解析。
相比于HttpClient,不同之处在于:
1)HttpUnit能对HTTP返回的结果页进行解析,比如DOM元素定位
2)HttpUnit能自己启动一个servlet来运行被测服务
2.1.4 HtmlUnit
HtmlUnit相比HttpUnit功能更加强大,就像一个浏览器,HtmlUnit是Junit的扩展测试框架之一,该框架模拟浏览器的行为,开发者可以使用其提供的API对页面的元素进行操作。HtmlUnit支持HTTP,HTTPS,COOKIE,表单的POST和GET方法,能够对HTML文档进行包装,页面的各种元素都可以被当作对象进行调用,对JavaScript的支持也比较好。
2.1.5 JWebUnit
JWebUnit以HttpUnit和JUnit为基础的一个web测试工具。可以用来验证链接跳转、表单输入和提交、表格内容以及其他?Web?应用程序特性的正确性。相比于HtmlUnit,JWebUnit封装的更友好,编写case也会更加简单。
Web自动化测试中的接口测试的更多相关文章
- (转)Web自动化测试中的接口测试
1.背景 1.1 Web程序中的接口 1.1.1 典型的Web设计架构 web是实现了基于网络通信的浏览器客户端与远程服务器进行交互的应用,通常包括两部分:web服务器和web客户端.web客户端的应 ...
- web自动化测试中绕开验证码登陆的方式
web自动化测试中登陆需验证码是很大的一个困扰.现推荐一种简单的避开验证码登陆的方式,先代码进入登录页,人工输入验证码登录后浏览器自动保存cookie,再在新的标签中登录. 具体代码如下: publi ...
- python web自动化测试中失败截图方法汇总
在使用web自动化测试中,用例失败则自动截图的网上也有,但实际能落地的却没看到,现总结在在实际应用中失败截图的几种方法: 一.使用unittest框架截图方法: 1.在tearDown中写入截图的 ...
- JavaScript在web自动化测试中的作用
前言 JS的全称JavaScript,是一种运行在浏览器中的解释型脚本语言,通常用来实现web前端页面的基本功能,对于前端开发人员是不得不掌握的一门基本技能,但是对于做web自动化测试的人员来说,如果 ...
- web自动化测试中接口测试学习笔记
一.web基础 web是实现:客户端浏览器端<—————>服务端 交互的应用: web通常包含两部分:web客户端.web服务端:web客户端技术包含html.javascript.aj ...
- TestNG测试框架在基于Selenium进行的web自动化测试中的应用
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ TestNG+Selenium+Ant TestNG这个测试框架可以很好的和基于Selenium的 ...
- web自动化测试中的PO模式(一)
1.PO模式的思想 原理: 将页面的元素定位和元素行为封装成一个page类 类的属性:元素的定位 类的行为:元素的操作 页面对象和测试用例分离 测试用例: 调用所需要页面对象中的行为,组成测试用例 测 ...
- Web UI自动化测试中绕开验证码登陆方式浅谈
web自动化测试中让测试者感到困惑的是登陆验证码,每次都不一样.现在推荐一种绕开验证码登陆的方式,其实就是将web浏览器获取的登陆cookie加载到程序中就可以了,这样程序就会认为你已经登陆,就可以跳 ...
- RobotFramework教程使用笔记——web自动化测试弹窗处理
在web自动化测试中会遇到各种弹出框,在selenium中有对这些弹出框的处理. 弹出框一般有这么几类: 1.普通的弹出窗口,如果是可以定位的,直接定位到窗口,然后进行相应的操作. 2.如果是浏览器系 ...
随机推荐
- hutool-all 包把实体Bean转化成字符串,以及把字符串转化成Bean对象
GxyJobEntity gxyJobEntity1 = new GxyJobEntity(); gxyJobEntity1.setUserId("user001"); gxyJo ...
- kettle在linux下面用于shell脚本执行:转换或者作业
1 将windows下面创建好的转换,放到Linux某一个文件夹下面.如:把0816_em.ktr文件放到/home/cfj/kettle/testdemo下面. 注意里面的数据库用户名和密码可能需要 ...
- 奥比中光Astra Pro的使用(1)
在ubuntu上的使用 首先下载SDK以及OpenNI安装包,下载地址: 解压两个安装包 切换目录到AstraSDK-Linux下的install目录,并输入命令:sudo sh ./install. ...
- Redis集群的原理和搭建(转载)
转载来源:https://www.jianshu.com/p/c869feb5581d Redis集群的原理和搭建 前言 Redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得 ...
- 【并行计算-CUDA开发】warp是调度和执行的基本单位而harf-warp为存储器操作基本单位
1.在用vs运行cuda的一些例子时,在编译阶段会报出很多警告: warning C4819 ...... 解决这个警告的方法是打开出现warning的文件,Ctrl+A全选,然后在文件菜单:file ...
- C学习笔记-字符串的格式化输出和输入
存储方式 字符串是内存中一段连续的char空间,以'\0'结尾 字符串就是0结尾的连续char的内存 '\0' <=> 0 <=> null printf函数,putchar函 ...
- 查看vue-cli3的webpack的配置信息
参考链接:https://www.cnblogs.com/cag2050/p/10523096.html
- mysq的慢查询日志
MySQL 慢查询日志是排查问题 SQL 语句,以及检查当前 MySQL 性能的一个重要功能. 查看是否开启慢查询功能: mysql> show variables like 'slow_que ...
- day20 logging模块、re模块
今日内容: 1.logging模块 2.re模块 1.logging模块 -- 什么是logging模块 -- logging模块是用来进行记录日志的模块,主要作用是将想要输出的日志进行分级,然后以不 ...
- Redis(1.6)Redis发布订阅
[0]发布订阅架构图 客户端订阅某个频道,让后有人在频道上发布信息,频道就分发给所有的客户端. 举个例子:就和微信公众号一样,文章作者者把文章发到微信公众号上,微信公众号平台把文章推送到所有的订 ...