TestMace. වේගවත් ආරම්භය

TestMace. වේගවත් ආරම්භය

ආයුබෝවන් සියල්ලටම. අපි සෙමෙන් සෙවණැලි වලින් මතුවෙමින් අපගේ නිෂ්පාදනය පිළිබඳ ලිපි මාලාව දිගටම කරගෙන යමු. අනතුරුව පෙර සමාලෝචන ලිපිය, අපට බොහෝ ප්‍රතිපෝෂණ (බොහෝ විට ධනාත්මක), යෝජනා සහ දෝෂ වාර්තා ලැබුණි. අද අපි පෙන්වන්නම් TestMace ක්රියාත්මක වන අතර අපගේ යෙදුමේ සමහර විශේෂාංග අගය කිරීමට ඔබට හැකි වනු ඇත. වඩාත් සම්පූර්ණ ගිල්වීම සඳහා, අපගේ ලියකියවිලි වෙත යොමු කිරීමට මම ඔබට උපදෙස් දෙමි http://docs-ru.testmace.com. ඉතින්, අපි යමු!

ස්ථාපනය

අපි සාමාන්‍යයෙන් පටන් ගනිමු. යෙදුම ලබා ගත හැකි අතර ඇත්ත වශයෙන්ම වේදිකා තුනකින් පරීක්ෂා කර ඇත - Linux, Windows, MacOS. ඔබ කැමති OS සඳහා ස්ථාපකය බාගත කළ හැකිය අපගේ වෙබ් අඩවිය. ලිනක්ස් භාවිතා කරන්නන් සඳහා එය ස්ථාපනය කළ හැකිය snap පැකේජය. මයික්‍රොසොෆ්ට් වෙළඳසැල සහ ඇප්ස් වෙළඳසැල ඉක්මනින්ම එය වෙත පැමිණෙනු ඇතැයි අපි සැබවින්ම බලාපොරොත්තු වෙමු (එය අවශ්‍යද? ඔබ සිතන්නේ කුමක්ද?).

පර්යේෂණාත්මක දර්ශනය

අපි අපගේ පරීක්ෂණ විෂය ලෙස පහත සම්මත අවස්ථාව තෝරා ගත්තෙමු:

  • පුරනය වන්න: පරිශීලක - පරිපාලක, මුරපදය - මුරපදය
  • නව ප්‍රවේශයක් එක් කරන්න
  • වාර්තාව නිවැරදිව එකතු කර ඇත්දැයි පරීක්ෂා කර බලමු

අපි පරීක්ෂා කරන්නෙමු https://testmace-quick-start.herokuapp.com/. මෙය සාමාන්යයි json-සේවාදායකය, එවැනි යෙදුම් පරීක්ෂා කිරීම සඳහා පරිපූර්ණයි. අපි දැන් සියලුම json-සේවාදායක මාර්ග වෙත ටෝකනය මගින් අවසරය එකතු කර මෙම ටෝකනය ලබා ගැනීමට පිවිසුම් ක්‍රමයක් නිර්මාණය කළෙමු. අපි අපගේ ව්‍යාපෘතිය ක්‍රමයෙන් වැඩිදියුණු කරමින් ක්‍රමානුකූලව ඉදිරියට යන්නෙමු.

ව්‍යාපෘතියක් නිර්මාණය කිරීම සහ අවසරයකින් තොරව ආයතනයක් නිර්මාණය කිරීමට උත්සාහ කිරීම

පළමුව, අපි නව ව්‍යාපෘතියක් නිර්මාණය කරමු (ගොනුව->නව ව්යාපෘතියක්) ඔබ පළමු වරට යෙදුම දියත් කරන්නේ නම්, නව ව්‍යාපෘතියක් ස්වයංක්‍රීයව විවෘත වේ. පළමුව, නව වාර්තාවක් සෑදීමට ඉල්ලීමක් කිරීමට උත්සාහ කරමු (වාර්තා නිර්මාණය කිරීම අවසරයකින් තොරව තිබේ නම්). ව්‍යාපෘති නෝඩ් සන්දර්භය මෙනුවෙන් අයිතම තෝරන්න නෝඩ් එකතු කරන්න -> ඉල්ලීම පියවර. නෝඩ් නම සකසන්න create-post. එහි ප්රතිඵලයක් වශයෙන්, ගස තුළ නව නෝඩයක් සාදනු ලබන අතර මෙම නෝඩය සඳහා ටැබ් එකක් විවෘත වේ. පහත ඉල්ලීම් පරාමිතීන් සකස් කරමු:

  • ඉල්ලීම් වර්ගය: POST
  • Url: https://testmace-quick-start.herokuapp.com/posts
  • ඉල්ලීම් ශරීරය: අගය සහිත json {"title": "New testmace quick start post"}
    ඔබ සියල්ල නිවැරදිව කළේ නම්, අතුරු මුහුණත මේ ආකාරයෙන් පෙනෙනු ඇත:

TestMace. වේගවත් ආරම්භය

කෙසේ වෙතත්, අපි ඉල්ලීම ඉටු කිරීමට උත්සාහ කරන්නේ නම්, සේවාදායකය 401 කේතයක් ලබා දෙන අතර අවසරයකින් තොරව අපට මෙම සේවාදායකයේ කිසිවක් නොලැබෙනු ඇත. හොඳයි, පොදුවේ, අපේක්ෂා කළ පරිදි).

අවසර ඉල්ලීමක් එකතු කිරීම

දැනටමත් පවසා ඇති පරිදි, අපට POST අන්ත ලක්ෂ්‍යයක් ඇත /login, එය json පෝරමයේ ඉල්ලීම් ශරීරයක් ලෙස ගනී: {"username": "<username>", "password": "<password>"}කොහෙද username и password (නැවතත්, ඉහත හඳුන්වාදීමේ ඡේදයෙන්) අර්ථයන් ඇත admin и password පිළිවෙලින්. ප්‍රතිචාරයක් වශයෙන්, මෙම අන්ත ලක්ෂ්‍යය json like ලබා දෙයි {"token": "<token>"}. අපි එය අවසරය සඳහා භාවිතා කරන්නෙමු. අපි නිර්මාණය කරමු ඉල්ලීම පියවර නම සහිත නෝඩය ඇතුල් වන්න, මුතුන් මිත්තන් ලෙස ක්රියා කරනු ඇත ව්යාපෘති නෝඩය drag-and-drop භාවිතා කරමින්, ගසේ දී ඇති නෝඩයක් නෝඩයට වඩා ඉහළට ගෙන යන්න create-post. අලුතින් සාදන ලද ඉල්ලීමට පහත පරාමිතීන් සකස් කරමු:

අපි ඉල්ලීම ක්‍රියාත්මක කර ප්‍රතිචාරයේ ඇති ටෝකනය සමඟ දෙසිය වන කේතය ලබා ගනිමු. මේ වගේ දෙයක්:

TestMace. වේගවත් ආරම්භය

නැවත සකස් කිරීම: වසම් අනුපිටපත් ඉවත් කිරීම

මෙතෙක් ඉල්ලීම් තනි පිටපතකට සම්බන්ධ කර නොමැත. නමුත් මෙය එකම පසුබෑම නොවේ. ඔබ සමීපව බැලුවහොත්, ඉල්ලීම් දෙකෙහිම අවම වශයෙන් වසම අනුපිටපත් කර ඇති බව ඔබට පෙනෙනු ඇත. හොඳ නැහැ. අනාගත ස්ක්‍රිප්ටයේ මෙම කොටස නැවත සකස් කිරීමට කාලය පැමිණ ඇති අතර, විචල්‍යයන් අපට මේ සඳහා උපකාරී වනු ඇත.

පළමු ආසන්න වශයෙන්, විචල්‍යයන් වෙනත් සමාන මෙවලම් සහ ක්‍රමලේඛන භාෂා වල මෙන් එකම භූමිකාවක් ඉටු කරයි - අනුපිටපත් ඉවත් කිරීම, කියවීමේ හැකියාව වැඩි කිරීම යනාදිය. ඔබට විචල්‍යයන් ගැන වැඩිදුර කියවිය හැකිය අපගේ ලියකියවිලි. මෙම අවස්ථාවේදී, අපට පරිශීලක විචල්යයන් අවශ්ය වනු ඇත.

අපි Project node මට්ටමේ විචල්‍යයක් නිර්වචනය කරමු domain තේරුමක් ඇතුව https://testmace-quick-start.herokuapp.com. මේ සඳහා එය අවශ්ය වේ

  • මෙම නෝඩය සමඟ ටැබ් එක විවෘත කර ඉහළ දකුණේ ඇති කැල්කියුලේටරය අයිකනය මත ක්ලික් කරන්න
  • මත ක්ලික් කරන්න + විචල්‍ය එකතු කරන්න
  • විචල්‍ය නම සහ අගය ඇතුළත් කරන්න
    අපගේ නඩුවේදී, එකතු කරන ලද විචල්යය සමඟ සංවාදය මේ ආකාරයෙන් පෙනෙනු ඇත:

TestMace. වේගවත් ආරම්භය

හරි. දැන්, උරුමය නිසා, අපට ඕනෑම කැදලි මට්ටමකින් පැවත එන්නන් තුළ මෙම විචල්‍යය භාවිතා කළ හැකිය. අපගේ නඩුවේදී මේවා නෝඩ් වේ ඇතුල් වන්න и create-post. පෙළ ක්ෂේත්‍රයක විචල්‍යයක් භාවිතා කිරීම සඳහා, ඔබ ලිවිය යුතුය ${<variable_name>}. උදාහරණයක් ලෙස, පිවිසුම් url බවට පරිවර්තනය වේ ${domain}/login, සඳහා පිළිවෙලින් create-post node url එක වගේ වෙයි ${domain}/posts.

මේ අනුව, DRY මූලධර්මය මගින් මෙහෙයවනු ලබන අතර, අපි තත්වය තරමක් වැඩිදියුණු කර ඇත.

ටෝකනය විචල්‍යයකට සුරකින්න

අපි කතා කරන්නේ විචල්‍යයන් ගැන නිසා, අපි මෙම මාතෘකාව ටිකක් පුළුල් කරමු. මේ මොහොතේ, සාර්ථක පුරනය වීමකදී, අපට පසුව ඉල්ලීම් වලදී අපට අවශ්‍ය වන අවසර ටෝකනයක් සේවාදායකයෙන් ලැබේ. අපි මේ ටෝකන් එක variable එකකට save කරමු. නිසා ස්ක්‍රිප්ට් ක්‍රියාත්මක කිරීමේදී විචල්‍යයේ අගය තීරණය කරනු ඇත, අපි මේ සඳහා විශේෂ යාන්ත්‍රණයක් භාවිතා කරමු - ගතික විචල්යයන්.

මුලින්ම අපි login request එකක් කරමු. ටැබ් එකේ විග්‍රහ කර ඇත පිළිතුර, ටෝකනය හරහා කර්සරය ගෙන යන්න සහ සන්දර්භය මෙනුව තුළ (එය දකුණු මූසික බොත්තම සමඟ හෝ බොත්තම මත ක්ලික් කිරීමෙන් හැඳින්වේ ...) අයිතමය තෝරන්න විචල්‍යයට පවරන්න. පහත ක්ෂේත්‍ර සමඟ සංවාදයක් දිස්වනු ඇත:

  • මාර්ගය - පිළිතුරේ කුමන කොටස ගනු ලබන්නේද (අපගේ නඩුවේදී එය වේ body.token)
  • වත්මන් වටිනාකම - මාර්ගය දිගේ ඇති අගය කුමක්ද (අපගේ නඩුවේ මෙය සංකේත අගයයි)
  • විචල්ය නාමය - විචල්‍යයේ නම කොහෙද වත්මන් වටිනාකම සුරැකෙනු ඇත. අපගේ නඩුවේදී එය එසේ වනු ඇත token
  • node එකක් මතම ඊට අදාල - විචල්‍යය නිර්මාණය වන්නේ කුමන මුතුන් මිත්තන් තුළද? විචල්ය නාමය. අපි Project තෝරා ගනිමු

සම්පුර්ණ කරන ලද සංවාදය මේ වගේ ය:

TestMace. වේගවත් ආරම්භය

දැන් සෑම විටම node එක ක්රියාත්මක වේ ඇතුල් වන්න ගතික විචල්යය token ප්‍රතිචාරයෙන් ලැබෙන නව අගය සමඟ යාවත්කාලීන වනු ඇත. තවද මෙම විචල්‍යය ගබඩා වනු ඇත ව්යාපෘති node සහ, උරුමයට ස්තූතිවන්ත වන අතර, පැවතෙන්නන්ට ලබා ගත හැකි වනු ඇත.

ගතික විචල්යයන් වෙත ප්රවේශ වීමට, ඔබ භාවිතා කළ යුතුය බිල්ට්-ඉන් විචල්‍යය $dynamicVar. උදාහරණයක් ලෙස, ගබඩා කර ඇති ටෝකනය වෙත ප්රවේශ වීමට, ඔබ ඇමතීමට අවශ්ය වේ ${$dynamicVar.token}.

අපි අවසර ටෝකනය ඉල්ලීම්වලට ලබා දෙන්නෙමු

පෙර පියවරේදී අපට අවසර ටෝකනය ලැබුණු අතර අප කළ යුත්තේ ශීර්ෂයක් එක් කිරීමයි Authorization තේරුමක් ඇතුව Bearer <tokenValue> ඇතුළුව අවසරය අවශ්‍ය සියලුම ඉල්ලීම් වලදී create-post. මෙය කිරීමට ක්රම කිහිපයක් තිබේ:

  1. ටෝකනය හස්තීයව පිටපත් කර උනන්දුවක් දක්වන ඉල්ලීම් සඳහා අවසර ශීර්ෂයක් එක් කරන්න. ක්‍රමය ක්‍රියාත්මක වේ, නමුත් එහි භාවිතය සීමා වන්නේ "සාදා ඉවත දැමූ" ආකාරයේ ඉල්ලීම් වලට පමණි. ස්ක්‍රිප්ට් නැවත නැවත ක්‍රියාත්මක කිරීම සඳහා සුදුසු නොවේ
  2. ක්‍රියාකාරීත්වය භාවිතා කරන්න අවසරය.
  3. භාවිතා කරන්න පෙරනිමි ශීර්ෂ

දෙවන ක්රමය භාවිතා කිරීම පැහැදිලිව පෙනේ, නමුත් මෙම ලිපියේ සන්දර්භය තුළ, මෙම ප්රවේශය ... උනන්දුවක් නොදක්වයි. හොඳයි, ඇත්ත වශයෙන්ම: බලය පැවරීමේ යාන්ත්‍රණය සහ අඩු කිරීම ඔබට වෙනත් මෙවලම් වලින් හුරුපුරුදුය (අපට මෙවැනි දේවල් තිබුණත් අවසර උරුමය) සහ ප්‍රශ්න මතු කිරීමට අපහසුය.

තවත් දෙයක් නම් පෙරනිමි ශීර්ෂයයි! කෙටියෙන් කිවහොත්, පෙරනිමි ශීර්ෂයන් යනු ප්‍රකාශිතව අක්‍රිය කර නොමැති නම් පෙරනිමියෙන් ඉල්ලීමට එක් කෙරෙන ප්‍රවේණිගත HTTP ශීර්ෂයන් වේ. මෙම ක්‍රියාකාරිත්වය භාවිතා කරමින්, ඔබට, උදාහරණයක් ලෙස, අභිරුචි අවසරය ක්‍රියාත්මක කිරීමට හෝ ස්ක්‍රිප්ට් වල අනුපිටපත් ඉවත් කිරීමට හැකිය. ශීර්ෂයන් තුළ ටෝකනයක් සම්මත කිරීමට මෙම විශේෂාංගය භාවිතා කරමු.

මීට පෙර, අපි විචක්ෂණශීලීව ටෝකනය ගතික විචල්‍යයකට සුරැකුවෙමු $dynamicVar.token ව්යාපෘති නෝඩ් මට්ටමින්. ඉතිරිව ඇත්තේ පහත සඳහන් දෑ කිරීම පමණි:

  1. පෙරනිමි මාතෘකාව නිර්වචනය කරන්න Authorization තේරුමක් ඇතුව Bearer ${$dynamicVar.token} ව්යාපෘති නෝඩ් මට්ටමින්. මෙය සිදු කිරීම සඳහා, නෝඩයේ ව්‍යාපෘති අතුරුමුහුණතෙහි ඔබ පෙරනිමි ශීර්ෂයන් සහිත සංවාදයක් විවෘත කළ යුතුය (බොත්තම ශීර්ෂක ඉහළ දකුණු කෙළවරේ) සහ අනුරූප මාතෘකාවක් එක් කරන්න. පිරවූ අගයන් සහිත සංවාදය මේ ආකාරයෙන් පෙනෙනු ඇත:
    TestMace. වේගවත් ආරම්භය
  2. පිවිසුම් ඉල්ලීමෙන් මෙම ශීර්ෂකය අබල කරන්න. මෙය තේරුම් ගත හැකි ය: පුරනය වන අවස්ථාවේදී, අපට තවමත් ටෝකනයක් නොමැති අතර අපි මෙම ඉල්ලීම සමඟ එය ස්ථාපනය කරන්නෙමු. එබැවින්, ටැබ් එකේ ඉල්ලීමෙහි පිවිසුම් අතුරුමුහුණත තුළ ශීර්ෂක දී උරුමය අවසර ශීර්ෂය සලකුණු නොකරන්න.

එච්චරයි. දැන් පිවිසුම් නෝඩය හැර, ව්‍යාපෘති නෝඩයේ දරුවන් වන සියලුම ඉල්ලීම්වලට අවසර ශීර්ෂය එක් කෙරේ. මෙම අදියරේදී අපට දැනටමත් පිටපතක් සූදානම් කර ඇති අතර අප කළ යුත්තේ එය දියත් කිරීම පමණක් බව පෙනේ. තේරීමෙන් ඔබට ස්ක්‍රිප්ට් ධාවනය කළ හැක දුවන්න ව්‍යාපෘති නෝඩයේ සන්දර්භය මෙනුව තුළ.

පළ කිරීම් නිර්මාණයේ නිවැරදි බව පරීක්ෂා කිරීම

මෙම අවස්ථාවෙහිදී, අපගේ ස්ක්‍රිප්ටයට ලොග් විය හැකි අතර, අවසර ටෝකනයක් භාවිතා කර, පළ කිරීමක් සෑදිය හැක. කෙසේ වෙතත්, අලුතින් සාදන ලද තනතුරේ නිවැරදි නම තිබේදැයි අපි සහතික කර ගත යුතුය. එනම්, සාරාංශයක් ලෙස, ඉතිරිව ඇත්තේ පහත සඳහන් දේ කිරීමයි:

  • හැඳුනුම්පත මගින් පෝස්ට් එකක් ලබා ගැනීමට ඉල්ලීමක් යවන්න,
  • සර්වර් එකෙන් ලැබෙන නම පෝස්ට් එක හදනකොට එවන නමට ගැළපෙනවද බලන්න

අපි පළමු පියවර දෙස බලමු. ස්ක්‍රිප්ට් ක්‍රියාත්මක කිරීමේදී id අගය තීරණය වන බැවින්, ඔබ ගතික විචල්‍යයක් සෑදිය යුතුය (අපි එය කියමු postId) නෝඩයෙන් create-post ව්යාපෘති නෝඩ් මට්ටමින්. මෙය කරන්නේ කෙසේදැයි අපි දැනටමත් දනිමු, කොටස බලන්න ටෝකනය විචල්‍යයකට සුරකින්න. ඉතිරිව ඇත්තේ මෙම හැඳුනුම්පත භාවිතා කර තනතුරක් ලබා ගැනීමට ඉල්ලීමක් සෑදීම පමණි. මෙය සිදු කිරීම සඳහා, අපි RequestStep එකක් නිර්මාණය කරමු ලබා ගැනීම පහත පරාමිතීන් සමඟ:

  • ඉල්ලීම් වර්ගය: GET
  • URL: ${domain}/posts/${$dynamicVar.postId}

දෙවන පියවර ක්රියාත්මක කිරීම සඳහා, අපි දැන හඳුනා ගත යුතුය ප්රකාශය ගැටය. Assertion node යනු විශේෂිත ඉල්ලීම් සඳහා චෙක්පත් ලිවීමට ඔබට ඉඩ සලසන නෝඩයකි. සෑම ප්‍රකාශන නෝඩයකටම ප්‍රකාශ කිහිපයක් (පරීක්ෂා කිරීම්) අඩංගු විය හැක. ඔබට අපගේ සියලු වර්ගවල ප්‍රකාශයන් ගැන වැඩිදුර කියවිය හැකිය ලියකියවිලි. අපි භාවිතා කරන්නෙමු Compare ක්රියාකරු සමඟ ප්රකාශය equal. ප්රකාශයන් නිර්මාණය කිරීමට ක්රම කිහිපයක් තිබේ:

  1. දිගු. RequestStep node හි සන්දර්භය මෙනුවෙන් Assertion node එකක් අතින් සාදන්න. සාදන ලද Assertion node හි, උනන්දුව තහවුරු කිරීම එකතු කර ක්ෂේත්‍ර පුරවන්න.
  2. ඉක්මනින්. සන්දර්භය මෙනුව භාවිතයෙන් RequestStep node ප්‍රතිචාරයෙන් ප්‍රකාශයක් සමඟ ප්‍රකාශන නෝඩයක් සාදන්න

අපි දෙවන ක්රමය භාවිතා කරමු. අපගේ නඩුව සඳහා මෙය පෙනෙනු ඇත.

TestMace. වේගවත් ආරම්භය

තේරෙන්නේ නැති අයට මෙන්න මෙහෙමයි වෙන්නේ.

  1. නෝඩ් එකේ ඉල්ලීමක් කරන්න ලබා ගැනීම
  2. ටැබ් එකේ විග්‍රහ කර ඇත පිළිතුර, සන්දර්භය මෙනුව අමතන්න සහ තෝරන්න ප්‍රකාශයක් සාදන්න -> සසඳා බලන්න -> සමාන

සුභ පැතුම්, අපි අපගේ පළමු පරීක්ෂණය නිර්මාණය කර ඇත! සරලයි නේද? දැන් ඔබට ස්ක්‍රිප්ට් එක සම්පුර්ණයෙන්ම ක්‍රියාත්මක කර ප්‍රතිඵලය භුක්ති විඳිය හැක. ඉතිරිව ඇත්තේ එය ටිකක් නැවත සකස් කර පිටතට ගැනීම පමණි title වෙනම විචල්‍යයකට. නමුත් අපි මෙය ඔබට ගෙදර වැඩ ලෙස තබමු)

නිගමනය

මෙම මාර්ගෝපදේශය තුළ, අපි අංගසම්පූර්ණ දර්ශනයක් නිර්මාණය කළ අතර ඒ සමඟම අපගේ නිෂ්පාදනයේ සමහර විශේෂාංග සමාලෝචනය කළෙමු. ඇත්ත වශයෙන්ම, අපි සියලු ක්‍රියාකාරීත්වය භාවිතා නොකළ අතර පහත ලිපිවල අපි TestMace හි හැකියාවන් පිළිබඳ සවිස්තරාත්මක දළ විශ්ලේෂණයක් ලබා දෙන්නෙමු. සුසරව සිටින්න!

PS සියලුම පියවර ප්‍රතිනිෂ්පාදනය කිරීමට කම්මැලි අය සඳහා, අපි කාරුණිකව පටිගත කර ඇත්තෙමු ගබඩාව ලිපියෙන් ව්යාපෘතිය සමඟ. ඔබට එය විවෘත කළ හැකිය ගොනුව -> විවෘත ව්යාපෘතිය සහ Project ෆෝල්ඩරය තෝරන්න.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න