ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ, Π΅ΡΠΎ Π²ΠΈ
Π Π°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π²ΡΠ·Π»ΠΈ
ΠΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ Postman, ΡΠΎΠ³Π°Π²Π° Π·Π½Π°Π΅ΡΠ΅, ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ ΡΡΠ΄ΡΡΠΆΠ° ΡΡΠ»Π°ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ. ΠΠΌΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, ΡΠ΅ΡΡΠΎΠ²Π΅ ΠΈ Π²ΡΡΡΠ½ΠΎΡΡ ΡΠ°ΠΌΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ. Π’ΠΎΠ²Π° ΡΠ»Π΅ΡΠ½ΡΠ²Π° Π½Π°ΡΠΈΠ½Π°Π΅ΡΠΈΡΠ΅, Π½ΠΎ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΡΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π΅ Π΅ Π³ΡΠ²ΠΊΠ°Π². ΠΠ°ΠΊΠ²ΠΎ ΡΡΠ°Π²Π°, Π°ΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π·Π°ΡΠ²ΠΊΠΈ ΠΈ Π΄Π° ΠΈΠ·Π²ΡΡΡΠΈΡΠ΅ Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡ ? ΠΠΌΠΈ Π°ΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ Π±Π΅Π· Π·Π°ΡΠ²ΠΊΠ° ΠΈΠ»ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΠΎΠ΄ΡΠ΅Π΄? Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π±ΠΈ Π±ΠΈΠ»ΠΎ Π΄ΠΎΠ±ΡΠ° ΠΈΠ΄Π΅Ρ Π΄Π° ΠΎΡΠ΄Π΅Π»ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅. Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ βΠ΄ΠΎΠ±Π°Π²Π΅ΡΠ΅ ΡΡΠ»Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π² Π΅Π΄ΠΈΠ½ Π²ΡΠ·Π΅Π»β Π½Π΅ Π΅ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌ - ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ Π±ΡΡΠ·ΠΎ ΡΠ΅ ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°.
TestMace ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠ°Π·Π΄Π΅Π»Ρ ΡΡΠ»Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π²ΡΠ·Π»ΠΈ. ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠ°? Π’ΠΎ Π΅ Π·Π° ΡΠ΅Π±
Π§Π΅ΡΠΈΠΌ ΠΎΡ ΡΠΎΠ²Π΅ΠΊΠ° ΡΠΎΡΠΌΠ°Ρ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠΌΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»Π½Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ TestMace ΠΈ Postman Π² Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ. Π Postman Π²ΡΠΈΡΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π½ΡΠΊΡΠ΄Π΅ Π² Π»ΠΎΠΊΠ°Π»Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠΊΠΎ ΠΈΠΌΠ° Π½ΡΠΆΠ΄Π° ΠΎΡ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΡΠΎΠ³Π°Π²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π²Π³ΡΠ°Π΄Π΅Π½Π°ΡΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ. ΠΡΡΡΠ½ΠΎΡΡ ΡΠΎΠ²Π° Π΅ ΠΎΠ±ΡΠΎΠΏΡΠΈΠ΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, Π½ΠΎ Π½Π΅ ΠΈ Π±Π΅Π· Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ. ΠΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΊΠ°ΠΆΠ΅ΡΠ΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅? Π ΠΊΡΠ°Ρ Π½Π° ΠΊΡΠ°ΠΈΡΠ°ΡΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π° Π½ΡΠΊΠΎΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Ρ ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ. ΠΠΈΠ΅ ΠΎΠ±Π°ΡΠ΅ ΡΠΌΡΡΠ°ΠΌΠ΅, ΡΠ΅ TestMace ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈ Π½Π΅ΡΠΎ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠΎ! Π ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠΎΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΅ βΡΠ΅ΡΠΈΠΌ ΠΎΡ ΡΠΎΠ²Π΅ΠΊΠ° ΡΠΎΡΠΌΠ°Ρ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°β.
ΠΠ΅ΠΊΠ° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Ρ ΡΠ°ΠΊΡΠ°, ΡΠ΅ Π² TestMace ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΈΠΌΠ° ΠΎΠ±Π΅ΠΊΡ βΠΏΡΠΎΠ΅ΠΊΡβ. Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΎ Ρ ΠΎΠ³Π»Π΅Π΄ Π½Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅: Π΄ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ ΠΏΠΎΡΡΠΈ Π΅Π΄Π½ΠΎ ΠΊΡΠΌ Π΅Π΄Π½ΠΎ, ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ΠΎ Π²ΡΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ°, yaml ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΡΠΎΡΠΌΠ°Ρ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ (Π±Π΅Π· Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠΊΠΎΠ±ΠΈ ΠΈ Π·Π°ΠΏΠ΅ΡΠ°ΠΈ) ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π» Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Ρ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ. ΠΠΎ Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ»ΡΡΠ°ΠΈ Π½ΡΠΌΠ° Π΄Π° ΡΡΡΡΠΈΡΠ΅ ΡΠ°ΠΌ - Π²ΡΠΈΡΠΊΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΏΠΎΠ»Π΅ΡΠ° ΠΈΠΌΠ°Ρ Π»ΠΎΠ³ΠΈΡΠ½ΠΈ ΠΈΠΌΠ΅Π½Π°.
ΠΠ°ΠΊΠ²ΠΎ Π΄Π°Π²Π° ΡΠΎΠ²Π° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ? Π’ΠΎΠ²Π° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΠΎΡΠΎΠΊ Π½Π° Π΅ΠΊΠΈΠΏΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π³ΡΠ²ΠΊΠ°Π²ΠΎ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΠΎΠ·Π½Π°ΡΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π² ΡΡΡΠΎΡΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΊΠ°ΡΠΎ Π±Π΅ΠΊΠ΅Π½Π΄Π°. Π ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ΡΠ΅, Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π° ΡΠ°ΠΌΠ°ΡΠ° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅. Π‘Π»Π΅Π΄ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ (git, svn, mercurial - ΠΊΠ°ΠΊΠ²ΠΎΡΠΎ Π²ΠΈ Ρ
Π°ΡΠ΅ΡΠ²Π° Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ), CI (Π²Π°ΡΠΈΡΡ Π»ΡΠ±ΠΈΠΌ, Π½Π΅Π½Π°Π»ΠΎΠΆΠ΅Π½ ΠΎΡ Π½ΠΈΠΊΠΎΠ³ΠΎ) ΡΡΠ°ΡΡΠΈΡΠ° Π½Π°ΡΠ°ΡΠ° ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π° ΠΏΠΎΠΌΠΎΡΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°
ΠΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, TestMace Π½Π΅ Π½Π°Π»Π°Π³Π° ΡΠ²ΠΎΡΡΠ° Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ²Π°, ΡΠΎΠΉ Π»Π΅ΡΠ½ΠΎ ΡΠ΅ Π²ΠΏΠΈΡΠ²Π° Π² ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ
TestMace ΡΠ»Π΅Π΄Π²Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π±Π΅Π· ΠΊΠΎΠ΄: Π°ΠΊΠΎ Π΄Π°Π΄Π΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ΅ΡΠ΅Π½ Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄, Π½ΠΈΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠΌ ΡΠ°Π·ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ. Π Π°Π±ΠΎΡΠ°ΡΠ° Ρ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π΅ ΡΠΎΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ°, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ»ΡΡΠ°ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈΡΠ΅ Π±Π΅Π· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅.
ΠΡΠΈΠΌΠ΅Ρ: ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΠΎΡ ΡΡΡΠ²ΡΡΠ° ΠΈ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΠΌ ΡΠ°ΡΡ ΠΎΡ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ° Π² ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°. Π Postman, Π² ΡΠ΅ΡΡΠΎΠ² ΡΠΊΡΠΈΠΏΡ (ΠΊΠΎΠ΅ΡΠΎ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠΈ Π΅ ΡΡΡΠ°Π½Π½ΠΎ) Π±ΠΈΡ ΠΌΠ΅ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ Π½Π΅ΡΠΎ ΠΊΠ°ΡΠΎ:
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("data", jsonData.data);
ΠΠΎ ΡΠΏΠΎΡΠ΅Π΄ Π½Π°Ρ ΠΏΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΊΡΠΈΠΏΡ Π·Π° ΡΠ°ΠΊΡΠ² ΠΏΡΠΎΡΡ ΠΈ ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΈΠ·Π»ΠΈΡΠ½ΠΎ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π² TestMace Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΈΡΠ²ΠΎΠΈ ΡΠ°ΡΡ ΠΎΡ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠΈΠΆΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ:
Π ΡΠ΅Π³Π° Ρ Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ° ΡΠ°Π·ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΡΠ΅ ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°. ΠΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΡΠ·ΡΠ°Π·ΠΈΡΠ΅, ΡΠ²ΡΡΠ΄Π΅ΠΉΠΊΠΈ, ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Postman Π΅ ΠΏΠΎ-Π³ΡΠ²ΠΊΠ°Π² ΠΈ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π΅ ΡΠ°ΠΌΠΎ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅, Π½ΠΎ ΠΈ Π΄Π° ΠΈΠ·Π²ΡΡΡΠΈΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°. ΠΡΠΎ ΠΊΠ°ΠΊ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ:
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("data", CryptoJS.MD5(jsonData.data));
Π, Π·Π° ΡΠ°Π·ΠΈ ΡΠ΅Π» TestMace ΠΈΠΌΠ°
const data = tm.currentNode.prev.response.body.data;
tm.currentNode.parent.setDynamicVar('data', crypto.MD5(data));
ΠΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΡΡΠ°Π²ΡΡ Π½Π° Π²ΡΠ·Π»ΠΈΡΠ΅ ΡΡΡΠΎ ΠΏΠΎΡΠ»ΡΠΆΠΈ Π΄ΠΎΠ±ΡΠ΅ ΡΡΠΊ. Π Π·Π° ΡΠ°ΠΊΡΠ² ΠΏΡΠΎΡΡ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠ°ΠΊΡΠΎ Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΠΏΠΎ-Π³ΠΎΡΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π΄Π° ΠΏΡΠΈΡΠ²ΠΎΠΈΡΠ΅ ΠΈΠ·ΡΠ°Π·Π° ${crypto.MD5($response.data)}
ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°, ΡΡΠ·Π΄Π°Π΄Π΅Π½Π° ΡΡΠ΅Π· GUI!
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ ΡΡΠ΅Π· GUI
Postman Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅ ΡΡΠ΅Π· ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ (Π² ΡΠ»ΡΡΠ°Ρ Π½Π° Postman ΡΠΎΠ²Π° Π΅ JavaScript). Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° β ΠΏΠΎΡΡΠΈ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡ, Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° Π³ΠΎΡΠΎΠ²ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π΄Ρ.
Π Π΅Π°Π»Π½ΠΎΡΡΡΠ° ΠΎΠ±Π°ΡΠ΅ ΡΠ΅ΡΡΠΎ Π΅ ΡΠ°ΠΊΠ°Π²Π° (Π½ΠΈΠ΅ Π½Π΅ ΡΠΌΠ΅ ΡΠ°ΠΊΠΈΠ²Π°, ΠΆΠΈΠ²ΠΎΡΡΡ Π΅ ΡΠ°ΠΊΡΠ²), ΡΠ΅ ΡΠ΅ΡΡΠ΅ΡΡΡ Π½ΡΠΌΠ° ΡΠΌΠ΅Π½ΠΈΡ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, Π½ΠΎ Π±ΠΈ ΠΈΡΠΊΠ°Π» Π΄Π° Π΄ΠΎΠ½Π΅ΡΠ΅ ΠΏΠΎΠ»Π·Π° Π½Π° Π΅ΠΊΠΈΠΏΠ° ΡΠΎΡΠ½ΠΎ ΡΠ΅Π³Π°. ΠΠ° ΡΠ°ΠΊΠΈΠ²Π° ΡΠ»ΡΡΠ°ΠΈ, ΡΠ»Π΅Π΄Π²Π°ΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π±Π΅Π· ΠΊΠΎΠ΄, TestMace Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΏΡΠΎΡΡΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ ΡΡΠ΅Π· GUI, Π±Π΅Π· Π΄Π° ΠΏΡΠΈΠ±ΡΠ³Π²Π°ΡΠ΅ Π΄ΠΎ ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅. ΠΡΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡ, ΠΊΠΎΠΉΡΠΎ ΡΡΠ°Π²Π½ΡΠ²Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ:
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ Π² Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΎΠ±Π°ΡΠ΅ Π½Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ°
ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΡΠΊΡΠΈΠΏΡ ΡΡΠ΅Π· Π²ΡΡΠ·ΠΊΠ° (Π²ΡΠ·Π΅Π» Π·Π° Π²ΡΡΠ·ΠΊΠ°)
Π§Π΅ΡΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π·Π°ΡΠ²ΠΊΠ° ΠΈΠ»ΠΈ Π΄ΠΎΡΠΈ ΡΡΠ» ΡΠΊΡΠΈΠΏΡ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΡΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°ΡΡΠΈ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠ°ΠΊΠΈΠ²Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠ΅ΡΠ°ΠΏΠ½Π° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ, ΠΏΡΠΈΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° Π² ΠΆΠ΅Π»Π°Π½ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ Ρ.Π½. ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ, Π³ΠΎΠ²ΠΎΡΠ΅ΠΉΠΊΠΈ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΅Π·ΠΈΡΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, Π±ΠΈΡ
ΠΌΠ΅ ΠΈΡΠΊΠ°Π»ΠΈ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°ΡΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. Π TestMace ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΎΡ
1) ΡΡΠ·Π΄Π°ΠΉΡΠ΅ Π·Π°ΡΠ²ΠΊΠ° ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ
2) ΡΡΠ·Π΄Π°ΠΉΡΠ΅ Π²ΡΠ·Π΅Π» ΠΎΡ ΡΠΈΠΏ Link
3) Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΏΠΎΡΠΎΡΠ΅ΡΠ΅ Π²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ ΡΠΊΡΠΈΠΏΡΠ°, ΡΡΠ·Π΄Π°Π΄Π΅Π½ Π² ΠΏΡΡΠ²Π°ΡΠ° ΡΡΡΠΏΠΊΠ°
Π ΠΏΠΎ-ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° Π²Π΅ΡΡΠΈΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ ΠΊΠΎΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΎΡ ΡΠΊΡΠΈΠΏΡΠ° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°Ρ Π½Π° ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ ΡΠΏΡΡΠΌΠΎ Π²ΡΡΠ·ΠΊΠ°ΡΠ°. ΠΠ²ΡΡΠΈ ΠΎΠ±ΡΡΠΊΠ²Π°ΡΠΎ? ΠΠ° ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ ΡΠΌΠ΅ ΡΡΠ·Π΄Π°Π»ΠΈ ΠΏΠ°ΠΏΠΊΠ° Ρ ΠΈΠΌΠ΅ΡΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ, Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΉΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π° Π½Π° ΡΠΎΠ·ΠΈ Π²ΡΠ·Π΅Π» postId
. Π‘Π΅Π³Π° Π²ΡΠ² Π²ΡΡΠ·ΠΊΠ°ΡΠ° create-post-link ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΡΠΈΡΠ½ΠΎ Π΄Π° ΡΠΊΠ°ΠΆΠ΅ΡΠ΅, ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° postId
ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½ΠΈΠΊ create-post-link. Π’ΠΎΠ·ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΡΠΌ (ΠΎΡΠ½ΠΎΠ²ΠΎ Π½Π° Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅) ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π²ΡΡΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΎΡ βΡΡΠ½ΠΊΡΠΈΡβ. ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ Π΅ Π³ΠΎΡΠΈΠ½ΠΎ, DRY Π΅ Π² ΡΠ°Π·Π³Π°ΡΠ° ΡΠΈ ΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎ Π½ΠΈΡΠΎ Π΅Π΄ΠΈΠ½ ΡΠ΅Π΄ ΠΊΠΎΠ΄ Π½Π΅ Π΅ ΠΏΠΎΠ²ΡΠ΅Π΄Π΅Π½.
Π©ΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ Postman, ΠΈΠΌΠ° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ
ΠΡΡΠ³ΠΈ ΡΠ°Π·Π»ΠΈΠΊΠΈ
- ΠΠΎ-Π³ΠΎΠ»ΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ Ρ ΠΎΠ±Ρ Π²Π°ΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅. ΠΠ°ΠΉ-ΠΌΠ°Π»ΠΊΠΈΡΡ ΠΎΠ±Ρ Π²Π°Ρ, Π² ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π² Postman, Π΅ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ°. TestMace Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π·Π° Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ° ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠ°. Π Postman Share collection Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠΈ, Π΄ΠΎΠΊΠ°ΡΠΎ Π² TestMace ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π»
- TestMace ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°
Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΈ Π·Π°Π³Π»Π°Π²ΠΊΠΈ , ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ Π² Π΄ΡΡΠ΅ΡΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. Postman ΠΈΠΌΠ° Π½Π΅ΡΠΎ ΠΏΠΎ Π²ΡΠΏΡΠΎΡΠ°:Π·Π°Π΄Π°ΡΠ°ΡΠ° , ΠΈ Π΄ΠΎΡΠΈ Π΅ Π·Π°ΡΠ²ΠΎΡΠ΅Π½, Π½ΠΎ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΊΠ°ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅...ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ . Π TestMace Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΡΡΠ΅Π· GUI ΠΈ ΠΈΠΌΠ° ΠΎΠΏΡΠΈΡ Π·Π° Π½Π΅Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΈΡΠ΅ Π·Π°Π³Π»Π°Π²ΠΊΠΈ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΡΠΈ - ΠΠ°Π·Π°Π΄-Π½Π°ΠΏΡΠ΅Π΄. Π Π°Π±ΠΎΡΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΏΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ·Π»ΠΈ, Π½ΠΎ ΠΈ ΠΏΡΠΈ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅, ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅, ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π΅ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°
- Π€Π°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΠΏΡΠΈΠΊΠ°ΡΠ΅Π½ΠΈ ΠΊΡΠΌ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, ΡΡΠ°Π²Π°Ρ ΡΠ°ΡΡ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Ρ Π½Π΅Π³ΠΎ, ΠΊΠ°ΡΠΎ ΡΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ° ΠΏΠ΅ΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½ΠΈ, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ Postman. (ΠΠ°, Π²Π΅ΡΠ΅ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ½ΠΎ Π΄Π° ΠΈΠ·Π±ΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΈ Π΄Π° Π³ΠΈ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡΠ΅ Π½Π° ΠΊΠΎΠ»Π΅Π³ΠΈ Π² Π°ΡΡ ΠΈΠ²ΠΈ)
Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠ΅ ΡΠ° Π½Π° ΠΏΡΡ
ΠΠ΅ ΠΌΠΎΠΆΠ°Ρ ΠΌΠ΅ Π΄Π° ΡΡΡΠΎΠΈΠΌ Π½Π° ΠΈΠ·ΠΊΡΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π΅ΠΌ Π·Π°Π²Π΅ΡΠ°ΡΠ° Π½Π° ΡΠ°ΠΉΠ½Π°ΡΠ° Π½Π°Π΄ ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΡ, ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΊΡΡΠ½Π° ΠΈ Π²Π΅ΡΠ΅ Π΅ ΠΏΠΎΠ΄Π»ΠΎΠΆΠ΅Π½Π° Π½Π° ΠΏΠΎΠ»ΠΈΡΠ°Π½Π΅ ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΡΠΊΠ°Π½Π΅. Π ΡΠ°ΠΊΠ°, Π½Π΅ΠΊΠ° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ.
ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ°ΠΊΡΠΎ Π·Π½Π°Π΅ΡΠ΅, Postman ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Π·Π° Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ.
{{$randomEmail}}
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠΎΠ²Π° ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ (ΠΌΠ°ΠΊΠ°Ρ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ), ΡΠ΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΊΠ°ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ: ΡΠ΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΈΡΠ°Ρ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π½ΡΠΌΠ° Π΄Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π²Π·Π΅ΠΌΠ΅ Ρ Π΅Ρ ΠΎΡ Π½ΠΈΠ·.
ΠΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ βΡΠ΅ΡΡΠ½ΠΈβ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΡΠΌ TestMace. Π’ΠΎΡΠ½ΠΎ Π² ${} ΡΠ΅ Π±ΡΠ΄Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠ°ΠΌΠΎ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°, Π½ΠΎ ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ. Π’Π΅Π·ΠΈ. Π°ΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΡΠ»ΠΎΠ²ΡΡΠΈΡ ΡΠ°Π»ΡΠΈΠ² ΠΈΠΌΠ΅ΠΉΠ», Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ Π²ΠΈ ΠΏΠΈΡΠ΅ΠΌ
${faker.internet.email()}
Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΡΠ°ΠΊΡΠ°, ΡΠ΅ Π΅ ΡΡΠ½ΠΊΡΠΈΡ, ΡΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅, ΡΠ΅ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ Π½Π° ΠΎΠ±Π΅ΠΊΡ. Π Π²ΠΌΠ΅ΡΡΠΎ Π³ΠΎΠ»ΡΠΌ ΠΏΠ»ΠΎΡΡΠΊ ΡΠΏΠΈΡΡΠΊ ΠΎΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΈΠΌΠ°ΠΌΠ΅ Π½Π°Π±ΠΎΡ ΠΎΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ Π³ΡΡΠΏΠΈΡΠ°Π½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ.
ΠΠΌΠΈ Π°ΠΊΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΡΠΈΡΠ»ΠΈΠΌ Ρ Π΅ΡΠ° Π½Π° Π½ΠΈΠ·? ΠΠ΅ΡΠ½ΠΎ!
${crypto.MD5($dynamicVar.data)}
Π©Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΡΠΈ Π΄Π° ΠΏΡΠ΅Π΄Π°Π²Π°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΊΠ°ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ! Π ΡΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ Π΅Π΄ΠΈΠ½ Π»ΡΠ±ΠΎΠ·Π½Π°ΡΠ΅Π»Π΅Π½ ΡΠΈΡΠ°ΡΠ΅Π» ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΡΠΌΠ½ΠΈ, ΡΠ΅ Π½Π΅ΡΠΎ Π½Π΅ Π΅ Π½Π°ΡΠ΅Π΄...
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° JavaScript Π² ΠΈΠ·ΡΠ°Π·ΠΈ
... Π ΠΈΠΌΠ° Π·Π°ΡΠΎ! ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ°Ρ Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π·Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅, ΠΈΠ·Π²Π΅Π΄Π½ΡΠΆ ΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅ Π΄ΠΎ ΠΈΠ·Π²ΠΎΠ΄Π°, ΡΠ΅ Π²Π°Π»ΠΈΠ΄Π½ΠΈΡΡ javascript ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π² ΠΈΠ·ΡΠ°Π·ΠΈ. Π’Π°ΠΊΠ° ΡΠ΅ ΡΠ΅Π³Π° ΡΡΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΈ Π΄Π° ΠΏΠΈΡΠ΅ΡΠ΅ ΠΈΠ·ΡΠ°Π·ΠΈ ΠΊΠ°ΡΠΎ:
${1 + '' + crypto.MD5('asdf')}
Π Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π±Π΅Π· ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, Π½Π°ΠΏΡΠ°Π²ΠΎ Π² ΠΏΠΎΠ»Π΅ΡΠ°ΡΠ° Π·Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅!
Π©ΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ Postman, ΡΡΠΊ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ°ΠΌΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΡΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΈΡ ΠΈΠ·ΡΠ°Π·, Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΡΡ ΡΡΠ³Π°Π΅ ΠΈ ΠΎΡΠΊΠ°Π·Π²Π° Π΄Π° Π³ΠΎ ΠΈΠ·ΡΠΈΡΠ»ΠΈ.
Π Π°Π·ΡΠΈΡΠ΅Π½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠ²ΡΡΡΠ²Π°Π½Π΅
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° TestMace ΠΈΠΌΠ° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠ²ΡΡΡΠ²Π°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°ΠΊΠ°:
Π’ΡΠΊ, Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΡΠ΅Π΄Π° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ»Π²Π°Π½Π΅, Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎ ΠΊΡΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ ΡΠΎΠ·ΠΈ ΡΠ΅Π΄. Π’ΠΎΠ·ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ ΡΠ°Π±ΠΎΡΠΈ ΡΠ°ΠΌΠΎ Π² ΠΈΠ·ΡΠ°Π·ΠΈ, ΠΎΠ³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΡ ΡΠΊΠΎΠ±ΠΈ ${}.
ΠΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π²ΠΈΠ·ΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΊΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΡΠΈΠΏΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½ΠΈΠ·, ΡΠΈΡΠ»ΠΎ, ΠΌΠ°ΡΠΈΠ² ΠΈ Ρ.Π½.). ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠ²ΡΡΡΠ²Π°Π½Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠ²ΡΡΡΠ²Π°Π½Π΅ Ρ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈΠ»ΠΈ Π·Π°Π³Π»Π°Π²ΠΊΠΈ). ΠΠΎ Π΄ΠΎΡΠΈ ΡΠΎΠ²Π° Π½Π΅ Π΅ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡΠΎ!
ΠΡΡΠ²ΠΎ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎΡΠΎ Π΄ΠΎΠ²ΡΡΡΠ²Π°Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ Π΄ΠΎΡΠΈ Π² ΠΈΠ·ΡΠ°Π·ΠΈ (ΠΊΡΠ΄Π΅ΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ). ΠΡΠΎ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°:
Π Π²ΡΠΎΡΠΎ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎΡΠΎ Π΄ΠΎΠ²ΡΡΡΠ²Π°Π½Π΅ Π²Π΅ΡΠ΅ Π΅ Π½Π°Π»ΠΈΡΠ½ΠΎ Π² ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅. ΠΠΈΠΆΡΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ!
ΠΡΠΌΠ° ΡΠΌΠΈΡΡΠ» Π΄Π° ΡΡΠ°Π²Π½ΡΠ²Π°ΠΌΠ΅ ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Ρ Postman - Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎΡΠΎ Π΄ΠΎΠ²ΡΡΡΠ²Π°Π½Π΅ ΡΠ°ΠΌ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ ΡΠ°ΠΌΠΎ Π΄ΠΎ ΡΡΠ°ΡΠΈΡΠ½ΠΈ ΡΠΏΠΈΡΡΡΠΈ Ρ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Π·Π°Π³Π»Π°Π²ΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ (ΠΏΠΎΠΏΡΠ°Π²Π΅ΡΠ΅ ΠΌΠ΅, Π°ΠΊΠΎ ΡΡΠΌ Π·Π°Π±ΡΠ°Π²ΠΈΠ» Π½Π΅ΡΠΎ). Π‘ΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ Π΄ΠΎΠΏΡΠ»Π²Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ :)
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΊΡΠΎΠΌΠ²ΡΠΈ ΠΎΡΠ±Π΅Π»ΡΠ·Π° Π΅Π΄Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΎΡ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡ. ΠΡΠ΅Π· ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΡΡΠΏΡΡ
ΠΌΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΠ° ΠΈ Π² Π½ΡΠΊΠΎΠΈ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π½Π°ΡΡΠΈΠ³Π½Π°Ρ
ΠΌΠ΅ Π½Π°ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈ. ΠΠΎ ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄Π° Π΅, Π½Π°ΡΠ°ΡΠ° ΡΠ΅Π» Π΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ Π½Π°ΠΈΡΡΠΈΠ½Π° ΡΠ΄ΠΎΠ±Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ API. ΠΠΌΠ°ΠΌΠ΅ ΠΎΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ°, Π΅ΡΠΎ ΠΈ Π³ΡΡΠ± ΠΏΠ»Π°Π½ Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ Π·Π° ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π°:
ΠΠ°ΡΠ°ΡΠ° ΠΎΠ±ΡΠ°ΡΠ½Π° Π²ΡΡΠ·ΠΊΠ° ΡΠ΅ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π² ΠΈΠ·ΠΎΠ±ΠΈΠ»ΠΈΠ΅ΡΠΎ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Π²Π°ΡΠ°ΡΠ° ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ° Π½ΠΈ Π΄Π°Π²Π° ΡΠΈΠ»Π° ΠΈ ΡΠ²Π΅ΡΠ΅Π½ΠΎΡΡ, ΡΠ΅ ΠΏΠΎΡΡΡΠΏΠ²Π°ΠΌΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ. Π’Π°ΠΊΠ° ΡΠ΅ ΡΠ»ΡΡΠΈ, ΡΠ΅ Π΄Π½Π΅Ρ Π΅ Π²Π°ΠΆΠ΅Π½ Π΄Π΅Π½ Π·Π° Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ - Π΄Π΅Π½ΡΡ, Π² ΠΊΠΎΠΉΡΠΎ Π±Π΅ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ TestMace
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com