Чаро TestMace аз Postman беҳтар аст

Чаро TestMace аз Postman беҳтар аст

Салом ба ҳама! TestMace! Шояд бисёриҳо дар бораи мо аз он огоҳ бошанд аз мо қаблӣ мақолаҳо. Барои онҳое, ки нав ҳамроҳ шудаанд: мо IDE-ро барои кор бо TestMace API таҳия карда истодаем. Саволи аз ҳама бештар додашаванда ҳангоми муқоисаи TestMace бо маҳсулоти рақиб ин аст: "Шумо аз Postman чӣ фарқ доред?" Мо карор додем, ки ба ин савол чавоби муфассал дихем. Дар зер мо бартариятҳои худро нисбат ба он тавсиф кардем хаткашон.

Тақсим ба гиреҳҳо

Агар шумо бо Postman кор кунед, пас шумо медонед, ки интерфейси дархост тамоми функсияҳои заруриро дар бар мегирад. Скриптҳо, санҷишҳо ва воқеан худи дархостҳо мавҷуданд. Ин барои шурӯъкунандагон осонтар мекунад, аммо дар сенарияҳои калон ин равиш чандир нест. Чӣ мешавад, агар шумо хоҳед, ки якчанд дархост эҷод кунед ва дар онҳо ҷамъоварӣ кунед? Чӣ мешавад, агар шумо хоҳед, ки скриптро бидуни дархост ё якчанд скриптҳои аз ҷиҳати мантиқӣ ҷудошуда дар як саф иҷро кунед? Дар ниҳоят, хуб мебуд, ки санҷишҳоро аз скриптҳои маъмулии коммуналӣ ҷудо кунед. Илова бар ин, равиши "ҳамаи функсияҳоро ба як гиреҳ илова кардан" миқёспазир нест - интерфейс зуд пурбор мешавад.

TestMace дар аввал тамоми функсияҳоро ба намудҳои гуногуни гиреҳҳо тақсим мекунад. Мехоҳед дархост пешниҳод кунед? Он барои шумост қадами дархост гиреҳ Оё шумо мехоҳед скрипт нависед? Он барои шумост барномаи саҳнавӣ гиреҳ Санҷишҳо лозиманд? Лутфан - Тасдиқ гиреҳ Оре, шумо ба ҳар ҳол метавонед ин ҳама чизро дар бар гиред феҳрист гиреҳ Ва ҳамаи ин метавонад ба осонӣ бо ҳамдигар якҷоя карда шавад. Ин равиш на танҳо хеле чандир аст, балки мувофиқи принсипи масъулияти ягона ба шумо имкон медиҳад, ки танҳо он чизеро, ки дар айни замон воқеан лозим аст, истифода баред. Чаро ба ман скриптҳо ва санҷишҳо лозим аст, агар ман фақат дархост кардан мехоҳам?

Формати лоиҳа, ки барои одамон хонда мешавад

Байни TestMace ва Postman дар тарзи нигоҳдории онҳо фарқияти консептуалӣ вуҷуд дорад. Дар Postman, ҳама дархостҳо дар ҷое дар анбори маҳаллӣ нигоҳ дошта мешаванд. Агар зарурати мубодилаи дархостҳо байни якчанд корбар вуҷуд дошта бошад, пас шумо бояд ҳамоҳангсозии дарунсохтро истифода баред. Дар асл, ин як равиши аз ҷониби умум қабулшуда аст, аммо на бе камбудиҳои он. Дар бораи амнияти додаҳо чӣ гуфтан мумкин аст? Дар ниҳоят, сиёсати баъзе ширкатҳо имкон намедиҳад, ки маълумот бо шахсони сеюм нигоҳ дошта шавад. Бо вуҷуди ин, мо фикр мекунем, ки TestMace чизи беҳтаре барои пешниҳод дорад! Ва номи ин такмил "формати лоиҳаи барои инсон хондашаванда" мебошад.

Биёед бо он оғоз кунем, ки дар TestMace, аслан як субъекти "лоиҳа" мавҷуд аст. Ва барнома дар аввал бо мақсади нигоҳ доштани лоиҳаҳо дар системаҳои идоракунии версия таҳия шуда буд: дарахти лоиҳа тақрибан як ба як ба сохтори файл пешбинӣ шудааст, yaml ҳамчун формати нигоҳдорӣ (бе қавс ва вергулҳои иловагӣ) истифода мешавад ва Намоиши файли ҳар як гиреҳ дар ҳуҷҷатҳо бо шарҳҳо муфассал тавсиф шудааст. Аммо дар аксари ҳолатҳо шумо ба он ҷо нигоҳ намекунед - ҳамаи номҳои майдонҳо номҳои мантиқӣ доранд.

Ин ба корбар чӣ медиҳад? Ин ба шумо имкон медиҳад, ки ҷараёни кори дастаро бо истифода аз равишҳои шинос хеле чандир тағйир диҳед. Масалан, таҳиягарон метавонанд лоиҳаро дар ҳамон як анбори пуштибон нигоҳ доранд. Дар филиалҳо, ба ғайр аз тағир додани худи пойгоҳи код, таҳиякунанда метавонад скриптҳо ва санҷишҳои мавҷудаи дархостро ислоҳ кунад. Пас аз ворид кардани тағирот ба анбор (git, svn, mercurial - ҳар чизе ки ба шумо маъқул аст), CI (дӯстдоштаи шумо, ки аз ҷониби касе муқаррар карда нашудааст) утилитаи консолии моро оғоз мекунад testmace-cli, ва гузориши пас аз иҷро гирифташуда (масалан, дар формати junit, ки дар testmace-cli низ дастгирӣ мешавад) ба системаи мувофиқ фиристода мешавад. Ва масъалаи амниятии дар боло зикршуда дигар мушкиле нест.

Тавре ки шумо мебинед, TestMace экосистема ва парадигмаи худро таҳмил намекунад. Ба ҷои ин, он ба равандҳои муқарраршуда ба осонӣ мувофиқат мекунад.

Тағйирёбандаҳои динамикӣ

TestMace консепсияи бе кодро риоя мекунад: агар мушкилотро бидуни истифодаи код ҳал кардан мумкин бошад, мо кӯшиш мекунем, ки ин имкониятро фароҳам орем. Кор бо тағирёбандаҳо маҳз як намуди функсияест, ки дар аксари ҳолатҳо шумо метавонед бидуни барномасозӣ кор кунед.

Мисол: мо аз сервер посух гирифтем ва мо мехоҳем як қисми посухро ба тағирёбанда захира кунем. Дар Postman, дар скрипти санҷишӣ (ки худ аҷиб аст) мо чунин менависем:

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("data", jsonData.data);

Аммо ба назари мо, навиштани скрипт барои чунин сенарияи содда ва зуд-зуд истифодашаванда зиёдатист. Аз ин рӯ, дар TestMace бо истифода аз интерфейси графикӣ як пораи ҷавобро ба тағирёбанда таъин кардан мумкин аст. Бингар, ки чӣ қадар оддӣ аст:

Чаро TestMace аз Postman беҳтар аст

Ва ҳоло бо ҳар як дархост ин тағирёбандаи динамикӣ нав карда мешавад. Аммо шумо метавонед эътироз кунед ва баҳс кунед, ки равиши Postman чандиртар аст ва ба шумо имкон медиҳад, ки на танҳо супориш диҳед, балки инчунин коркарди пешакиро анҷом диҳед. Ин аст тарзи тағир додани мисоли қаблӣ:

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("data", CryptoJS.MD5(jsonData.data));

Хуб, бо ин мақсад TestMace дорад барномаи саҳнавӣ гиреҳ, ки ин сенарияро фаро мегирад. Барои таҷдиди парвандаи қаблӣ, аммо аллакай аз ҷониби 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 аз Postman беҳтар аст

Бо вуҷуди ин, эҷод кардани санҷишҳо дар муҳаррири графикӣ ин имконро аз байн намебарад навиштани тестҳо дар код. Ҳама ҳамон китобхонаҳо дар ин ҷо ҳастанд, ки дар гиреҳи скрипт ва Чои барои навиштани тестҳо.

Вазъиятҳо аксар вақт ба вуҷуд меоянд, ки дархости муайян ё ҳатто тамоми скриптро дар қисмҳои гуногуни лоиҳа якчанд маротиба иҷро кардан лозим аст. Намунаи чунин дархостҳо метавонад иҷозати фармоишии бисёрмарҳала, ба ҳолати дилхоҳ овардани муҳити зист ва ғайра бошад. Умуман, дар мавриди забонҳои барномасозӣ сухан ронем, мо мехоҳем функсияҳое дошта бошем, ки дар қисмҳои гуногуни барнома дубора истифода шаванд. Дар TestMace ин вазифаро иҷро мекунад пайванд гиреҳ Истифодаи он хеле осон аст:
1) дархост ё скрипт эҷод кунед
2) гиреҳи навъи Link эҷод кунед
3) дар параметрҳо, истиноди скрипти дар қадами аввал сохташударо муайян кунед

Дар версияи пешрафта, шумо метавонед муайян кунед, ки кадом тағирёбандаҳои динамикӣ аз скрипт нисбат ба пайванд ба сатҳи баландтар интиқол дода мешаванд. Садо печида аст? Фарз мекунем, ки мо папкаеро бо ном офаридаем эҷод-пост, ки дар дохили он як тағирёбандаи динамикӣ ба ин гиреҳ таъин шудааст postId. Ҳоло дар гиреҳи Link эҷод-пайванд-пайванд шумо метавонед ба таври возеҳ муайян кунед, ки тағирёбанда postId ба аҷдод таъин шудааст эҷод-пайванд-пайванд. Ин механизм (боз дар забони барномасозӣ) метавонад барои баргардонидани натиҷа аз "функсия" истифода шавад. Умуман, ин сард аст, DRY дар авҷ аст ва боз ягон сатри код осеб надидааст.

Чаро TestMace аз Postman беҳтар аст

Дар мавриди Postman, дархости хусусият барои истифодаи дубораи дархостҳо мавҷуд аст аз соли 2015 овезон аст, ва ба назар чунин мерасад, ки ҳатто вуҷуд дорад баъзе маслиҳатҳоки онхо аз руи ин проблема кор мекунанд. Дар шакли ҳозираи худ, Postman, албатта, қобилияти тағир додани риштаи иҷроишро дорад, ки эҳтимолан дар назария имкон медиҳад, ки рафтори шабеҳро амалӣ созад, аммо ин назар ба равиши воқеии корӣ як хаки ифлос аст.

Дигар фарқиятҳо

  • Назорати бештари доираи тағирёбандаҳо. Миқёси хурдтарин, ки дар дохили он тағирёбанда дар Postman муайян карда мешавад, коллексия мебошад. TestMace ба шумо имкон медиҳад, ки тағирёбандаҳоро барои ҳама дархост ё ҷузвдон муайян кунед. Дар коллексияи Share Postman ба шумо имкон медиҳад, ки танҳо коллексияҳоро содир кунед, дар ҳоле ки дар TestMace мубодила барои ҳама гиреҳ кор мекунад
  • TestMace дастгирӣ мекунад сарлавҳаҳои меросӣ, ки онро бо нобаёнӣ ба дархостҳои кӯдак иваз кардан мумкин аст. Почтачӣ дар ин бора чизе дорад: вазифа, ва он ҳатто баста аст, аммо он ҳамчун ҳалли пешниҳод карда мешавад ... скриптҳоро истифода баред. Дар TestMace, ин ҳама тавассути GUI танзим карда мешавад ва имкони ғайрифаъол кардани сарлавҳаҳои меросӣ дар наслҳои мушаххас мавҷуд аст.
  • Бекор кардан/Бозгардон. На танҳо ҳангоми таҳрири гиреҳҳо, балки ҳангоми интиқол, нест кардан, тағир додани ном ва дигар амалиётҳое, ки сохтори лоиҳаро тағир медиҳанд, кор мекунад
  • Файлҳои ба дархост замимашуда як қисми лоиҳа мешаванд ва бо он нигоҳ дошта мешаванд, дар ҳоле ки ба таври комил ҳамоҳанг карда мешаванд, баръакси Postman. (Бале, ба шумо дигар лозим нест, ки ҳар дафъа оғоз кардани файлҳоро дастӣ интихоб кунед ва онҳоро ба ҳамкорони бойгонӣ интиқол диҳед)

Хусусиятҳое, ки аллакай дар роҳ ҳастанд

Мо натавонистем ба васвасаи бардоштан пардаи махфият дар болои релизҳои навбатӣ муқобилат кунем, хусусан вақте ки функсия хеле болаззат аст ва аллакай аз сайқал додани пеш аз нашр мегузарад. Пас, биёед вохӯрем.

Функсияҳо

Тавре ки шумо медонед, Postman барои тавлиди арзишҳо тағирёбандаҳои ба ном динамикиро истифода мебарад. Рӯйхати онҳо таъсирбахш аст ва аксарияти куллии функсияҳо барои тавлиди арзишҳои қалбакӣ истифода мешаванд. Масалан, барои тавлиди почтаи тасодуфӣ шумо бояд нависед:

{{$randomEmail}}

Аммо, азбаски инҳо тағирёбандаанд (ҳарчанд динамикӣ бошанд), онҳоро ҳамчун функсия истифода бурдан мумкин нест: онҳо параметризатсия карда намешаванд, бинобар ин аз сатр хэш гирифтан ғайриимкон хоҳад буд.

Мо нақша дорем, ки ба TestMace функсияҳои "одилона" илова кунем. Дар дохили ${} на танҳо ба тағирёбанда дастрасӣ пайдо кардан мумкин аст, балки инчунин функсияро даъват кардан мумкин аст. Онхое. агар ба шумо лозим аст, ки почтаи электронии қалбакӣ эҷод кунед, мо танҳо менависем

${faker.internet.email()}

Илова бар он, ки он функсия аст, шумо хоҳед дид, ки имкон дорад, ки методро дар объект даъват кунед. Ва ба ҷои рӯйхати бузурги тағирёбандаҳои динамикӣ, мо маҷмӯи объектҳои аз ҷиҳати мантиқӣ гурӯҳбандӣшударо дорем.

Чӣ мешавад, агар мо хоҳем, ки хэши сатрро ҳисоб кунем? Ба осонӣ!

${crypto.MD5($dynamicVar.data)}

Шумо хоҳед дид, ки шумо ҳатто метавонед тағирёбандаҳоро ҳамчун параметр гузаронед! Дар ин лаҳза хонандаи пуртаҷриба метавонад гумон кунад, ки чизе нодуруст аст ...

Истифодаи JavaScript дар ифодаҳо

... Ва бо сабаби хуб! Вақте ки талабот ба функсияҳо ташаккул меёфт, мо ногаҳон ба хулосае омадем, ки JavaScript дуруст бояд дар ифодаҳо навишта шавад. Ҳамин тавр, шумо ҳоло озод ҳастед, ки ибораҳои зеринро нависед:

${1 + '' + crypto.MD5('asdf')}

Ва ҳамаи ин бе скриптҳо, рост дар майдонҳои вуруд!

Дар мавриди Postman, дар ин ҷо шумо метавонед танҳо тағирёбандаҳоро истифода баред ва вақте ки шумо кӯчактарин ифодаро нависед, валидатор лаънат мекунад ва аз ҳисоб кардани он худдорӣ мекунад.

Чаро TestMace аз Postman беҳтар аст

Автопуркунии пешрафта

Дар айни замон TestMace дорои худкорпуркунии стандартӣ мебошад, ки чунин менамояд:

Чаро TestMace аз Postman беҳтар аст

Дар ин чо ба гайр аз хатти автоматй пурра ба чй тааллук доштани ин сатр нишон дода мешавад. Ин механизм танҳо дар ифодаҳое кор мекунад, ки бо қавс ${} иҳота шудаанд.

Тавре ки шумо мебинед, маркерҳои визуалӣ илова карда шудаанд, ки намуди тағирёбандаро нишон медиҳанд (масалан, сатр, адад, массив ва ғ.). Шумо инчунин метавонед усулҳои пуркунии худкорро тағир диҳед (масалан, шумо метавонед пуркунии худкорро бо тағирёбандаҳо ё сарлавҳаҳо интихоб кунед). Аммо ҳатто ин чизи муҳимтарин нест!

Аввалан, пуркунии худкор ҳатто дар ифодаҳо кор мекунад (ҳар ҷое ки имконпазир бошад). Чунин ба назар мерасад:

Чаро TestMace аз Postman беҳтар аст

Ва дуюм, ҳоло худкор пурракунӣ дар скриптҳо дастрас аст. Бубинед, ки он чӣ гуна кор мекунад!

Чаро TestMace аз Postman беҳтар аст

Муқоисаи ин функсия бо Postman ҷоиз нест - пуркунии худкор танҳо бо рӯйхати статикии тағирёбандаҳо, сарлавҳаҳо ва арзишҳои онҳо маҳдуд аст (агар ман чизеро фаромӯш карда бошам, маро ислоҳ кунед). Скриптҳо худкор пурра карда намешаванд :)

хулоса

Октябри соли чорй аз огози истехсоли махсулоти мо як сол гузашт. Дар ин муддат ба мо муяссар шуд, ки бисьёр корхоро ба чо оварем ва аз чихати муайян ба хаммусобикахои худ расида гирифтем. Аммо новобаста аз он, ки ҳадафи мо сохтани як воситаи воқеан қулай барои кор бо API мебошад. Мо хануз кори бисьёре дорем, дар ин чо накшаи тахеили тахияи лоихаи мо барои соли оянда аст: https://testmace.com/roadmap.

Фикру мулоҳизаҳои шумо ба мо имкон медиҳад, ки фаровонии хусусиятҳоро беҳтар паймоиш кунем ва дастгирии шумо ба мо қувват ва боварӣ мебахшад, ки мо кори дуруст карда истодаем. Чунин мешавад, ки имрӯз барои лоиҳаи мо як рӯзи муҳим аст - рӯзе, ки TestMace нашр шуд Hunt Product. Лутфан лоиҳаи моро дастгирӣ кунед, ин барои мо хеле муҳим аст. Гузашта аз ин, имрӯз дар саҳифаи PH мо пешниҳоди ҷолибе мавҷуд аст ва он маҳдуд аст

Манбаъ: will.com

Илова Эзоҳ