Escriba los datos adjuntos al final de cada línea en el archivo CSV

Escriba los datos adjuntos al final de cada línea en el archivo CSV

1. Análisis de la demanda.

Cuando se usa la herramienta jmeter para pruebas concurrentes, a veces necesitamos agregar los datos extraídos del extractor json al final de cada línea del archivo csv para su uso posterior en el programa. por ejemplo: cuando el programa ejecuta el primer subproceso, agrega los nuevos datos extraídos al final de la primera línea, cuando el programa ejecuta el segundo subproceso, agrega los nuevos datos extraídos al final de la segunda línea, y así sucesivamente ...

2. Preparación de datos

(1) Se deben preparar tres archivos csv, a saber, read.csv, read-copy.csv, write.csv. Recuerde configurar en formato UTF-8.
preparación de datos del archivo csv
Explique:
read.csv se proporciona a la herramienta jmeter en sí para leer, como se muestra a continuación:
read.csv
read_copy.csv y write.csv son utilizados por los usuarios para escribir y leer programas java, y el código se coloca en el programa de procesamiento posterior de BeanShell
read_copy.csv 和 write.csv

Tercero: Primero complete la escritura y depuración del código en eclipse

La implementación del código:
(1) La primera ejecución del programa: la segunda línea de datos en read_copy.csv (eliminando el campo de encabezado de la primera línea) y los nuevos datos obtenidos (los nuevos datos extraídos songteng2012) se agregan al archivo write.csv En la segunda línea (el campo de encabezado de la primera línea se ha agregado durante la etapa de preparación de datos).
(2) Luego elimine la segunda línea de datos en read_copy.csv.
(3) La segunda ejecución del programa: la segunda línea de datos en read_copy.csv (eliminar el campo de encabezado de la primera línea) y los nuevos datos adquiridos (nuevos datos extraídos songteng2012) se agregan a la tercera línea del archivo write.csv .
(4) Luego elimine la segunda línea de datos en read_copy.csv.
Y así sucesivamente ...

import java.io.File;

import java.io.BufferedReader;
import java.io.BufferedWriter;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;



public class Opera_csv{
	
	//eclipse编写中我们只需要read_copy.csv和write.csv这2个文件即可.		
	String readPath = "D:\\Jmeter\\apache-jmeter-5.1.1\\bin\\生成密钥实战Opera_csv\\read_copy.csv";
	String writePath = "D:\\Jmeter\\apache-jmeter-5.1.1\\bin\\生成密钥实战Opera_csv\\write.csv";
	
	
		
	//读取read_copy中行的数据和提取到的新数据,把这些数据追加写到write.csv中
	public void write_csv() throws IOException {	
				
		BufferedReader r = new BufferedReader(new FileReader(new File(readPath)));			
		BufferedWriter w =new BufferedWriter(new FileWriter(writePath,true));						
		String temp = null;
		r.readLine();
		if((temp = r.readLine()) != null){
			temp =temp + "," + "提取的新数据songteng2012";
			w.write(temp);
			w.write("\r\n");			
		}			
			
		w.close();
		r.close();
		
		
		del_row();
																			
	}
		
		
	//删除read_copy中的第二行数据
	public void del_row() throws IOException{
				
		
		BufferedReader r = new BufferedReader(new FileReader(new File(readPath)));
		StringBuffer str = new StringBuffer(4096);			
		String temp = null;			
		int line = 0;
		int lineDel = 2;			
		while((temp=r.readLine()) != null) {
			line++;
			if(line == lineDel) continue;
			str.append(temp).append("\r\n");
		}
		r.close();			
		BufferedWriter w =new BufferedWriter(new FileWriter(readPath));
		w.write(str.toString());
		w.close();									
		
	}
	
	
	public static void main(String[] args) throws IOException
	{	

		Opera_csv s = new Opera_csv();
		s.write_csv();
						
	
	}
	

}

4. Ejecución del programa.

1. Datos antes de la ejecución
Datos previos a la ejecución
2. Datos después de la ejecución del programa una vez
Datos después de la ejecución

5. El programa se coloca en el programa de posprocesamiento BeanShell de jmeter

Cabe señalar en el postprocesador de BeanShell que no necesitamos declarar clases.
Postprocesador BeanShell

21 artículos originales publicados · Me gusta1 · Visitas 380

Supongo que te gusta

Origin blog.csdn.net/songteng2012/article/details/105432284
Recomendado
Clasificación