Я использую Jmeter для моделирования части клиета и работаю хорошо, я отправляю запрос, получаю ответы и утверждаю их и т. Д., Но сейчас я нахожусь в другой ситуации, которую пытаюсь решить с помощью Jmeter (не уверен, что то же самое можетрешается или не используется Jmeter)
После некоторого отсутствия запросов / ответов http соединение tcp закрывается с сервером приложений, а затем при каком-то триггере приложения отправляет запрос http get на jmeter и ожидает, что jmeterотправьте 200 ok
после вышеупомянутой транзакции http get и 200 ok, мы хотим отправить еще пару http запросов от jmeter
. Не знаю, как настроить JMeter в качестве сервера, чтобы он прослушивалсяданный порт и отправляет определенный сэмплер при получении get
Я не имею ни малейшего представления, чтобы решить эту проблему, но я искал решения и вижу, что мы можем запустить JMeter как сервер по serversocket в сэмплере JSR223, как показано нижено не уверен, как запустить его в течение определенного времени или навсегда и отметить тест dодин, если запрос на соединение не получен
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server
{
private static Socket socket;
public static void main(String[] args)
{
try
{
int port = 25000;
ServerSocket serverSocket = new ServerSocket(port);
System.out.println("Server Started and listening to the port 25000");
//Server is running always. This is done using this while(true) loop
while(true)
{
//Reading the message from the client
socket = serverSocket.accept();
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String number = br.readLine();
System.out.println("Message received from client is "+number);
//Multiplying the number by 2 and forming the return message
String returnMessage;
try
{
int numberInIntFormat = Integer.parseInt(number);
int returnValue = numberInIntFormat*2;
returnMessage = String.valueOf(returnValue) + "\n";
}
catch(NumberFormatException e)
{
//Input was not a number. Sending proper message back to client.
returnMessage = "Please send a proper number\n";
}
//Sending the response back to the client.
OutputStream os = socket.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
bw.write(returnMessage);
System.out.println("Message sent to the client is "+returnMessage);
bw.flush();
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
socket.close();
}
catch(Exception e){}
}
}
}