当前位置:网站首页>接口测试-简单的接口自动化测试Demo
接口测试-简单的接口自动化测试Demo
2022-07-23 06:33:00 【深海呐】
语言选用:Java
开发工具:IDEA
接口访问:原生访问 或 Hutool(本文使用)
第一步:使用IDEA创建一个新项目
如图所示,选择Maven 下一步
第二步,在pom.xml文件中添加Hutool依赖
(Hutool : 用于接口请求,相对于原生的方式更简洁)

在这里复制:
<dependencies>
<!-- Java工具类库 其中包含接口请求的相关封装 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.5.2</version>
</dependency>
</dependencies>第三步,创建DemoApplication.java文件,并创建Main方法

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import java.net.HttpCookie;
import java.util.HashMap;
import java.util.Map;
public class DemoApplication {
/**
* author:深海呐
* affect:应用入口
*/
public static void main(String[] args) {
//自动化接口请求
initTest();
}
private static void initTest() {
String url = "http://123.444.55.666/xxx/xxx";
for (int i = 0; i < 400; i++) {
doPost(url, i);
// doGet(url,i); 与post类似,HttpRequest.post(apiUrl) 换成 HttpRequest.get(apiUrl)
// 然后参数动态拼接到url即可
}
}
/**
* post请求
* */
private static void doPost(String apiUrl, int tag) {
//一般用不上,如果特殊情况需要传Cookie的话 解注以下三行代码和下面的 # 注释处
// HttpCookie cookie = new HttpCookie("TestCode","code");
// cookie.setMaxAge(3600*24*7); //设置cookie有效时间,以s为单位 7天
// cookie.setPath("/"); //设置cookie的有效域,比如"/a/" 则表示在项目下/a的路径下cookie有效,值得注意的是必须以"/"结束
// cookie.setDomain("123.444.55.666");
// 添加请求头信息
Map<String, String > heads = new HashMap();
heads.put("Content-Type", "application/json;charset=UTF-8");
heads.put("TestCode", "code");
HttpResponse response = HttpRequest.post(apiUrl)
//.cookie(cookie) // # 添加Cookie
.headerMap(heads, false)
.body("{ \"projectId\":\"Pj4004004"+tag+"\"," +
"\"projectLocalID\":" + "\"4"+tag+"\"," +
"\"projectLocalName\":\"4"+tag+"\"," +
"\"projectName\":\"40"+tag+"\" }")
.timeout(5 * 60 * 1000)
.execute();
System.out.println(response);
}
}
相关调用逻辑尽量写在initTest方法中
第四步: 运行 - 这也是最后一步

点击这里两个绿色三角图标的其中一个即可成功运行。
Demo下载地址:
好了,文章到这里就结束了,如果您有不同的见解或者有疑问的话欢迎到评论区留言。
如果您感觉深海写的不错的话,请给文章点个赞吧,感谢各位的支持!
边栏推荐
- Opencv image processing (medium) image smoothing + histogram
- 成功 万象奥科与CODESYS技术联合调测
- DeFi 永不消亡?
- Space shooting part 1: player spirit and control
- Introduction to radar part vii 1 radar and resolution
- 深入理解微信小程序的底层框架(一)
- 给1万帧视频做目标分割,显存占用还不到1.4GB | ECCV2022
- Opencv image processing (Part 2): edge detection + template matching + Hough transform
- 动态规划每日一练(1)
- 0722~ thread pool extension
猜你喜欢

When using fastjson to parse and assign JSON data, the order of JSON fields is inconsistent

PHP connecting to SQL Server

倍福PLC和C#通过ADS通信传输bool类型变量

Quelle est la raison pour laquelle la plate - forme easygbs ne peut pas lire l'enregistrement vidéo et a un phénomène de streaming répété rtmp?
![[jzof] path in matrix 12](/img/33/426386fc3dc3e32b6968d30034d66a.png)
[jzof] path in matrix 12

倍福PLC和C#通过ADS通信传输String类型

倍福PLC和C#通过ADS通信传输Bool数组变量

Ti single chip millimeter wave radar code walk (XXV) -- angular dimension (3D) processing flow

Uncaught (in promise) Neo4jError: WebSocket connection failure. Due to security constraints in your

Introduction to radar part vii 2 imaging method
随机推荐
[jzof] 09 realize queue with two stacks
Charles' bag grabbing tool test practice
“算力猛兽”浪潮NF5468A5 GPU服务器开放试用免费申请
"100 Android interview questions" I brushed angrily for Dachang
分类模型的评估
成功 万象奥科与CODESYS技术联合调测
射击 第 1-01 课:入门
第九天笔记
"Computing beast" Inspur nf5468a5 GPU server open trial free application
[jzof] 10 Fibonacci series
Beifu PLC and C transmit bool array variables through ads communication
com.mysql.cj.jdbc.exceptions. MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value:
JVM detailed parsing
PHP connecting to SQL Server
【NOI模拟赛】不知是哪一道CF的论文题(概率期望,鞅的停时定理)
0722~ thread pool extension
[noi simulation race] I don't know which CF paper title it is (probability expectation, martingale's stop time theorem)
NFT 交易市场的格局之变:从一家独大到百家争鸣
Notes on the ninth day
Day 10 notes
