接口自动化/Rest-Assured
文章平均质量分 95
TesterAllen
理想还很远,但今天你努力了吗?学的越多,会的越少
展开
-
接口自动化测试的分层的浅显理解
本文以当前使用的自动化项目为例,浅谈分层设计的思路,不涉及到具体的代码细节和某个框架的实现原理,重点关注在分层前后的使用对比,可能会以一些伪代码为例来说明举例接口测试三要素参数构造发起请求,获取响应校验结果一、原始状态在我们用例没有进行分层的时候,只能算是一个“苗条式”的脚本,以一个后台创建商品活动的场景为例,大概流程是这样的(默认已经是登录状态下):创建商品-创建分类-创建优惠券-创建活动要进行接口测试的话,按照接口测试的三要素来进行,具体的效果如下:# 1、参数构造cr.原创 2021-02-22 14:32:27 · 3775 阅读 · 2 评论 -
04-Jenkins之基于接口自动化测试完成Jenkins+GitHub+Allure的结合
1、前提关于使用Jenkins创建job完成自动化测试,核心在于项目的拉取和执行,至于job的创建大同小异,需要了解的可以自行百度Google或参考文章:01-Jenkins之job创建、参数化与定时构建以及时区偏差填坑另外还需要的就是执行机的环境(以GitHub拉取项目为例),需要需要配置Java运行环境(我用的是jdk1.8)需要有maven环境需要有git环境需要将g...原创 2020-04-15 11:15:12 · 543 阅读 · 0 评论 -
Rest-assured获取日志到文件并结合Allure报告进行展示
本文仅作为我当前需求解决的一个经历记录,本人能力有限,菜鸟级别;若有幸被阅读到且提供了有效帮助,我深感荣幸;若对您无用或大佬有更好的方法,还望轻喷赐教,我将虚心请教拜读,谢谢~1、需求与方向1.1 问题产生在使用Rest-assured集合Allure运行完用例之后,查看生成的报告信息如下:我们可以看到在生成的报告中只有断言信息,而没有请求的日志信息,而当我们的用例失败时,特别是接口...原创 2020-04-14 11:04:17 · 1988 阅读 · 0 评论 -
04-接口自动化之请求传参的模板化技术(JsonPath与Mustache)
1、需求背景在实际的接口测试时,传参有时候可能需要很多,也可能我们就是想要一份完整的参数,必填项和非必填项都包含在内,好比如下的json:{ "store": { "book": [ { "category": "reference", "author": "Nigel Rees", "title": "Sayings o...原创 2020-01-14 16:23:04 · 898 阅读 · 0 评论 -
03-接口自动化框架REST Assured对Response结果的导出获取
1、前情回顾上一篇文章中介绍了rest-assured对返回结果的断言,最后说明了对于Response结果导出的需求,具体可参考文章:02-接口自动化框架REST Assured的断言实现这里就将继续研究rest-assured对response结果的导出获取,现有一个登录接口auth/oauth/token,接口的部分返回值如下:HTTP/1.1 200 OKServer: nginx...原创 2020-01-13 13:52:09 · 1249 阅读 · 0 评论 -
02-接口自动化框架REST Assured的断言实现
1、Json断言1.1 环境准备这里以rest-assured官方给的一个示例做演示学习{"lotto":{ "lottoId":5, "winning-numbers":[2,45,34,23,7,5,3], "winners":[{ "winnerId":23, "numbers":[2,45,34,23,3,5] },{ "winnerId":54, ...原创 2020-01-12 21:49:35 · 1468 阅读 · 0 评论 -
01-初识REST Assured-为Java量身定做的接口自动化框架
1、初识REST Assured1.1 描述在REST Assured的官方GitHub上有这样一句简短的描述:Java DSL for easy testing of REST services简约的REST服务测试Java DSL1.2 优点官方的README第一句话对REST Assured进行了一个优点的概述,总的意思表达的就是简单好用用Java做接口自动化测试首选REST...原创 2020-01-10 15:43:35 · 1228 阅读 · 0 评论 -
接口自动化-如何对接口数据通过Har形式获取
一、Har文件获取在Web端,使用Chrome浏览器,打开开发者工具(F12),我们可以对浏览器的行为进行抓包选中接口右击,选择Copy all as HAR,这样就可以把接口的内容全部都以HAR的形式复制了下来二、HAR reader将复制好的内容保存至以.json文件结尾的文本中,我们可以看到其实内容格式就是一种json格式,只不过有它定义好的格式规范在ent...原创 2019-08-27 08:10:10 · 1941 阅读 · 0 评论 -
接口自动化-用schema对接口返回值类型做校验-基于rest-assured
我们做接口自动化时,对接口返回值进行断言校验,除了常用字段的断言检测以外,还要对其他字段的类型进行检测原因:1、返回字段较多,无法保证每个字段都写断言2、防止后端未做null值的校验判断,如果因为版本变更或网络等原因造成某个不能接收null值的返回字段为null,就很有可能造成软件的崩溃3、某些数值是不能为负的4、小数点保留位数,对于股票的交易、医疗数据的分析,小数点的精确度都是有...原创 2019-08-21 15:41:40 · 1099 阅读 · 0 评论 -
接口自动化-接口请求数据准备-如何生成随机姓名、年龄、号码、email等
在做接口自动化测试的时候,经常需要一些随机的测试数据,这里提供一个个人使用的生成随机值的工具类,主要内容都已在代码中注释:package com.gvbrain.appApi.Utils;import java.util.Random;public class RandomValueUtil { private static String ALPHABET = "ABCDE...原创 2019-08-12 17:07:32 · 3755 阅读 · 0 评论 -
接口自动化-用rest-assured如何测试上传文件接口(multipart/form-data类型)
在用rest-assured做上传文件接口的自动化时,要注意两个地方,一个是content-type要使用multipart/form-data类型一个是要使用multiPart的api在rest-assured的官方GitHub上我们可以看到有关multiPart方法各种形式用法的介绍:这里以第一种multipart(File flie)的形式举例,贴出部分主要代码if (r...原创 2019-08-21 09:45:06 · 3287 阅读 · 0 评论 -
接口自动化-如何对多参数接口进行任意参数个数传参-基于Java建造者设计模式
接口我假设有这样一个接口:方法:post功能:根据不同的条件参数,如姓名、年龄、性别、受教育程度等来查询筛选患者用户Body:{ "educationTime": "string", "jobType": "string", "marrige": "string", "medicalHistory": 0, "medicationName": "string",...原创 2019-08-10 22:16:22 · 3573 阅读 · 0 评论 -
接口自动化-如何一套代码适配不同的测试环境-利用yaml进行不同环境间切换
测试时环境可能会发生变化,前期可能会在测试环境上进行,产品上线后可能又会在生产环境上进行测试,这样就需要改变url,对于请求来说,它的Host是固定的,无论在测试环境还是开发环境中;不同的就是域名背后真正的请求地址,那么只需要改变url中的请求ip地址即可。利用yaml文件进行数据文件驱动先看如何对yaml文件进行数据操作官方地址:https://github.com/FasterXM...原创 2019-08-06 17:48:37 · 1844 阅读 · 0 评论 -
接口自动化-rest-assured做接口自动化测试如何获取response响应内容
利用rest-assured做接口自动化测试,在执行用例时,有时候我们需要上一步请求的返回值作为参数,例如登录token,生成的用户id等;登录rest-assured的官方GitHub地址(https://github.com/rest-assured/rest-assured/wiki/Usage)查看文档发现实例演示现有如下关于患者信息的接口返回, Request me...原创 2019-06-26 15:01:10 · 3544 阅读 · 0 评论 -
接口自动化-用Jayway JsonPath对json文件进行读写操作,完成自定义传参
在做接口自动化测试时,我们经常会准备好一份json文件模板,写入默认值,作为接口请求body的备用;有时候我们需要对传入的值进行重新定义,那么除了修改模板json文件,还可以在执行用例时动态传入参数对接送文件进行修改。这里我们就用到Jayway JsonPath,官方GitHub地址:https://github.com/json-path/JsonPath官方提供了依赖地址: <...原创 2019-06-18 17:24:44 · 3487 阅读 · 0 评论 -
Java中对json字符串判断是否为数字,并将科学记数法转为原有数字类型
在对json字符串取值时,有些长数字被解析成了科学记数法的形式,导致接口请求失败;所以需要对json值进行类型判断并进行转换:利用java.math.BigDecimal可以创建对象对数字形式进行转换,同时可以利用其创建对象时的异常信息来进行数字判断判断是否为数字: public static boolean isNumeric(String str) { ...原创 2019-06-17 17:04:39 · 4907 阅读 · 0 评论