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

简介: 快速学习 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

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

相关文章
|
8月前
|
JSON 测试技术 API
优化你的 REST Assured 测试:设置默认主机与端口、GET 请求与断言
REST Assured 是一个强大的 Java 库,用于简化 RESTful API 测试。本文详解了其核心功能:设置默认主机和端口以减少代码重复、发起 GET 请求并验证响应结果,以及通过断言确保接口行为符合预期。同时推荐 Apipost 工具,助力开发者提升 API 测试效率,实现更高效的接口管理与团队协作。掌握这些技巧,可显著优化测试流程与代码质量。
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
1224 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
677 2
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
431 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
Java 测试技术 编译器
JMM测试利器-JCStress学习笔记
JMM测试利器-JCStress学习笔记
|
NoSQL Java API
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
279 0
|
缓存 Java 关系型数据库
Spring Boot实现RESTful接口架构实战(包括REST的讲解、定义、REST服务测试)
Spring Boot实现RESTful接口架构实战(包括REST的讲解、定义、REST服务测试)
666 0
java202303java学习笔记第四十六天-请求-postman接口测试
java202303java学习笔记第四十六天-请求-postman接口测试
224 0
|
SQL 缓存 运维
全链路压测(10):测试要做的准备工作
功能验证环境即用来验证技术组件本身的功能正确性和接入性能损耗的环境,有独立的随时可用的环境最好。如果考虑到成本,也可以用线下性能环境来进行验证。
全链路压测(10):测试要做的准备工作
|
测试技术
java202304java学习笔记第六十天-ssm-spring配置文件-完善测试环境
java202304java学习笔记第六十天-ssm-spring配置文件-完善测试环境
135 0