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也会更加简单。

转载于:https://www.cnblogs.com/huangmr0811/p/5570962.html

Web自动化测试中的接口测试相关推荐

  1. Web自动化测试中使用groovy实现页面的对象化

    一. 现状 在自动化的过程中, 我们知道web自动化测试的开发和维护成本是比较高的,能否采用技术以及流程改进等手段来降低web自动化测试的成本呢? 我们先看看目前的实现方式,通常,实现步骤如下:(1) ...

  2. 软件测试自动化验证码,借助 OCR,协助绕过 web 自动化测试中一些简单验证码问题。...

    前言 做软件自动化的时候,最怕就是在登录的时候遇到验证码.以前的经验是让开发设置一个万能码或者把验证码屏蔽掉.现在人工智能发展很快,有一些库可以帮助我们识别这验证码,将这些库引入到我们自动化代码中,就 ...

  3. 【深度学习浅尝】web自动化测试中识别图片算术验证码

    本文参考实验楼课程:Python实现深度神经网络. 声明 我也是机器学习零基础,在本次实践中,仅仅是个人对机器学习的理解,由于水平有限,难免存在不对之处.因此对机器学习中涉及到的原理和概念还是建议参考 ...

  4. web自动化测试-第五讲: 三大切换

    三大切换:窗口切换.iframe切换.alert切换 为什么要讲这三个切换呢?第四讲我们讲过,"Message: no such element: Unable to locate elem ...

  5. Web自动化测试如何做?Web自动化测试的详细流程和步骤

    一.什么是web自动化测试 自动化(Automation)是指机器设备.系统或过程(生产.管理过程)在没有人或较少人的直接参与下,按照人的要求,经过自动检测.信息处理.分析判断.操纵控制,实现预期的目 ...

  6. Web自动化测试怎么做?Web自动化测试的详细流程和步骤

    一.什么是web自动化测试 自动化(Automation)是指机器设备.系统或过程(生产.管理过程)在没有人或较少人的直接参与下,按照人的要求,经过自动检测.信息处理.分析判断.操纵控制,实现预期的目 ...

  7. 软件测试之Web自动化测试怎么做?Web自动化测试的详细流程和步骤

    1.什么是web自动化测试 自动化(Automation)是指机器设备.系统或过程(生产.管理过程)在没有人或较少人的直接参与下,按照人的要求,经过自动检测.信息处理.分析判断.操纵控制,实现预期的目 ...

  8. 1121Selenium web自动化测试经验分享-模拟键盘操作的三种类;推荐使用PyUserInput模块

    在Web自动化测试中,有时候会用键盘来输入内容,没那么常用,但分享下我爬的坑. 个人博客:https://blog.csdn.net/zyooooxie 第一个:keys模块 WebDriver中对键 ...

  9. python接口测试非json的断言_荐在接口自动化测试中,如何利用Pytest + JSONPath 进行接口响应断言...

    之前有一篇文章,介绍了如何使用JSONSchema对接口响应进行断言,主要的适用场景是对响应的数据结构进行校验,保证客户端收到的数据结构稳定和合法.今天,介绍使用JSONPath对接口响应的值进行断言 ...

最新文章

  1. 记者因报道大厂负面遭遇死亡威胁,幕后黑手被判入狱18个月
  2. python北京理工大学推荐的书-Python教程书籍(北理工第2版)思考练习-第三章
  3. SpringBoot整合springDataJpa实现图片上传和显示
  4. cpu飙升 死循环_java排查一个线上死循环cpu暴涨的过程分析
  5. 中video拖动_【小功能】UE4中实现UI的拖拽
  6. 微软反垄断案新突破 Win10系统或需剥离可信计算
  7. 360美女运营孙哲:生活就应像花朵一样绽放
  8. linux释放cache
  9. 大数据_Hbase-原理介绍 安装---Hbase工作笔记0004
  10. Unit25 Congratulation
  11. 朴素贝叶斯 半朴素贝叶斯_SQL Server中的朴素贝叶斯预测
  12. 如何删减QQ无用功能 为系统彻底减负
  13. 下载pip、安装pip
  14. 360 n5 com.android.sc,360N5官方稳定版刷机包(最新系统刷机固件升级包V3.0稳定版)...
  15. 关于HTTP GZIP解压问题
  16. 在matlab中开根号,请问,在matlab里面如果输入开方号(根号)?如9的开方怎么写?...
  17. 移动热点服务的属性此计算机,Win10打开移动热点的四种方法
  18. IOS平台开发实战培训
  19. 038 Divisible Subsequences
  20. 精准身份证号验证的具体实现方法 校验码计算逻辑

热门文章

  1. jar包与aar包的区别
  2. websocket server client 编写
  3. linux gcc编译器误用-MM导致出现linker input file unused because linking not done
  4. 三人表决器_数电小实验之三人表决器
  5. csredis封装_ASP.NET Core 2.0下使用Redis——基于CSRedis实现
  6. 【linux】telnet ctrl+c 不退出问题解决
  7. 95-34-035-Context-HeadContext和TailContext
  8. 【Elasticsearch】Elasticsearch 的异步搜索原理解析 _async_search
  9. 60-400-240-使用-binlog-Canal使用文档md
  10. 【Flink】CSV 文件写入 追加写入 CsvWriter 的使用