Backend Development 8 min read

Recap of FunTester Session: HttpClient Interface Testing and Performance Practices

The second FunTester sharing session covered HttpClient basics, FunTester’s encapsulation of HttpClient, and practical functional and performance testing techniques, providing resources, code examples, and templates for effective Java interface testing.

FunTester
FunTester
FunTester
Recap of FunTester Session: HttpClient Interface Testing and Performance Practices

Last week we held the second FunTester sharing session, themed "HttpClient Interface Testing Application", which went well and I’m summarizing it here.

The content was divided into three major parts:

HttpClient basic functionality introduction

FunTester encapsulation of the interface

Functional and performance testing practice

The full video is nearly three hours long; for safety and length considerations I trimmed it into seven short segments, each focusing on a single topic.

Resources

FunTester testing framework Git address: https://gitee.com/fanapi/tester , branch oker ; swagger3 API documentation: http://121.5.199.240:8080/swagger-ui/#

Opening

We briefly discussed Java fundamentals and some previous performance testing service topics and preparation work.

HttpClient Overview

I first shared my understanding of HttpClient , which is more of a utility library than a framework. Using a GET interface from a performance testing service, I demonstrated HttpClient’s three core functions: "Create Request" , "Send Request" , and "Parse Response" . The following content also revolves around these three core functions, using the default method to create the client.

FunTester Encapsulation

In this section I mainly shared how the "FunTester" framework encapsulates HttpClient , divided into three categories: "Create Request" , "Send & Parse Response" , and "Utility Methods" . Content about building a high‑performance client is placed in the performance testing module. I also shared some of my encapsulation experience from functional interface testing.

Tools and Language

I discussed the differences between "Using Tools" and "Using Languages" for interface testing based on my own experience, and presented a testing scheme for probabilistic interfaces.

HttpClient Performance Testing

This part revisits a PPT I previously shared, covering three areas: "HttpClient connection pool configuration" , "Other HttpClient settings" , and "HttpClient resource recycling" .

Performance Testing Template

I used an HTTP protocol interface performance testing template class com.funtester.frame.thread.RequestThreadTimes to demonstrate how to conduct performance tests for a single interface and for multiple interfaces with a single request.

Custom Performance Testing Template

Besides the built‑in testing templates provided by "FunTester" , most performance testing scenarios require users to create custom performance testing templates (inner classes). Through two dependent‑interface test scenarios, I demonstrated how to quickly customize a performance testing template and then run performance tests.

We look forward to everyone joining the "FunTester" learning sharing sessions.

"FunTester" , Tencent Cloud Annual Author , Boss Direct Hire Author , GDevOps Official Partner Media , non‑famous test developer, welcome to follow.

FunTester Framework Architecture Overview

Arthas Quick Start Video Demo

How to Become a Full‑Stack Automation Engineer

JsonPath Utility Class Unit Testing

Socket Interface Fixed QPS Performance Testing Practice

2021 Automation Testing Trends [Translation]

How to Test Non‑Fixed Probabilistic Algorithm P=p(1+0.1*N)

Appium 2.0 Overview

Data‑Driven Automation Testing

Selenium Parallel Testing Best Practices

Selenium Automation Testing Tips

Groovy in JMeter for Header Handling

Click to read the original article and view the public account’s historical posts.

JavaPerformance Testinginterface testingHttpClientFunTester
FunTester
Written by

FunTester

10k followers, 1k articles | completely useless

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.