首页 > 其他分享 >golang分层测试之http接口测试入门教程

golang分层测试之http接口测试入门教程

时间:2022-11-18 16:14:10浏览次数:40  
标签:http 请求 err resp 入门教程 接口 golang 测试

前言

前几话主要讲解关于使用golang进行单元测试,在单元测试的上一层就是接口测试,本节主要讲使用golang进行接口测试,其中主要以http协议的接口测试来讲解

golang中的http请求

golang中拥有一个原生的http依赖库:net/http,http服务器的建立还是http客户端的开发,都会使用到这个依赖库,这里主要讲解时client部分,作为请求发起方应用于日常的接口测试,例示代码如下:

get请求

package main

import (
 "fmt"
 "io/ioutil"
 "net/http"
)

func main() {
 //模拟一个get提交请求
 resp, err := http.Get("http://127.0.0.1:12345/checkon")
 if err != nil {
  panic(err)
 }
 defer resp.Body.Close() //关闭连接
 body, err := ioutil.ReadAll(resp.Body) //读取body的内容
 fmt.Println(string(body))
}

 结果

E:\go_project>go run testget.go
{
 "code": 200,
 "data": "",
 "msg": "online",
 "state": "success"
}

post请求:

package main
import (
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "strings"
)
func main(){
    url:="http://www.shop.com:8088/Api/Weixinapi/getCommentsTypes/"
    resp,err:= http.Post(url,"application/x-www-form-urlencoded",strings.NewReader("goodsId=123")) //如果多个参数后面紧跟
    if err != nil {
        log.Println("is error")
        log.Println(err)
        return
    }
    defer resp.Body.Close()
    data,_:= ioutil.ReadAll(resp.Body)
    fmt.Println(string(data))
}

结果:

{"respMsg":"\u6210\u529f","resultCode":"0000","data":{"typesList":[{"evaluateId":0,"evaluateanem":"\u5168\u90e8"},{"evaluateId":1,"evaluateanem":"\u6709\u56fe\u8bc4\u4e
f7 (0)"},{"evaluateId":2,"evaluateanem":"\u597d\u8bc4 (0)"},{"evaluateId":3,"evaluateanem":"\u4e2d\u8bc4 (0)"},{"evaluateId":4,"evaluateanem":"\u5dee\u8bc4 (0)"}]}}

带json的post请求

我们大部分应用到的restful接口都是用json格式的请求体,对应的golang的http请求也会有相关的方式post json请求体

 

标签:http,请求,err,resp,入门教程,接口,golang,测试
From: https://www.cnblogs.com/zh718594493/p/16903578.html

相关文章

  • http协议
    一、http协议1、什么是协议?通信的双方的一种约束2、什么是http协议?(超文本传输协议)它是一种互联网请求和响应的协议。请求和响应要成对出现,有请求一定要有响应。......
  • 肖sir__车载测试__车机影音娱乐系统的语音唤醒交互测试
    车机影音娱乐系统的语音唤醒交互测试随着多屏联动、语音识别、手势控制、增强现实、云交互等新技术的涌现,智能座舱功能交互越来越丰富、越来越复杂。 下面我们就来讲讲......
  • 为什么市面上几乎没有静态HTTP套餐
    我们知道,HTTP代理按时效长短,可分为动态和静态,但市面上大多数HTTP代理套餐都是动态的,很少有静态代理套餐,这是为什么呢?众所周知,大多数业务使用HTTP代理是因为请求量......
  • HTTP代理不同套餐价格区别在哪里
    同样都是HTTP代理,有的服务商是500元一个月,有的服务商是680元一个月,为什么不同的HTTP代理套餐价格都不一样呢?在日常生活中,我们买东西也是一样,同样都是轿车,不同的品......
  • 进行抓取时为何要用HTTP代理
    因为采集数据时,网站会设置一些反爬的策略,就是为了防止网络爬虫,有一个最主要的策略就是针对网络IP进行限制,爬虫数据用一个IP长时间反复快速收集数据,会被反爬程序识别为......
  • 用浏览器 实现断点续传 (HTTP)
    ​ 第一点:Java代码实现文件上传FormFilefile=manform.getFile();StringnewfileName= null;Stringnewpathname= null;StringfileAddre= "/numUp";try{......
  • 接口自动化测试实践指导(上):接口自动化需要做哪些准备工作
    为什么做接口自动化什么是接口测试?接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要......
  • golang http proxy反向代理
    第一种方法后端代码:packagemainimport("io""net/http")funcweb1Func(whttp.ResponseWriter,r*http.Request){io.WriteString(w,"<h1>this......
  • 用网页 实现断点续传 (HTTP)
    ​ 前言文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好......
  • 软件测试——软件安全质量的保证
    软件测试——软件安全质量的保证软件在社会生产生活等诸多方面均有广泛应用,给人们创造了很多便利条件,在未来其将会有更宽阔的发展前景。软件质量安全是社会公众高度重视......