Rest 测试准备工作|学习笔记

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 快速学习 Rest 测试准备工作

开发者学堂课程【RocketMQ 知识精讲与项目实战(第二阶段)Rest 测试准备工作】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/703/detail/12442


Rest 测试准备工作


内容介绍:

一、Rest 测试准备工作

二、总结


一、Rest测试准备工作

Pay-web 补充完整

Name:com.itheima.shop.PayWebApplication

image.png

@EnableDubboConfiguration

@SpringBootApplication

public class PaywebApplication {

public static void main(string[] args) {

springApplication.run(PaywebApplication.class,args);

}

}

Web 端启动时使用的 mpom 插件启动,插件是不能冲突的

OrderWeb 在8080上启动,在 pay-web 要进行修改,在 Spring boot 上

server.host=http:// localhost

server.servlet.path=/pay-web

server. port=9090

server. port 改成9090

启动

发起 http 请求分别访问 orderController 与 PayController 两个方法

传递 json 格式数据

微服务开发后,是一个前后端分离的项目架构

对服务端人员,不考虑前端项目的处理,只需要对请求使用测试

没有界面使用 RestTemplate 测

首先在两个 web 端加入 RestTemplate

使用 RestTemplate,首先配置成一个密码

RestTemplate 本身不提供 http 客户端的请求,需要借助于架包完成客户端请求的发起,使用 http client 发起请求,RestTemplate 分装,先将 RestTemplate 进行配置

在两个客户端建立 config 包

image.png

创建 RestTemplateConfig

@Configuration

public class RestTemplateconfig {

@Bean

@conditiona1onMissingBean({ Restoperations.c1ass,RestTemplate.class })

public RestTemplate

restTemplate(c1ientHttpRequestFactory factory) {

RestTemplate restTemplate = new RestTemplate(factory);

//使用utf-8编码集的 conver 替换默认的 conver(默认的 string conver 的编码集为"ISo-8859-1")

List<HttpMessageconverter<?>> messageconverters =

restTemplate.getMessageconverters();

Iterator <HttpMessageconverter<?>> iterator =

messageconverters.iterator();

while (iterator. hasNext() {

HttpMessageconverter<?> converter = iterator. next();

if (converter instanceof stringHttpMessageconverter){

iterator.remove(;

}

}

messageconverters.add(new

stringHttpMessageconverter(charset.forName("UTF-8")));

return restTemplate;

}

@Bean

@conditiona1onMissingBean({clientHttpRequestFactory.class})

public clientHttpRequestFactory

simplec1ientHttpRequestFactory( {

simplec1ientHttpRequestFactory factory = new

simplec1ientHttpRequestFactory();

// ms

factory.setReadTimeout(15000);

// ms

factory. setconnectTimeout(15000);

return factory;

}

}

有一个 RestTemplate Bean 的配置,有专门的 c1ientHttpRequestFactory 第三方架包进行分装,导入simplec1ientHttpRequestFactory 工厂 bean,RestTemplate 分装,直接使用 RestTemplate 进行 http 订单发起

在上方加入@Configuration

在 pay-web 中加入 config 包,将 config 复制,两个工程是独立的

通过 RestTemplate 进行测试,准备工作完成

在配置文件中配置路径信息

两个 web 端启动时端口不能冲突,一个8080,一个9090,每个项目都有工程名,order-web 与 pay-web

在 order-web 中有 Dubbo 配置,

#dubbo

spring.application.name=dubbo-order-consumer

spring.dubbo.application.id=dubbo-order-consumer

spring.dubbo.application.name=dubbo-order-consumerspring.dubbo.registry.address=zookeeper://

192.168.25.140:2181;zookeeper://192.168.25.140:2182;

shop.order.baseURI=${server.host}:${server.port}${server.servlet.path}

shop.order.confirm=/order/confirm

对本处进行处理,是 Dubbo 的消费方法

配置 zookeeper 集群的地址,配置当前访问路径,方便使用

请求地址时,将

shop.order.baseURI=${server.host}:${server.port}$

{server.servlet.path}

shop.order.confirm=/order/confirm

两个属性值拼接

在 pay-web 中

#dubbo

spring.application.name=dubbo-pay-consumer

spring.dubbo.application.id=dubbo-pay-consumer

spring.dubbo.application.name=dubbo-pay-consumerspring.dubbo.registry.address=zookeeper://

192.168.25.140:2181;zookeeper://192.168.25.140:2182;

shop.pay.baseURI=${server.host}:${server.port}$

{server.servlet.path}

shop.pay.createPayment=/pay/createPayment

shop.pay.cal1backPayment=/pay/callbackPayment

baseURI 是 service.host 的主机加端口加项目名

有两种方法,一是下单 createPayment,一是 createPayment

image.png

将地址配置,测试时只需要将二者进行拼接,即为请求路径


二、总结

测试通过 RestTemplate 测试,配置 RestTemplate 的bean,bean 需要用的具体的 http client,在下方配置http client

配置文件中配置请求路径,便于测试

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
2月前
|
Java 测试技术 编译器
JMM测试利器-JCStress学习笔记
JMM测试利器-JCStress学习笔记
|
2月前
|
NoSQL Java API
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
75 0
|
2月前
|
缓存 Java 关系型数据库
Spring Boot实现RESTful接口架构实战(包括REST的讲解、定义、REST服务测试)
Spring Boot实现RESTful接口架构实战(包括REST的讲解、定义、REST服务测试)
73 0
|
11月前
java202303java学习笔记第四十六天-请求-postman接口测试
java202303java学习笔记第四十六天-请求-postman接口测试
61 0
|
测试技术
java202304java学习笔记第六十天-ssm-spring配置文件-完善测试环境
java202304java学习笔记第六十天-ssm-spring配置文件-完善测试环境
58 0
|
SQL 缓存 运维
全链路压测(10):测试要做的准备工作
功能验证环境即用来验证技术组件本身的功能正确性和接入性能损耗的环境,有独立的随时可用的环境最好。如果考虑到成本,也可以用线下性能环境来进行验证。
全链路压测(10):测试要做的准备工作
|
关系型数据库 OLAP API
测试 API|学习笔记
快速学习测试 API
122 0
测试 API|学习笔记
|
存储 SQL 监控
PolarDB-X 进行 TP 负载测试(三)| 学习笔记
快速学习 PolarDB-X 进行 TP 负载测试。
323 0
PolarDB-X 进行 TP 负载测试(三)| 学习笔记
|
Web App开发 数据管理 Devops
自动化测试技术笔记(二):准备工作的切入点
要做web的UI自动化测试,工具选择了selenium,我们常用的浏览器是chrome,用户使用环境是windows,自动化测试要求快速无感执行,就需要考虑Linux环境下基于chrome浏览器的case执行(chromium),还要考虑Linux操作系统对chrome的适配问题(centos和uhuntu,以及centos的版本选择6.5还是7.2),甚至还要考虑浏览器驱动的适配问题。
|
SQL 存储 关系型数据库
PostgreSQL 流复制搭建主从环境,同步和异步的解释,压力测试,主从角色切换|学习笔记
快速学习PostgreSQL 流复制搭建主从环境,同步和异步的解释,压力测试,主从角色切换
794 0
PostgreSQL 流复制搭建主从环境,同步和异步的解释,压力测试,主从角色切换|学习笔记