【测试平台系列】第一章 手撸压力机(五)- 结构化http请求配置

简介: 我们现在将上一级称之为TestObject(测试对象),现在我们梳理一下TO(测试对象简称,以后的文章中TO都代表测试对象)都需要哪些字段。

上一篇我们讲解了https如何进行认证,并将结构体进行了优化和完善,剩下的高级选项配置我们在以后再补充。接下来,我们继续为测试平台进行铺垫。现在我们已经完成了http请求的结构体,那么我们在测试平台中不可能只有http一种协议,所以我们还需要对上进行封装。
我们现在将上一级称之为TestObject(测试对象),现在我们梳理一下TO(测试对象简称,以后的文章中TO都代表测试对象)都需要哪些字段。

Name, 名称可以让我们见名知意
Id,   id可以作为唯一id来用,避免重复
ParentId, 父id让我们可以知道,该对象在哪个目录下
ObjectType, 对象类型,让我们知道它是什么类型的测试对象,比如http、websocket、dubbo等
ItemId, 项目Id, 可以知道它属于哪个项目
TeamId, 团队Id,  可以知道它属于哪个团队
SourceId, 源Id, 可以知道它引用的是哪个接口
ChannelId, 渠道Id, 可以知道它来自哪个渠道,比如yapi,postman等
ChannelType, 渠道类型, 同渠道Id

这样,我们大致知道了我们的TO都需要哪些字段,我们在model文件夹下新建test_object.go文件,TO结构体如下:

// Package model -----------------------------
// @file      : test_object.go
// @author    : 被测试耽误的大厨
// @contact   : 13383088061@163.com
// @time      : 2023/6/11 20:38
// -------------------------------------------
package model

type TestObject struct {
   Name        string // 对象名称
   Id          string // 唯一id
   ParentId    string // 父id
   ObjectType  string // 对象类型http、websocket、dubbo等
   ItemId      string // 项目Id
   TeamId      string // 团队Id
   SourceId    string // 源Id
   ChannelId   string // 渠道Id比如YApi,postman等
   ChannelType string // 渠道类型
   HttpRequest HttpRequest
}

因为在TO中已经有了Name,那么为了不必要的字段,我们将HttpRequest结构体的Name字段去掉,http_model.go文件中HttpRequest结构体如下:

package model

// HttpRequest http请求的结构
type HttpRequest struct {
   Url                string             // 接口uri
   Method             string             // 接口方法,Get Post Update...
   Headers            []Header           // 接口请求头
   Querys             []Query            // get请求时的url
   Cookies            []Cookie           // cookie
   Body               string             // 请求提
   HttpClientSettings HttpClientSettings // http客户端配置
}

现在我们编写TO的处理函数,test_object.go文件,如下:

// Package model -----------------------------
// @file      : test_object.go
// @author    : 被测试耽误的大厨
// @contact   : 13383088061@163.com
// @time      : 2023/6/11 20:38
// -------------------------------------------
package model

import (
   "kitchen-engine/client"
)

type TestObject struct {
   Name        string // 对象名称
   Id          string // 唯一id
   ParentId    string // 父id
   ObjectType  string // 对象类型http、websocket、dubbo等
   ItemId      string // 项目Id
   TeamId      string // 团队Id
   SourceId    string // 源Id
   ChannelId   string // 渠道Id比如YApi,postman等
   ChannelType string // 渠道类型
   HttpRequest HttpRequest
}

// Dispose 测试对象的处理函数,在go语言中 Dispose方法是TestObject对象的方法,其他对象不能使用

func (to TestObject) Dispose() {
   switch to.ObjectType {
   case HTTP1: // 由于我们有个多类型,为了方便统计,我们定义好变量,直接进行比对即可
      client.RequestHttp(to.HttpRequest)
   }
}

在这个方法中,我们有两个go的知识点需要了解:
第一个是func (x 对象) 方法名(),这种方式为该对象特有的方法,只有该对象本身及其实例可以使用,或者集成了该对象的对象使用。
第二个知识点, case HTTP1, HTTP1是我在constant.go中定义的常量,具体代码如下:

// Package model -----------------------------
// @file      : constant.go
// @author    : 被测试耽误的大厨
// @contact   : 13383088061@163.com
// @time      : 2023/6/11 21:14
// -------------------------------------------
package model

// go语言中使用const对常量进行声明,常量不可更改,后面随着对象或者其他常量的增加,我们会持续丰富常量表


// 测试对象常量
const (
   HTTP1 = "HTTP1.1"
)

好,今天我们先说到这里,下节,我们开始讲解如何使用log库。

相关文章
|
7天前
|
安全 应用服务中间件 网络安全
49.3k star,本地 SSL 证书生成神器,轻松解决 HTTPS 配置痛点
mkcert是一款由Filippo Valsorda开发的免费开源工具,专为生成受信任的本地SSL/TLS证书而设计。它通过简单的命令自动生成并安装本地信任的证书,使本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,已获得49.2K的GitHub Star,成为开发者首选的本地SSL工具。
|
8天前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
40 1
|
26天前
|
人工智能 监控 测试技术
云应用开发平台测试
云应用开发平台测试
42 2
|
8天前
|
监控 安全 测试技术
构建高效精准测试平台:设计与实现全攻略
在软件开发过程中,精准测试是确保产品质量的关键环节。一个高效、精准的测试平台能够自动化测试流程,提高测试覆盖率,缩短测试周期。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
28 0
|
1月前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
2月前
|
数据安全/隐私保护 Docker 容器
配置Harbor支持https功能实战篇
关于如何配置Harbor支持HTTPS功能的详细教程。
83 12
配置Harbor支持https功能实战篇
|
2月前
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
137 8
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
|
2月前
|
分布式计算 Hadoop Devops
Hadoop集群配置https实战案例
本文提供了一个实战案例,详细介绍了如何在Hadoop集群中配置HTTPS,包括生成私钥和证书文件、配置keystore和truststore、修改hdfs-site.xml和ssl-client.xml文件,以及重启Hadoop集群的步骤,并提供了一些常见问题的故障排除方法。
73 3
Hadoop集群配置https实战案例
|
2月前
|
Linux Docker Windows
Docker配置https证书案例
本文介绍了如何为Docker的Harbor服务配置HTTPS证书,包括安装Docker和Harbor、修改配置文件以使用证书、生成自签名证书、配置证书以及验证配置的步骤。
157 2
Docker配置https证书案例
|
2月前
|
应用服务中间件 网络安全 Apache
HTTPS配置
HTTPS配置
128 11

热门文章

最新文章