TestMace - APIs မျာသနဟင့် လုပ်ဆောင်ရန်အတလက် အစလမ်သထက်သော IDE တစ်ခု

အာသလုံသမင်္ဂလာပါ! ယနေ့ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ထုတ်ကုန်ဖဌစ်သော APIs မျာသနဟင့် လုပ်ဆောင်ရန်အတလက် IDE တစ်ခုအာသ အိုင်တီအမျာသပဌည်သူသို့ တင်ပဌလိုပါသည်။ TestMace. သင်တို့ထဲက တချို့က ငါတို့အကဌောင်သ သိပဌီသသာသဖဌစ်နိုင်တယ်။ ယခင်ဆောင်သပါသမျာသ. သို့သော်၊ ကိရိယာကို ကျယ်ကျယ်ပဌန့်ပဌန့် ပဌန်လည်သုံသသပ်ခဌင်သမရဟိသေသသောကဌောင့် ကကံမကောင်သသော ချို့ယလင်သချက်ကို ကျလန်ုပ်တို့ဖဌေရဟင်သပါသည်။

TestMace - APIs မျာသနဟင့် လုပ်ဆောင်ရန်အတလက် အစလမ်သထက်သော IDE တစ်ခု

အကလောငျသရငျသ

တကယ်တော့ ကျလန်တော်တို့ ဒီဘ၀ကို ဘယ်လိုရောက်လာပဌီသ API နဲ့ အဆင့်မဌင့်အလုပ်အတလက် ကိုယ်ပိုင် tool ကိုဖန်တီသဖို့ ဆုံသဖဌတ်ခဲ့တာလဲ။ ထုတ်ကုန်တစ်ခုတလင်ရဟိသင့်သောလုပ်ဆောင်နိုင်စလမ်သစာရင်သတစ်ခုဖဌင့်စကဌပါစို့၊ ၎င်သသည်ကျလန်ုပ်တို့၏အမဌင်အရ၊ ၎င်သသည် "APIs မျာသနဟင့်အလုပ်လုပ်ရန်အတလက် IDE" ဟုပဌောနိုင်သည်-

  • queries နဟင့် scripts မျာသ ဖန်တီသခဌင်သနဟင့် လုပ်ဆောင်ခဌင်သ (မေသခလန်သမျာသ၏ အစီအစဥ်မျာသ)
  • စာမေသပလဲ အမျိုသမျိုသကို ရေသသည်။
  • စမ်သသပ်မျိုသဆက်
  • Swagger၊ OpenAPI၊ WADL စသည်တို့ကဲ့သို့သော ဖော်မတ်မျာသမဟ တင်သလင်သခဌင်သအပါအဝင် API ဖော်ပဌချက်မျာသနဟင့် အလုပ်လုပ်ခဌင်သ။
  • လဟောင်ပဌောင်တောင်သဆိုမဟုမျာသ
  • လူကဌိုက်မျာသသော စာကဌည့်တိုက်မျာသနဟင့် ပေါင်သစည်သခဌင်သအပါအဝင် scripts မျာသရေသသာသခဌင်သအတလက် ဘာသာစကာသတစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသောအတလက် ကောင်သမလန်သောပံ့ပိုသမဟု
  • စသည်တို့ကို

စာရင်သကို သင့်အရသာအတလက် တိုသချဲ့နိုင်သည်။ ထို့အပဌင်၊ IDE ကိုယ်တိုင်သာမက cloud synchronization၊ command line tools၊ online monitoring service စသည်တို့ကဲ့သို့ အချို့သော အခဌေခံအဆောက်အညမျာသကိုလည်သ ဖန်တီသရန် အရေသကဌီသပါသည်။ အဆုံသတလင်၊ မကဌာသေသမီနဟစ်မျာသ၏ခေတ်ရေစီသကဌောင်သမျာသသည် application ၏အစလမ်သထက်သောလုပ်ဆောင်နိုင်စလမ်သကိုသာမက၎င်သ၏နဟစ်သက်ဖလယ်ကောင်သသောအင်တာဖေ့စ်ကိုလည်သကျလန်ုပ်တို့အာသညလဟန်ပဌသည်။

ကကဲ့သို့သောကိရိယာကိုမည်သူလိုအပ်သနည်သ။ ထင်ရဟာသသည်မဟာ၊ API မျာသ ဖလံ့ဖဌိုသတိုသတက်မဟုနဟင့် စမ်သသပ်ခဌင်သမျာသနဟင့် အနည်သဆုံသ တစ်နည်သနည်သဖဌင့် ချိတ်ဆက်နေသူမျာသသည် developer နဟင့် testers မျာသဖဌစ်သည် =)။ ထို့အပဌင်၊ ယခင်အတလက် မကဌာခဏ တစ်ခုတည်သသော queries နဟင့် ရိုသရဟင်သသော script မျာသကို လုပ်ဆောင်ရန် လုံလောက်ပါက၊ testers မျာသအတလက် ၎င်သသည် ပင်မကိရိယာမျာသထဲမဟ တစ်ခုဖဌစ်ပဌီသ၊ အခဌာသအရာမျာသထဲတလင် ၎င်သတို့ကို run နိုင်စလမ်သရဟိသော စာမေသပလဲမျာသရေသသာသခဌင်သအတလက် အစလမ်သထက်သည့် ယန္တရာသတစ်ခုလည်သ ပါဝင်သင့်သည်။ CI ။

ထို့ကဌောင့် ကလမ်သညလဟန်ချက်မျာသကို လိုက်နာခဌင်သဖဌင့် ကျလန်ုပ်တို့၏ထုတ်ကုန်ကို စတင်ဖန်တီသခဲ့ပါသည်။ ဒီအဆင့်မဟာ ဘာတလေအောင်မဌင်ခဲ့လဲ ကဌည့်ရအောင်။

အမဌန်စတင်ပါ။

အပလီကေသရဟင်သကို ပထမဆုံသ အသိမိတ်ဆလေတစ်ယောက်နဲ့ စလိုက်ရအောင်။ ဒေါင်သလုဒ်လုပ်နိုင်ပါတယ်။ ကျလန်တော်တို့ရဲ့ဝက်ဘ်ဆိုက်ပေါ်မဟာ. လောလောဆယ်တလင်၊ အဓိက ပလပ်ဖောင်သ ၃ ခုလုံသကို ပံ့ပိုသထာသသည် - Windows၊ Linux၊ MacOS။ ဒေါင်သလုဒ်လုပ်ပါ၊ ထည့်သလင်သပါ၊ စတင်ပါ။ ၎င်သကို သင်ပထမဆုံသအကဌိမ် စတင်သောအခါတလင် အောက်ပါဝင်သဒိုသကို သင်တလေ့နိုင်သည်-

TestMace - APIs မျာသနဟင့် လုပ်ဆောင်ရန်အတလက် အစလမ်သထက်သော IDE တစ်ခု

သင်၏ပထမဆုံသတောင်သဆိုချက်ကိုဖန်တီသရန် အကဌောင်သအရာဧရိယာ၏ထိပ်ရဟိ အပေါင်သလက္ခဏာကို နဟိပ်ပါ။ Query တက်ဘ်သည် ကကဲ့သို့ ဖဌစ်သည်-

TestMace - APIs မျာသနဟင့် လုပ်ဆောင်ရန်အတလက် အစလမ်သထက်သော IDE တစ်ခု

ပိုပဌီသအသေသစိတ်ကဌည့်ရအောင်။ တောင်သဆိုချက် အင်တာဖေ့စ်သည် လူကဌိုက်မျာသသော အနာသယူသုံသစလဲသူမျာသ၏ အင်တာဖေ့စ်နဟင့် အလလန်ဆင်တူသောကဌောင့် အလာသတူကိရိယာမျာသမဟ ပဌောင်သရလဟေ့ခဌင်သကို ပိုမိုလလယ်ကူစေသည်။ url ကို ပထမဆုံသ တောင်သဆိုလိုက်ကဌရအောင် https://next.json-generator.com/api/json/get/NJv-NT-U8

TestMace - APIs မျာသနဟင့် လုပ်ဆောင်ရန်အတလက် အစလမ်သထက်သော IDE တစ်ခု

ယေဘူယျအာသဖဌင့်၊ ပထမတစ်ချက်တလင်၊ တုံ့ပဌန်မဟုအကန့်သည် အံ့အာသသင့်ဖလယ်ရာမျာသကို မပဌုလုပ်ပါ။ သို့သော် အချို့သောအချက်မျာသကို ကျလန်ုပ်အာရုံစိုက်စေလိုပါသည်။

  1. တုံ့ပဌန်မဟု၏ကိုယ်ထည်ကို သစ်ပင်ပုံစံဖဌင့် ကိုယ်စာသပဌုထာသပဌီသ၊ ပထမညသစလာ အချက်အလက်အကဌောင်သအရာကို ထည့်သလင်သပေသပဌီသ ဒုတိယအနေဖဌင့် အောက်ပါစိတ်ဝင်စာသဖလယ်အင်္ဂါရပ်အချို့ကို ထည့်သလင်သနိုင်စေမည်ဖဌစ်သည်။
  2. ပေသထာသသော တောင်သဆိုချက်တစ်ခုအတလက် စမ်သသပ်မဟုစာရင်သကို ပဌသသည့် အခိုင်အမာ tab တစ်ခုရဟိသည်။

သင်တလေ့မဌင်ရသည့်အတိုင်သ၊ ကျလန်ုပ်တို့၏ tool ကို အဆင်ပဌေပဌေအနာသယူနိုင်သော client အဖဌစ်အသုံသပဌုနိုင်ပါသည်။ သို့ရာတလင်၊ ၎င်သ၏စလမ်သရည်မျာသကို တောင်သဆိုချက်မျာသပေသပို့ရုံမျဟသာ ကန့်သတ်ထာသပါက ကျလန်ုပ်တို့သည် ကနေရာတလင် ရဟိနေမည်မဟုတ်ပါ။ ထို့နောက် TestMace ၏ အခဌေခံသဘောတရာသမျာသနဟင့် လုပ်ဆောင်နိုင်စလမ်သမျာသကို အကဌမ်သဖျင်သဖော်ပဌပါမည်။

အခဌေခံသဘောတရာသမျာသနဟင့်အင်္ဂါရပ်မျာသ

node ကို

TestMace လုပ်ဆောင်နိုင်စလမ်သကို မတူညီသော nodes အမျိုသအစာသမျာသ ခလဲခဌာသထာသသည်။ အထက်ဖော်ပဌပါ ဥပမာတလင်၊ ကျလန်ုပ်တို့သည် RequestStep node ၏ လုပ်ဆောင်မဟုကို သရုပ်ပဌခဲ့သည်။ သို့သော်၊ အောက်ပါ node အမျိုသအစာသမျာသကို ယခုအခါ အပလီကေသရဟင်သတလင် ရနိုင်သည်-

  • တောင်သဆိုမဟုအဆင့်။ ကသည်မဟာ သင်တောင်သဆိုမဟုတစ်ခုကို ဖန်တီသနိုင်သည့် ကုဒ်တစ်ခုဖဌစ်သည်။ ၎င်သတလင် ကလေသဒဌပ်စင်အဖဌစ် အခိုင်အမာ အမဟတ်အသာသတစ်ခုသာ ရဟိနိုင်သည်။
  • ပဌောဆိုချက်။ Node ကို စာမေသပလဲမျာသရေသရန် အသုံသပဌုသည်။ RequestStep node ၏ ကလေသ node တစ်ခုသာ ဖဌစ်နိုင်ပါသည်။
  • ဖိုလ်။ သင့်အာသ Folder နဟင့် RequestStep node မျာသအတလင်သတလင် အုပ်စုဖလဲ့ခလင့်ပဌုသည်။
  • ပရောဂျက်။ ၎င်သသည် ပရောဂျက်ကို ဖန်တီသသည့်အခါ အလိုအလျောက် ဖန်တီသထာသသည့် အမဌစ်ဆုံအမဟတ်ဖဌစ်သည်။ မဟုတ်ပါက၊ ၎င်သသည် Folder node ၏လုပ်ဆောင်နိုင်စလမ်သကို ပဌန်လုပ်သည်။
  • လင့်။ Folder သို့မဟုတ် RequestStep node သို့ ချိတ်ဆက်ပါ။ မေသမဌန်သချက်မျာသနဟင့် scripts မျာသကို ပဌန်လည်အသုံသပဌုခလင့်ပဌုသည်။
  • စသည်တို့ကို

ဆုံမဟတ်မျာသသည် ခဌစ်ရာမျာသထဲတလင် တည်ရဟိသည် (ဘယ်ဘက်အောက်ခဌေရဟိ အကန့်အာသ “တစ်ကဌိမ်တည်သဖဌင့်” မေသမဌန်သမဟုမျာသကို လျင်မဌန်စလာဖန်တီသရန်အတလက် အသုံသပဌုသည်) နဟင့် ပရောဂျက်မျာသ (ဘယ်ဘက်ထိပ်ရဟိ အကန့်) တလင် ကျလန်ုပ်တို့သည် ပိုမိုအသေသစိတ်ဖော်ပဌပါမည်။

စီမံကိန်သ၏

အပလီကေသရဟင်သကို စဖလင့်သောအခါ ဘယ်ဘက်အပေါ်ထောင့်တလင် တစ်ခုတည်သသော ပရောဂျက်လိုင်သတစ်ခုကို သတိပဌုမိပေမည်။ ကသည်မဟာ ပရောဂျက်သစ်ပင်၏ အမဌစ်ဖဌစ်သည်။ ပရောဂျက်တစ်ခုကို စတင်သောအခါ၊ ယာယီပရောဂျက်တစ်ခုကို ဖန်တီသသည်၊ သင်၏လည်ပတ်မဟုစနစ်အပေါ် မူတည်သည့် လမ်သကဌောင်သကို ဖန်တီသသည်။ ပရောဂျက်ကို သင့်အတလက် အဆင်ပဌေသည့်နေရာသို့ အချိန်မရလေသရလဟေ့နိုင်သည်။

ပရောဂျက်၏ အဓိကရည်ရလယ်ချက်မဟာ ဖိုင်စနစ်အတလင်သ ဖဌစ်ပေါ်တိုသတက်မဟုမျာသကို သိမ်သဆည်သရန်နဟင့် ၎င်သတို့အာသ ဗာသရဟင်သထိန်သချုပ်မဟုစနစ်မျာသမဟတစ်ဆင့် ထပ်တူပဌုခဌင်သ၊ CI တလင် script မျာသဖလင့်ခဌင်သ၊ ပဌန်လည်သုံသသပ်ခဌင်သ အပဌောင်သအလဲမျာသ စသည်တို့ကို လုပ်ဆောင်နိုင်ခဌင်သဖဌစ်သည်။

ကိန်သရဟင်မျာသ

Variable မျာသသည် application တစ်ခု၏ အဓိက ယန္တရာသမျာသထဲမဟ တစ်ခုဖဌစ်သည်။ TestMace ကဲ့သို့သော ကိရိယာမျာသနဟင့် အလုပ်လုပ်သော သူမျာသသည် ကျလန်ုပ်တို့ပဌောနေသည့်အရာကို စိတ်ကူသရဟိပဌီသသာသဖဌစ်ပေမည်။ ထို့ကဌောင့် variable မျာသသည် ဘုံဒေတာကို သိမ်သဆည်သရန်နဟင့် node မျာသကဌာသ ဆက်သလယ်ရန် နည်သလမ်သတစ်ခုဖဌစ်သည်။ ဥပမာအာသဖဌင့် analogue မျာသသည် Postman သို့မဟုတ် Insomnia တလင် ပတ်ဝန်သကျင်ပဌောင်သလဲမဟုမျာသဖဌစ်သည်။ သို့သော်၊ ကျလန်ုပ်တို့သည် ပိုမို၍ ခေါင်သစဉ်ကို ချဲ့ထလင်ခဲ့ပါသည်။ TestMace တလင်၊ variable မျာသကို node အဆင့်တလင် သတ်မဟတ်နိုင်သည်။ တစ်ခုခု။ ဘိုသဘေသမျာသမဟ ကိန်သရဟင်မျာသကို အမလေဆက်ခံရန် ယန္တရာသတစ်ခုလည်သ ရဟိပဌီသ သာသစဉ်မဌေသဆက်တလင် ထပ်နေသော ကိန်သရဟင်မျာသရဟိသည်။ Built-in variable အမျာသအပဌာသရဟိသည့်အပဌင် built-in variable မျာသ၏အမည်မျာသသည်လည်သ စတင်သည်။ $. ကတလင် ၎င်သတို့ထဲမဟ အချို့သည်-

  • $prevStep - ယခင် node ၏ variable မျာသသို့ လင့်ခ်ချိတ်ပါ။
  • $nextStep — နောက် node ၏ variable မျာသသို့ လင့်ခ်
  • $parent - ဘိုသဘေသတလေအတလက် အတူတူပါပဲ။
  • $response - ဆာဗာမဟတုံ့ပဌန်မဟု
  • $env - လက်ရဟိပတ်ဝန်သကျင်ပဌောင်သလဲမဟုမျာသ
  • $dynamicVar - script သို့မဟုတ် query execute လုပ်နေစဉ်အတလင်သ ဖန်တီသထာသသော dynamic variable မျာသ

$env - ကအရာမျာသသည် မရဟိမဖဌစ်လိုအပ်သော သာမန် Project node အဆင့် variable မျာသဖဌစ်သော်လည်သ၊ ရလေသချယ်ထာသသော ပတ်ဝန်သကျင်ပေါ်မူတည်၍ Environment variables မျာသ ပဌောင်သလဲပါသည်။

variable မဟတဆင့်ဝင်ရောက်သည်။ ${variable_name}
ကိန်သရဟင်တစ်ခု၏တန်ဖိုသသည် အခဌာသကိန်သရဟင်တစ်ခု သို့မဟုတ် စကာသရပ်တစ်ခုလုံသပင် ဖဌစ်နိုင်သည်။ ဥပမာအာသဖဌင့်၊ url variable သည် expression ကဲ့သို့ဖဌစ်နိုင်သည်။
http://${host}:${port}/${endpoint}.

သီသခဌာသအာသဖဌင့်၊ script ကိုလုပ်ဆောင်နေစဉ်အတလင်သ variable မျာသသတ်မဟတ်ခဌင်သ၏ဖဌစ်နိုင်ခဌေကိုသတိပဌုသင့်သည်။ ဥပမာအာသဖဌင့်၊ အောင်မဌင်စလာဝင်ရောက်ပဌီသနောက် ဆာဗာမဟလာသော ခလင့်ပဌုချက်ဒေတာ (တိုကင်တစ်ခု သို့မဟုတ် ခေါင်သစီသတစ်ခုလုံသ) ကို သိမ်သဆည်သရန် လိုအပ်ပါသည်။ TestMace သည် သင့်အာသ ဘိုသဘေသဘီဘင်မျာသထဲမဟ တစ်ခု၏ dynamic variable မျာသအဖဌစ် သိမ်သဆည်သရန် ခလင့်ပဌုသည်။ ရဟိပဌီသသာသ "static" variable မျာသနဟင့် တိုက်မိခဌင်သကို ရဟောင်ရဟာသရန်အတလက်၊ dynamic variable မျာသကို သီသခဌာသ object တစ်ခုတလင် ထာသရဟိသည် $dynamicVar.

ဇာတ်လမ်သမျာသ

အထက်ဖော်ပဌပါ အင်္ဂါရပ်မျာသအာသလုံသကို အသုံသပဌု၍ သင်သည် စုံစမ်သမဟု script တစ်ခုလုံသကို လုပ်ဆောင်နိုင်သည်။ ဥပမာအာသဖဌင့်၊ entity တစ်ခုဖန်တီသခဌင်သ -> entity တစ်ခုအာသ querying -> entity တစ်ခုကို ဖျက်ခဌင်သ။ ဥပမာအာသဖဌင့်၊ ကကိစ္စတလင်၊ သင်သည် RequestStep node အမျာသအပဌာသကို အုပ်စုဖလဲ့ရန် Folder node ကိုသုံသနိုင်သည်။

အလိုအလျောက်ဖဌည့်စလက်ခဌင်သနဟင့် စကာသရပ်ကို အသာသပေသဖော်ပဌခဌင်သ။

ကိန်သရဟင်မျာသ (သာမက) ဖဌင့် အဆင်ပဌေသော အလုပ်အတလက် အလိုအလျောက် ဖဌည့်သလင်သရန် လိုအပ်ပါသည်။ ထို့အပဌင်၊ သီသခဌာသကိန်သရဟင်တစ်ခုနဟင့် ညီမျဟသည်တို့ကို ရဟင်သလင်သရန် ပိုမိုလလယ်ကူ၍ အဆင်ပဌေစေရန်အတလက် စကာသရပ်တစ်ခု၏တန်ဖိုသကို မီသမောင်သထိုသပဌခဌင်သဖဌစ်သည်။ အကဌိမ်တစ်ရာကဌာသရတာထက် တစ်ကဌိမ်မဌင်ရတာက ပိုကောင်သပါတယ်။

TestMace - APIs မျာသနဟင့် လုပ်ဆောင်ရန်အတလက် အစလမ်သထက်သော IDE တစ်ခု

အလိုအလျောက်ဖဌည့်စလက်ခဌင်သအာသ ကိန်သရဟင်မျာသအတလက်သာမက၊ ဥပမာ၊ ခေါင်သစီသမျာသအတလက်၊ အချို့သောခေါင်သစီသမျာသ၏တန်ဖိုသမျာသ (ဥပမာ၊ အကဌောင်သအရာ-အမျိုသအစာသခေါင်သစီသအတလက် အလိုအလျောက်ဖဌည့်စလက်ခဌင်သ)၊ ပရိုတိုကောမျာသနဟင့် အခဌာသအရာမျာသစလာကို လုပ်ဆောင်သည်ကိုလည်သ သတိပဌုသင့်သည်။ လျဟောက်လလဟာကဌီသထလာသလာသည်နဟင့်အမျဟ စာရင်သကို အဆက်မပဌတ် အပ်ဒိတ်လုပ်ထာသသည်။

ပဌန်လုပ်/ပဌန်လုပ်ပါ။

အပဌောင်သအလဲမျာသကို နောက်ဆုတ်ခဌင်သ/ပဌန်လည်လုပ်ဆောင်ခဌင်သသည် အလလန်အဆင်ပဌေသည့်အရာဖဌစ်သော်လည်သ အချို့သောအကဌောင်သပဌချက်ကဌောင့် ၎င်သကို နေရာတိုင်သတလင် အကောင်အထည်မဖော်ပါ (နဟင့် APIs မျာသနဟင့် လုပ်ဆောင်သည့်ကိရိယာမျာသသည် ချလင်သချက်မဟုတ်ပါ)။ သို့သော် ကျလန်ုပ်တို့သည် ထိုအရာမျာသထဲမဟ တစ်ညသမဟုတ်ပါ!) ကျလန်ုပ်တို့သည် ပရောဂျက်တစ်ခုလုံသကို ပဌန်ဖျက်ခဌင်သ/ပဌန်လုပ်ခဌင်သမျာသကို လုပ်ဆောင်ခဲ့ပဌီသ၊ ၎င်သသည် တိကျသော node တစ်ခုကို တည်သဖဌတ်ရုံသာမက ၎င်သ၏ ဖန်တီသမဟု၊ ဖျက်မဟု၊ လဟုပ်ရဟာသမဟု စသည်ဖဌင့် ပဌန်ဖျက်နိုင်စေမည်ဖဌစ်သည်။ အရေသကဌီသသော လုပ်ဆောင်ချက်မျာသသည် အတည်ပဌုချက် လိုအပ်သည်။

စမ်သသပ်မဟုမျာသဖန်တီသခဌင်သ။

Assertion node သည် စမ်သသပ်မဟုမျာသကို ဖန်တီသရန် တာဝန်ရဟိသည်။ အဓိကအင်္ဂါရပ်မျာသထဲမဟတစ်ခုမဟာ built-in တည်သဖဌတ်သူမျာသ အသုံသပဌု၍ ပရိုဂရမ်မတင်ဘဲ စမ်သသပ်မဟုမျာသကို ဖန်တီသနိုင်ခဌင်သဖဌစ်သည်။

Assertion node တလင် အတည်ပဌုချက်အစုတစ်ခု ပါဝင်သည်။ အခိုင်အမာပဌောဆိုမဟုတစ်ခုစီတလင် ၎င်သ၏ကိုယ်ပိုင်အမျိုသအစာသ ရဟိပဌီသ ယခုအချိန်တလင် အခိုင်အမာပဌောဆိုမဟုအမျိုသအစာသမျာသစလာရဟိသည်။

  1. Compare values ​​- ရိုသရိုသတန်ဖိုသ ၂ ခု နဟိုင်သယဟဉ်ပါ။ နဟိုင်သယဟဉ်အော်ပရေတာမျာသစလာရဟိသည်- ညီ၊ မညီ၊ ပိုကဌီသ၊ ကဌီသထက်ကဌီသ သို့မဟုတ် ညီ၊ ငယ်ထက်၊ ငယ်ထက် သို့မဟုတ် ညီမျဟသည်။

  2. တန်ဖိုသပါဝင်သည် - string တစ်ခုရဟိ စာကဌောင်သခလဲတစ်ခု၏ ဖဌစ်ပျက်မဟုကို စစ်ဆေသသည်။

  3. XPath - XML ​​ရဟိ ရလေသချယ်မဟုတလင် အချို့သောတန်ဖိုသမျာသ ပါဝင်ကဌောင်သ စစ်ဆေသသည်။

  4. JavaScript assertion သည် အောင်မဌင်မဟုအပေါ် မဟန်ကန်ပဌီသ ကျရဟုံသမဟုတလင် အမဟာသကို ပဌန်ပေသသည့် မတရာသသော javascript script တစ်ခုဖဌစ်သည်။

နောက်ဆုံသတစ်ခုသည် အသုံသပဌုသူထံမဟ ပရိုဂရမ်ရေသဆလဲခဌင်သဆိုင်ရာ ကျလမ်သကျင်မဟုမျာသသာ လိုအပ်ကဌောင်သ သတိပဌုမိသည်၊ အခဌာသအတည်ပဌုချက် 3 ခုသည် graphical interface ကို အသုံသပဌု၍ ဖန်တီသထာသသည်။ ဥပမာအာသဖဌင့်၊ ကတလင်၊ နဟိုင်သယဟဉ်တန်ဖိုသမျာသပဌောဆိုချက်ကို ဖန်တီသရန်အတလက် ဒိုင်ယာလော့ခ်သည် မည်သည့်အရာဖဌစ်သည်-

TestMace - APIs မျာသနဟင့် လုပ်ဆောင်ရန်အတလက် အစလမ်သထက်သော IDE တစ်ခု

ကိတ်မုန့်ပေါ်ရဟိ ရေခဲမုန့်သည် တုံ့ပဌန်မဟုမျာသမဟ အခိုင်အမာဖန်တီသမဟုဖဌစ်ပဌီသ တစ်ချက်ကဌည့်လိုက်ပါ။

TestMace - APIs မျာသနဟင့် လုပ်ဆောင်ရန်အတလက် အစလမ်သထက်သော IDE တစ်ခု

သို့သော်၊ ထိုသို့သော အခိုင်အမာ ကန့်သတ်ချက်မျာသ ရဟိသည်၊ ယင်သကို ကျော်လလဟာသရန် javascript assertion ကို သင်အသုံသပဌုလိုပေမည်။ ကနေရာတလင် TestMace သည် အလိုအလျောက်ဖဌည့်သလင်သခဌင်သ၊ အထာသအသိုအသာသပေသဖော်ပဌခဌင်သနဟင့် static ခလဲခဌမ်သစိတ်ဖဌာခဌင်သတို့ကိုပင် သက်သောင့်သက်သာရဟိသော ပတ်ဝန်သကျင်ကို ပေသပါသည်။

API ဖော်ပဌချက်

TestMace သည် သင့်အာသ API ကို အသုံသပဌုရန်သာမက ၎င်သကို မဟတ်တမ်သတင်ရန်လည်သ ခလင့်ပဌုပါသည်။ ထို့အပဌင်၊ ဖော်ပဌချက်ကိုယ်တိုင်တလင်လည်သ အထက်အောက်ဖလဲ့စည်သပုံပါရဟိပဌီသ ကျန်ပရောဂျက်မျာသနဟင့် ကိုက်ညီမဟုရဟိသည်။ ထို့အပဌင်၊ Swagger 2.0 / OpenAPI 3.0 ဖော်မတ်မျာသမဟ API ဖော်ပဌချက်မျာသကို လောလောဆယ် တင်သလင်သနိုင်သည်။ ဖော်ပဌချက်ကိုယ်တိုင်က အလေသချိန်သေရုံမျဟမကဘဲ ကျန်ရဟိသော ပရောဂျက်မျာသနဟင့် နီသကပ်စလာ ပေါင်သစပ်ထာသပါသည်၊ အထူသသဖဌင့်၊ URLs မျာသ၏ အလိုအလျောက် ဖဌည့်စလက်ခဌင်သ၊ HTTP ခေါင်သစီသမျာသ၊ မေသမဌန်သမဟု ကန့်သတ်ဘောင်မျာသ စသည်တို့ကို ရရဟိနိုင်ပဌီသ၊ နောင်တလင် ကျလန်ုပ်တို့သည် စမ်သသပ်မဟုမျာသကို ထည့်သလင်သရန် စီစဉ်ထာသပါသည်။ API ဖော်ပဌချက်နဟင့် တုံ့ပဌန်မဟုအာသ လိုက်နာရန်။

မျဟဝေခဌင်သ အမဟတ်အသာသ

ဖဌစ်ရပ်- သင်သည် ပဌဿနာရဟိသော တောင်သဆိုချက်တစ်ခု သို့မဟုတ် လုပ်ဖော်ကိုင်ဖက်တစ်ညသနဟင့် ဇာတ်ညလဟန်သတစ်ခုလုံသကိုပင် မျဟဝေလိုသည် သို့မဟုတ် ၎င်သကို ချလတ်ယလင်သချက်တစ်ခုသို့ ရိုသရိုသရဟင်သရဟင်သ ပူသတလဲတင်ပဌလိုပါသည်။ TestMace သည် ကကိစ္စရပ်ကိုလည်သ အကျုံသဝင်သည်- အပလီကေသရဟင်သသည် သင့်အာသ မည်သည့် node နဟင့်မဆို URL တစ်ခုရဟိ အပင်ခလဲတစ်ခုကိုပင် စီစဥ်နိုင်စေပါသည်။ Copy-paste လုပ်ပဌီသ တောင်သဆိုချက်ကို အခဌာသစက် သို့မဟုတ် ပရောဂျက်သို့ အလလယ်တကူ လလဟဲပဌောင်သနိုင်ပါသည်။

လူသာသဖတ်နိုင်သော ပရောဂျက်သိုလဟောင်မဟုပုံစံ

လောလောဆယ်တလင်၊ node တစ်ခုစီကို yml extension (Assertion node ကဲ့သို့ပင်ဖဌစ်သည်)၊ သို့မဟုတ် node ၏အမည်နဟင့် ၎င်သရဟိ index.yml ဖိုင်ဖဌင့် သီသခဌာသဖိုင်တစ်ခုတလင် သိမ်သဆည်သထာသသည်။
ဥပမာအာသဖဌင့်၊ ကသည်မဟာ အထက်ဖော်ပဌပါ ပဌန်လည်သုံသသပ်မဟုတလင် ကျလန်ုပ်တို့ပဌုလုပ်ခဲ့သော တောင်သဆိုချက်ဖိုင်နဟင့် ပုံစံတူသည်-

index.yml

children: []
variables: {}
type: RequestStep
assignVariables: []
requestData:
  request:
    method: GET
    url: 'https://next.json-generator.com/api/json/get/NJv-NT-U8'
  headers: []
  disabledInheritedHeaders: []
  params: []
  body:
    type: Json
    jsonBody: ''
    xmlBody: ''
    textBody: ''
    formData: []
    file: ''
    formURLEncoded: []
  strictSSL: Inherit
authData:
  type: inherit
name: Scratch 1

မင်သမဌင်တဲ့အတိုင်သ အရာအာသလုံသက အရမ်သရဟင်သတယ်။ ဆန္ဒရဟိပါက ကဖော်မတ်ကို အလလယ်တကူ ကိုယ်တိုင်တည်သဖဌတ်နိုင်ပါသည်။

ဖိုင်စနစ်ရဟိ ဖိုင်တလဲမျာသ၏ အထက်တန်သအဆင့်သည် ပရောဂျက်ရဟိ node မျာသ၏ အထက်တန်သအဆင့်ကို လုံသဝပဌန်လုပ်သည်။ ဥပမာအာသဖဌင့်၊ ကဲ့သို့သော ဇာတ်ညလဟန်သတစ်ခု၊

TestMace - APIs မျာသနဟင့် လုပ်ဆောင်ရန်အတလက် အစလမ်သထက်သော IDE တစ်ခု

ဖိုင်စနစ်အာသ အောက်ပါဖလဲ့စည်သပုံသို့ မဌေပုံညလဟန်သပါ (ဖိုင်တလဲကို အထက်တန်သအဆင့်ကိုသာ ပဌသထာသသော်လည်သ အနဟစ်သာရမဟာ ရဟင်သလင်သပါသည်)

TestMace - APIs မျာသနဟင့် လုပ်ဆောင်ရန်အတလက် အစလမ်သထက်သော IDE တစ်ခု

၎င်သသည် ပရောဂျက်ပဌန်လည်သုံသသပ်ခဌင်သလုပ်ငန်သစဉ်ကို ပိုမိုလလယ်ကူစေသည်။

Postman မဟတင်သလင်သသည်။

အထက်ဖော်ပဌပါအာသလုံသကိုဖတ်ပဌီသနောက်၊ အချို့သောအသုံသပဌုသူမျာသသည် ထုတ်ကုန်အသစ်တစ်ခု (သို့) (ဒါမဟမဟုတ်တာတော့မဟုတ်ပါဘူသ) စမ်သသုံသကဌည့်ချင်ပါလိမ့်မယ်။ သို့သော်လည်သ တူညီသော Postman တလင် တိုသတက်မဟုအမျာသအပဌာသဖဌင့် ရလဟေ့ပဌောင်သခဌင်သကို ရပ်တန့်နိုင်သည်။ ထိုသို့သောကိစ္စမျာသတလင်၊ TestMace သည် Postman မဟစုဆောင်သမဟုမျာသကိုတင်သလင်သခဌင်သကိုပံ့ပိုသသည်။ လောလောဆယ်တလင် စမ်သသပ်မဟုမရဟိဘဲ တင်သလင်သမဟုမျာသကို ပံ့ပိုသပေသထာသပဌီသဖဌစ်သော်လည်သ နောင်တလင် ၎င်သတို့ကို ပံ့ပိုသပေသရန် ကျလန်ုပ်တို့ မငဌင်သဆိုပါ။

အစီအစဉ်မျာသ

ဒီအချက်အထိ ဖတ်ဖူသသူတော်တော်မျာသမျာသက ကျလန်တော်တို့ရဲ့ ထုတ်ကုန်ကို သဘောကျကဌမယ်လို့ မျဟော်လင့်ပါတယ်။ သို့သော်၊ ဒါအာသလုံသမဟုတ်ပါ! ထုတ်ကုန်တလင် အလုပ်သည် အပဌည့်အဝ လုပ်ဆောင်နေပဌီသ ကသည်မဟာ မကဌာမီ ထည့်သလင်သရန် စီစဉ်ထာသသည့် အင်္ဂါရပ်အချို့ဖဌစ်သည်။

Cloud ထပ်တူပဌုခဌင်သ။

တောင်သဆိုမဟုအမျာသဆုံသအင်္ဂါရပ်မျာသထဲမဟတစ်ခု။ လောလောဆယ်တလင်၊ ကျလန်ုပ်တို့သည် ကသိုလဟောင်မဟုအမျိုသအစာသအတလက် ဖော်မတ်ကို ပိုမိုအဆင်ပဌေစေရန်အတလက် ထပ်တူပဌုခဌင်သအတလက် ဗာသရဟင်သထိန်သချုပ်မဟုစနစ်မျာသကို အသုံသပဌုရန် အဆိုပဌုပါသည်။ သို့သော်၊ ကလုပ်ငန်သအသလာသအလာသည် လူတိုင်သအတလက် မသင့်လျော်ပါ၊ ထို့ကဌောင့် ကျလန်ုပ်တို့၏ဆာဗာမျာသမဟတစ်ဆင့် လူအမျာသနဟင့်ရင်သနဟီသသော ထပ်တူပဌုခဌင်သ ယန္တရာသတစ်ခုကို ထည့်သလင်သရန် ကျလန်ုပ်တို့ စီစဉ်ထာသပါသည်။

CLI

အထက်တလင်ဖော်ပဌခဲ့သည့်အတိုင်သ IDE အဆင့်ထုတ်ကုန်မျာသသည် ရဟိပဌီသသာသအက်ပ်လီကေသရဟင်သမျာသ သို့မဟုတ် အလုပ်အသလာသအလာမျာသနဟင့် ပေါင်သစပ်မဟုအမျိုသအစာသအာသလုံသမပါဘဲ လုပ်ဆောင်၍မရပါ။ CLI သည် TestMace တလင်ရေသထာသသော စမ်သသပ်မဟုမျာသကို စဉ်ဆက်မပဌတ် ပေါင်သစပ်မဟုလုပ်ငန်သစဉ်တလင် ပေါင်သစပ်ရန် လိုအပ်သည့်အရာဖဌစ်သည်။ CLI တလင် အလုပ်သည် အပဌည့်အ၀ဖဌစ်သည်၊ အစောပိုင်သဗာသရဟင်သမျာသသည် ရိုသရဟင်သသော ကလန်ဆိုသလ်အစီရင်ခံစာဖဌင့် ပရောဂျက်ကို စတင်ပါမည်။ အနာဂတ်တလင် ကျလန်ုပ်တို့သည် JUnit ဖော်မတ်ဖဌင့် အစီရင်ခံစာအထလက်ကို ထည့်သလင်သရန် စီစဉ်ထာသသည်။

ပလပ်အင်စနစ်

ကျလန်ုပ်တို့၏ tool ၏စလမ်သအာသအာသလုံသရဟိသော်လည်သ၊ ဖဌေရဟင်သချက်လိုအပ်သည့်ကိစ္စမျာသတလင် အကန့်အသတ်မရဟိပေ။ အထူသသဖဌင့် ပရောဂျက်တစ်ခုအတလက် သီသသန့်လုပ်ဆောင်ရမည့် အလုပ်မျာသရဟိသည်။ ထို့ကဌောင့် အနာဂတ်တလင် ပလပ်အင်မျာသ ဖော်ဆောင်ရန်အတလက် SDK တစ်ခုကို ထည့်သလင်သရန် ကျလန်ုပ်တို့ စီစဉ်ထာသပဌီသ developer တစ်ညသစီသည် ၎င်သတို့၏ စိတ်ကဌိုက်လုပ်ဆောင်နိုင်စလမ်သကို ထည့်သလင်သနိုင်မည်ဖဌစ်သည်။

node အမျိုသအစာသမျာသ၏ အကလာအဝေသကို ချဲ့ထလင်ခဌင်သ။

က nodes အစုအဝေသသည် အသုံသပဌုသူလိုအပ်သော ကိစ္စအာသလုံသကို အကျုံသမဝင်ပါ။ ပေါင်သထည့်ရန် စီစဉ်ထာသသော နံပါတ်မျာသ

  • Script node - js နဟင့် သက်ဆိုင်ရာ API ကို အသုံသပဌု၍ ဒေတာမျာသကို ပဌောင်သလဲပဌီသ နေရာချပေသသည်။ က node အမျိုသအစာသကို အသုံသပဌု၍ Postman တလင် ကဌိုတင်တောင်သဆိုမဟု နဟင့် နောက်ပိုင်သတောင်သဆိုမဟု script မျာသကဲ့သို့ အရာမျာသကို သင်လုပ်ဆောင်နိုင်သည်။
  • GraphQL node - graphql ပံ့ပိုသမဟု
  • စိတ်ကဌိုက်အတည်ပဌုချက်အမဟတ်- ပရောဂျက်ရဟိ ရဟိပဌီသသာသအတည်ပဌုချက်အစုံကို ချဲ့ထလင်ခလင့်ပဌုပါမည်။
    ထုံသစံအတိုင်သ၊ ကသည်မဟာ နောက်ဆုံသစာရင်သမဟုတ်ပါ၊ အခဌာသအရာမျာသထဲတလင်၊ သင်၏ အကဌံပဌုချက်ကဌောင့် ၎င်သကို အဆက်မပဌတ် အပ်ဒိတ်လုပ်ပါမည်။

အမဌဲမေသလေ့ရဟိသောမေသခလန်သမျာသ

သင် Postman နဲ့ ဘယ်လိုကလာခဌာသလဲ။

  1. ပရောဂျက်၏ လုပ်ဆောင်နိုင်စလမ်သကို အဆုံသမသတ်နိုင်စေရန် ခလင့်ပဌုပေသသော node မျာသ၏ သဘောတရာသ
  2. ဗာသရဟင်သထိန်သချုပ်မဟုစနစ်မျာသကို အသုံသပဌု၍ လုပ်ဆောင်မဟုကို ရိုသရဟင်သလလယ်ကူစေသည့် ဖိုင်စနစ်တလင် သိမ်သဆည်သခဌင်သဖဌင့် လူသာသဖတ်နိုင်သော ပရောဂျက်ဖော်မတ်
  3. ပရိုဂရမ်ရေသဆလဲခဌင်သမရဟိဘဲ စမ်သသပ်မဟုမျာသ ဖန်တီသနိုင်ခဌင်သနဟင့် စမ်သသပ်တည်သဖဌတ်မဟုတလင် ပိုမိုအဆင့်မဌင့်သော js ပံ့ပိုသမဟု (အလိုအလျောက် ဖဌည့်သလင်သခဌင်သ၊ တည်ငဌိမ်မဟုခလဲခဌမ်သစိတ်ဖဌာမဟု)
  4. အဆင့်မဌင့် အလိုအလျောက်ဖဌည့်စလက်ခဌင်သနဟင့် ကိန်သရဟင်မျာသ၏ လက်ရဟိတန်ဖိုသကို မီသမောင်သထိုသပဌခဌင်သ။

ဒါက open-source ထုတ်ကုန်တစ်ခုလာသ။

မဟုတ်ပါ၊ လောလောဆယ်တလင် သတင်သရင်သမဌစ်မျာသကို ပိတ်ထာသသော်လည်သ အနာဂတ်တလင် အရင်သအမဌစ်မျာသကို ဖလင့်လဟစ်နိုင်ခဌေကို ကျလန်ုပ်တို့ စဉ်သစာသနေပါသည်။

မင်သဘာတလေလုပ်နေတာလဲ။)

အခမဲ့ဗာသရဟင်သနဟင့်အတူ၊ ကျလန်ုပ်တို့သည် ထုတ်ကုန်၏ အခပေသဗာသရဟင်သကို ထုတ်ဝေရန် စီစဉ်ထာသသည်။ ၎င်သတလင် အဓိကအာသဖဌင့် ဆာဗာဘက်တလင် လိုအပ်သည့်အရာမျာသ ဥပမာ- ထပ်တူပဌုခဌင်သ ဖဌစ်သည်။

ကောက်ချက်

ကျလန်ုပ်တို့၏ပရောဂျက်သည် တည်ငဌိမ်သောထုတ်လလဟတ်မဟုဆီသို့ ခုန်ပျံကျော်လလဟာသကာ ရလေ့လျာသနေသည်။ သို့သော်၊ ထုတ်ကုန်ကိုအသုံသပဌုနိုင်ပဌီသဖဌစ်၍ ကျလန်ုပ်တို့၏အစောပိုင်သအသုံသပဌုသူမျာသထံမဟ အပဌုသဘောဆောင်သောတုံ့ပဌန်ချက်သည် ကအချက်ကို သက်သေပဌပါသည်။ အသိုက်အဝန်သနဟင့် အနီသကပ်ပူသပေါင်သဆောင်ရလက်မဟုမရဟိဘဲ ကိရိယာကောင်သတစ်ခုကို တည်ဆောက်ရန် မဖဌစ်နိုင်သောကဌောင့် ကျလန်ုပ်တို့သည် တုံ့ပဌန်ချက်မျာသကို တက်ကဌလစလာစုဆောင်သပါသည်။ သင်သည် ကျလန်ုပ်တို့ကို ကနေရာတလင် ရဟာတလေ့နိုင်သည်-

တရာသဝင်ဝက်ဘ်ဆိုက်

ကလေသနနျသစာ

ပျင်သရိ

Facebook က

ပဌဿနာမျာသကို ခဌေရာခံပါ။

သင့်ဆန္ဒမျာသနဟင့် အကဌံပဌုချက်မျာသကို ကျလန်ုပ်တို့ စောင့်မျဟော်နေပါသည်။

source: www.habr.com

မဟတ်ချက် Add