ΠΠ΄ΡΠ°Π²Π΅ΠΉ, Π₯Π°Π±Ρ! Π’ΠΎΠ²Π° Π΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ΅ΡΠΎ
ΠΡΠ°Π²ΠΈΠΌ ΡΠΈΠ½Π° Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° Π³ΠΎΠ»ΡΠΌΠ° ΡΠ΅Π΄Π΅ΡΠ°Π»Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ. Π Π°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ, ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅. ΠΠ° ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ°. Π ΡΡΠ½ΠΎΡΠΎ Π΅ Π±ΠΎΠ»ΠΊΠ°, Ρ ΠΊΠΎΡΡΠΎ Π½Π΅ Π²ΡΠ΅ΠΊΠΈ Ρ ΠΈΡΠΎΠΏΡΠ°ΠΊΡΠΈΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈ.
Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΡΡΡΠΏΡ ΡΠ°Π·ΠΈ Π±ΠΎΠ»ΠΊΠ°. ΠΡΠΈΡΠΊΠΎ Π·Π°ΠΏΠΎΡΠ½Π° Ρ RFHUtil. Π‘ΠΈΠ»Π½ΠΎ, Π½ΠΎ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈ ΡΡΡΠ°ΡΠ½ΠΎ: Π, ΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅ Π ΡΡ.
ΠΠ΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ Π² Π½ΡΠΊΠΎΠΈ ΡΠ»ΡΡΠ°ΠΈ, Π½ΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΠΏΡΠΈ Π°ΠΊΡΠΈΠ²Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°.
Π£Π΄ΠΎΠ±Π½ΠΎΡΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π΅ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ Π½Π΅Π³ΠΎ.
Π‘ JMeter Π²ΡΠΈΡΠΊΠΎ ΡΡΠ°Π½Π° ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ. Π‘Π»Π΅Π΄ ΠΏΡΡΠ²ΠΈΡ Π΅ΡΠ°ΠΏ Π½Π° ΡΡΠ²ΠΎΡΠ²Π°Π½Π΅ ΠΈ ΡΠ²ΠΈΠΊΠ²Π°Π½Π΅ Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π° Π½Π°Π΄Π΅ΠΆΠ΄Π° Π·Π° ΡΠ°ΡΡΠ»ΠΈΠ²ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅.
ΠΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ ΡΠ΅ΠΌΠΏΠ»Π΅ΡΠΈΡΠ΅ JMS Publisher ΠΈ JMS Subscriber. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ JMS Point-to-Point, ΡΠ°Π·ΠΈ Π΄Π²ΠΎΠΉΠΊΠ° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ ΠΏΠΎ-ΡΠ΄ΠΎΠ±Π½Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Ρ Subscriber Π² JMS Selector ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°, Π½ΠΎ Ρ Point-to-Point Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ (ΠΈΠ»ΠΈ ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½).
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π½Π° ΠΏΡΠΎΠ±ΠΈ
JMS ΠΈΠ·Π΄Π°ΡΠ΅Π»
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° - Π²ΡΡΠΊΠ° ΠΏΡΠΎΠ±Π°. Apache
ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΠ°Π·ΠΈ ΠΎΠΏΡΠΈΡ, Π°ΠΊΠΎ ΠΎΠΏΠ°ΡΠΊΠΈ/ΡΠ΅ΠΌΠΈ ΡΠ° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ ΡΡΠ΅Π· ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ. - ΠΠ·ΡΠΈΡΠ°Π½Π΅ (ms) = 120000. Π ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π½Π΅ΡΡΠΏΠ΅Ρ , Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΡ ΡΠ΅ ΠΈΠ·ΡΠ΅Π·Π½Π°Ρ ΠΎΡ ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° ΡΠ»Π΅Π΄ 2 ΠΌΠΈΠ½ΡΡΠΈ.
- ΠΠ° ΡΠ΅ ββΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π»ΠΈ Π½Π΅ΠΏΠΎΡΡΠΎΡΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ°? - Π²ΡΡΠ½ΠΎ. IBM
ΠΈΡΠΊΠΎΠ²Π΅ ΡΠΎΠ·ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ΠΈΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π²Π½Π΅Π·Π°ΠΏΠ½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π°. Π ΠΏΠΎ-Π±ΡΡΠ· ΠΎΠ±ΠΌΠ΅Π½ Π² Π½Π΅ΠΏΠΎΡΡΠΎΡΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ. ΠΠ° ΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π΅ ΠΏΠΎ-Π²Π°ΠΆΠ½Π°.
ΠΡΠ² Π²ΡΠ΅ΠΊΠΈ Publisher Π·Π°Π΄Π°Π²Π°ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ jms, ΠΊΠΎΠ΅ΡΠΎ Π°Π±ΠΎΠ½Π°ΡΡΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² JMS Selector. ΠΠ° Π²ΡΡΠΊΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π² Π΅Π»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΈΡ ΠΏΠ»Π°Π½ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ:
ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ΅ ΡΠΈΠ³ΡΡΠ½ΠΈ, ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΅ ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ΠΎ.
ΠΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° βΠ·Π°Π³ΠΎΡΠΎΠ²ΠΊΠ°β Π½Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ JMS Publisher:
JMS Π°Π±ΠΎΠ½Π°Ρ
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° - Π²ΡΡΠΊΠ° ΠΏΡΠΎΠ±Π°. Π, ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅.
- ΠΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ (ms) = 100000 100. ΠΠΊΠΎ Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π½Π΅ ΠΏΡΠΈΡΡΠΈΠ³Π½Π΅ Π² ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° ΡΠ»Π΅Π΄ XNUMX ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΡΠ°ΠΊΠ°Π½Π΅, Π·Π½Π°ΡΠΈ Π½Π΅ΡΠΎ ΡΠ΅ Π΅ ΠΎΠ±ΡΡΠΊΠ°Π»ΠΎ.
- Π‘ΠΏΠΈΡΠ°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ±ΠΈΡΠ΅? - Π²ΡΡΠ½ΠΎ.
JMS Selector - Π΄ΠΎΡΡΠ° ΡΠ΄ΠΎΠ±Π½ΠΎ
ΠΠ°ΠΊ Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈΠΌ Ρ ΠΊΠΈΡΠΈΠ»ΠΈΡΠ°ΡΠ° Π² ΠΏΡΠ΅Π΄Π°Π²Π°Π½ΠΈΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π JMeter ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ»Π΅Π΄ ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π½Π°ΠΊΡΠΈΠ²ΠΎ. ΠΠ° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΡΠ΅ ΡΠΎΠ²Π° ΠΈ Π΄Π° ΡΠ΅ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°Π²Π°ΡΠ΅ Π½Π° Π²Π΅Π»ΠΈΠΊΠΎΡΠΎ ΠΈ ΠΌΠΎΡΠ½ΠΎ Π²ΠΈΠ½Π°Π³ΠΈ ΠΈ Π½Π°Π²ΡΡΠΊΡΠ΄Π΅, ΡΡΡΠ±Π²Π°:
- ΠΠΎΠ±Π°Π²Π΅ΡΠ΅ JVM Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΡΠΌ JMeter βΡΡΠ°ΡΡΠΎΠ²ΠΈΡ ΠΏΠ°Π½Π΅Π»β:
-Dfile.encoding=UTF-8
- ΠΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΏΠΎΡΡΠΏΡΠΎΡΠ΅ΡΠΎΡ JSR223 ΠΊΡΠΌ Π°Π±ΠΎΠ½Π°ΡΠ° Ρ groovy Π»ΠΈΠ½ΠΈΡ:
prev.setDataEncoding("UTF-8")
ΠΠ·ΠΏΡΠ°ΡΠ΅ΡΠ΅ ΡΠ΅ΠΊΡΡ
ΠΠ°ΠΉ-ΠΌΡΡΠ·Π΅Π»ΠΈΠ²ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΏΡΡΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅. ΠΠ»ΠΈ Π·Π° ΡΠ»ΡΡΠ°ΠΈΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅ ΠΏΠΎΠ½Π΅ Π½Π΅ΡΠΎ ΠΌΠ°Π»ΠΊΠΎ. ΠΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΎΠΏΡΠΈΡ ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ - Textarea ΠΈ ΠΏΠΎΡΡΠ°Π²Π΅ΡΠ΅ ΡΡΠ»ΠΎΡΠΎ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π² ΡΠ΅ΠΊΡΡΠΎΠ² Π±Π»ΠΎΠΊ:
ΠΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅
ΠΠ°ΠΉ-ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠΈ. ΠΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΎΠΏΡΠΈΡ ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ - ΠΡ ΡΠ°ΠΉΠ» ΠΈ ΠΏΠΎΡΠΎΡΠ΅ΡΠ΅ ΠΏΡΡΡ Π΄ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π² ΠΏΠΎΠ»Π΅ΡΠΎ Π€Π°ΠΉΠ» - ΠΈΠΌΠ΅ Π½Π° ΡΠ°ΠΉΠ»:
ΠΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ» Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎ ΠΏΠΎΠ»Π΅
ΠΠ°ΠΉ-ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΎ Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠΈ + ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² JMS Point-to-Point, ΠΊΡΠ΄Π΅ΡΠΎ Π½ΡΠΌΠ° Π²ΡΠΎΡΠ° ΠΎΠΏΡΠΈΡ Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅:
ΠΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π±Π°ΠΉΡΠΎΠ² ΠΌΠ°ΡΠΈΠ²
ΠΠ°ΠΉ-ΡΡΡΠ΄Π½ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π±Π΅Π·ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎ ΡΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ Π΄ΠΎ Π±Π°ΠΉΡΠ°, Π±Π΅Π· ΠΈΠ·ΠΊΡΠΈΠ²ΡΠ²Π°Π½Π΅, SMS ΠΈ ΡΠΌΡΡΠ΅Π½ΠΈΡ. ΠΡΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π° Π² JMeter ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.
Π’Π°ΠΊΠ° ΡΠ΅ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»Ρ
ΠΠ°ΠΌΠ΅Π½Π΅Π½ Π² ΠΌΠ΅ΡΠΎΠ΄Π° extractContent(..)
Π»ΠΈΠ½ΠΈΡ:
buffer.append(bytesMessage.getBodyLength() + " bytes received in BytesMessage");
ΠΠ°:
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);
}
ΠΈ ΠΏΡΠ΅ΡΡΡΡΠΎΠ΅Π½ JMeter.
ΠΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΡΡΠ°Π²Π°, Π΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ JSR223 ΡΠ΅ΠΌΠΏΠ»Π΅ΡΠ°. ΠΡΡΠ²ΠΈΡΡ Π΅ ΠΏΡΠ΅Π΄ΠΈ Π΄Π²ΠΎΠΉΠΊΠ°ΡΠ° ΠΠ·Π΄Π°ΡΠ΅Π»/ΠΠ±ΠΎΠ½Π°Ρ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° DAT ΡΠ°ΠΉΠ», ΡΡΠ΄ΡΡΠΆΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ Π±Π°ΠΉΡΠΎΠ²Π΅:
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");
}
ΠΡΠΎΡΠΈΡΡ - Π² ΠΊΡΠ°Ρ Π½Π° ΡΠΊΡΠΈΠΏΡΠ°, ΠΈΠ·ΡΡΠΈΠ²Π° ΡΠ°ΠΉΠ»Π°:
import java.io.File;
File RESULT_FILE = new File(vars.get("PATH_TO_BYTES"));
RESULT_FILE.delete();
Π Π½Π΅ Π·Π°Π±ΡΠ°Π²ΡΠΉΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΏΡΡΡ ΠΊΡΠΌ ΡΠ°ΠΉΠ»Π° Π² Publisher:
Π ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π² JSR223 Assertion Π·Π° Π°Π±ΠΎΠ½Π°Ρ - ΡΡΠ°Π²Π½Π΅ΡΠ΅ ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡΠ΅ Π±Π°ΠΉΡΠΎΠ²Π΅ Ρ ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΡΡΠΈΠ³Π°Ρ Π² ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ:
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;
}
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΏΠΈΡΠ°Ρ ΡΠ΅ΡΠΈΡΠΈ Π½Π°ΡΠΈΠ½Π° Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄ΠΎ ΠΎΠΏΠ°ΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Π²ΡΠ΅ΠΊΠΈ Π΄Π΅Π½ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°. ΠΠ°Π΄ΡΠ²Π°ΠΌ ΡΠ΅ ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π° ΡΠ»Π΅ΡΠ½ΠΈ ΠΆΠΈΠ²ΠΎΡΠ° Π²ΠΈ. Π ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΌΡΡΠ°ΠΌ Π΄Π° Π³ΠΎΠ²ΠΎΡΡ Π·Π° ΠΎΠΏΠΈΡΠ° ΡΠΈ ΠΎΡ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±ΠΌΠ΅Π½, ΠΊΡΠ΄Π΅ΡΠΎ ΠΈΠΌΠ° ΠΎΠΏΠ°ΡΠΊΠ° Π² Π΅Π΄ΠΈΠ½ΠΈΡ ΠΊΡΠ°ΠΉ ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π² Π΄ΡΡΠ³ΠΈΡ.
Π‘ΠΏΠ΅ΡΡΠ΅ΡΠ΅ ΡΠΈ Π²ΡΠ΅ΠΌΠ΅. Π Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΡΠΎ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com