Mitsetse uye JMeter: kugovana neMuparidzi uye Munyoreri

Mhoro, Habr! Iyi inoteedzana neni kudhindwa kwekare, umo ini ndichataura nezve sarudzo dzekuisa mameseji mumitsetse uchishandisa JMeter.

Tiri kugadzira data bhazi rekambani huru yemubatanidzwa. Mafomati akasiyana ekukumbira, shanduko, yakaoma nzira. Kuti uedze, unofanirwa kutumira mameseji akawanda kumutsara. Manually kurwadziwa kusingaite wese chiropractor anogona kubata.

Mitsetse uye JMeter: kugovana neMuparidzi uye Munyoreri

Nhanganyaya

Kunyange zvazvo ndaifanira kutsungirira kurwadziwa uku pakutanga. Izvo zvese zvakatanga neRFHUtil. Ane simba, asi anonetsa uye anotyisa: Zvakanaka, iwe unoziva Rus.

Mitsetse uye JMeter: kugovana neMuparidzi uye Munyoreri

Inonyanya kukosha mune zvimwe zviitiko, asi zvishoma nezvishoma kuderera kana kushandiswa kushanda.
Kuedza kwakaringana hakubviri nazvo.

NeJMeter zvese zvave nyore. Mushure mechikamu chekutanga chekuziva nekujaira, tariro yakatanga kubuda yekuyedzwa kwemufaro.

Ini ndinoshingairira kushandisa JMS Publisher uye JMS Subscriber samplers. Kusiyana neJMS Point-to-Point, vaviri ava vairatidza nyore kushandisa. Semuenzaniso, ne Subscriber muJMS Selector unogona kutsanangura shanduko, asi nePoint-to-Point haugone (kana nzira iyi haina kunyatsojeka).

Kugadzirira samplers

JMS Publisher

  • Setup - Imwe neimwe Sample. Apache inokurudzira shandisa sarudzo iyi kana mitsetse/misoro yatsanangurwa kuburikidza nezvinosiyana.
  • Kupera (ms) = 120000. Muchiitiko chekukundikana, zvikumbiro zvekuedza zvichanyangarika kubva pamutsara mushure memaminitsi maviri.
  • Shandisa isingarambe ichiendesa nzira? - chokwadi. IBM inobvumaiyo inopfuurira modhi inovimbisa kuchengetedzwa kwakavimbika kwemameseji anofambiswa muchiitiko chekutadza kamwe kamwe. Uye nekukurumidza kuchinjana mune isingarambe ichiita maitiro. Nezvinangwa zvekuyedza, kumhanya kunonyanya kukosha.

MuMuparidzi wega wega ndinoisa jms pfuma iyo Munyoreri achashandisa muJMS Selector. Pakutumira kwega kwega, kukosha kwakasarudzika kunogadzirwa muMushandisi Parameters bvunzo chirongwa chinhu:

Mitsetse uye JMeter: kugovana neMuparidzi uye Munyoreri

Nenzira iyi unogona kuva nechokwadi chokuti meseji yakarurama inoverengwa.

Yekupedzisira "isina chinhu" yeyakafanogadzirirwa JMS Publisher:

Mitsetse uye JMeter: kugovana neMuparidzi uye Munyoreri

Munyoreri weJMS

  • Setup - Imwe neimwe Sample. Zvakanaka, unonzwisisa.
  • Timeout (ms) = 100000. Kana chikumbiro chikasasvika mumutsara mushure memasekonzi 100 ekumirira, ipapo pane chakashata.
  • Mira pakati pemasampuli? - chokwadi.

JMS Selector - yakanakira chaizvo chinhu. Wekupedzisira JMS Subscriber:

Mitsetse uye JMeter: kugovana neMuparidzi uye Munyoreri

Maitiro ekuita neCyrillic alphabet mune inofambiswa mameseji. MuJMeter, nekusarudzika, mushure mekuverengera, inoratidzwa zvisina kururama. Kuti udzivise izvi uye unakirwe nehukuru uye hune simba nguva dzose uye kwese kwese, unofanirwa:

  1. Wedzera nharo yeJVM kuJMeter "launcher":
    -Dfile.encoding=UTF-8
  2. Wedzera JSR223 PostProcessor kune Subscriber ine groovy line:
    prev.setDataEncoding("UTF-8")

Send text

Iyo ine usimbe sarudzo. Inokodzera kugadzirisa bvunzo dzichangobva kunyorwa. Kana kumakesi kana iwe uchida kutumira kanenge chinhu chidiki. Sarudza sarudzo Message source - Textarea uye isa muviri wemeseji mubhokisi remavara:

Mitsetse uye JMeter: kugovana neMuparidzi uye Munyoreri

Kuendeswa kwefaira

Sarudzo yakajairika. Inokodzera kune akawanda mascenario. Sarudza sarudzo Message source - Kubva pafaira uye ratidza nzira yeshoko riri mumunda Faira - Zita refaira:

Mitsetse uye JMeter: kugovana neMuparidzi uye Munyoreri

Kuendesa faira kundima yemavara

Sarudzo inosarudzika. Inokodzera akawanda mamiriro + anogona kushandiswa muJMS Point-to-Point uko pasina yechipiri kutumira sarudzo:

Mitsetse uye JMeter: kugovana neMuparidzi uye Munyoreri

Kupfuura byte array

Iyo yakanyanya kuoma sarudzo. Inokodzera kutarisisa kutadza kwakaringana kuendesa zvikumbiro pasi kune byte, pasina kukanganisa, SMS uye kukanganisa. Iwe haugone kuita izvi mune yakasarudzika JMeter. pano Chokwadi ndakaudzwa nezvazvo.

Saka ndaifanira kudhaunirodha sources uye shandura code Munyoreri weJMS.

Yakatsiviwa nenzira extractContent(..) mutsetse:

buffer.append(bytesMessage.getBodyLength() + " bytes received in BytesMessage");

on:

byte[] bytes = new byte[(int) bytesMessage.getBodyLength()];
bytesMessage.readBytes(bytes);
try {
	buffer.append(new String(bytes, "UTF-8"));
} catch (UnsupportedEncodingException e) {
	throw new RuntimeException(e);
}

uye kuvakazve JMeter.

Chasara ndechekuwedzera akati wandei eJSR223 Samplers. Yekutanga iri pamberi peMuparidzi / Munyoreri vaviri kuti vagadzire faira reDAT rine mabhaiti asina kurongeka:

import org.apache.commons.lang3.RandomUtils;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

vars.put("PATH_TO_BYTES", "C:temprandomBytes.dat");
File RESULT_FILE = new File(vars.get("PATH_TO_BYTES"));
byte[] arr = RandomUtils.nextBytes((int)(Math.random()*10000));
        try {
            FileOutputStream fos = new FileOutputStream(RESULT_FILE);
            fos.write(arr);
            fos.close();
        } catch (IOException e) {
            System.out.println("file not found");
        }

Yechipiri - pakupera kwechinyorwa, inodzima faira:

import java.io.File;

File RESULT_FILE = new File(vars.get("PATH_TO_BYTES"));
RESULT_FILE.delete();

Uye usakanganwa kuwedzera nzira kune iyo faira muPublisher:

Mitsetse uye JMeter: kugovana neMuparidzi uye Munyoreri

Uye zvakare cheki muJSR223 Assertion yeMunyoreri - enzanisa kwainobva bytes neaya anosvika mumutsara wemugamuchiri:

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;

Path path = Paths.get(vars.get("PATH_TO_BYTES"), new String[0]);
byte[] originalArray = Files.readAllBytes(path);
byte[] changedArray = ctx.getPreviousResult().getResponseData();
System.out.println(changedArray.length);

if (Arrays.equals(originalArray, changedArray))
	{
     	SampleResult.setResponseMessage("OK");

	} else {
	   SampleResult.setSuccessful(false);
     	   SampleResult.setResponseMessage("Comparison failed");
	   SampleResult.setResponseData("Bytes have changed","UTF-8");
     	   IsSuccess=false;
	}

mhedziso

Ndakatsanangura nzira ina dzekutumira mameseji kumitsetse, yandinoshandisa mazuva ese mukuita. Ndinovimba ruzivo urwu rwunorerutsa hupenyu hwako. Mukuenderera mberi, ndinoronga kutaura nezve ruzivo rwangu rwekuedza kuchinjana uko kune mutsara kune imwe mugumo uye database kana faira system kune imwe.

Chengetedza nguva yako. Uye ndinokutendai nekuteerera kwenyu.

Mitsetse uye JMeter: kugovana neMuparidzi uye Munyoreri

Source: www.habr.com

Voeg