ولې ټیسټ میس د پوسټ مین څخه غوره دی

ولې ټیسټ میس د پوسټ مین څخه غوره دی

ټولو ته سلام، تاسو دلته ځئ TestMace! شاید ډیری خلک زموږ په اړه پوهیږي زموږ پخوانی مقالې. د هغو کسانو لپاره چې یوازې یوځای شوي دي: موږ د TestMace API سره کار کولو لپاره IDE رامینځته کوو. ترټولو پوښتل شوې پوښتنه کله چې د سیالۍ محصولاتو سره ټیسټ میس پرتله کول دا دي "تاسو څنګه د پوسټ مین څخه توپیر لرئ؟" موږ پریکړه وکړه چې دا وخت دی چې دې پوښتنې ته مفصل ځواب ورکړو. لاندې موږ خپلې ګټې په ګوته کړې پوسټ مین.

په نوډونو ویشل

که تاسو د پوسټ مین سره کار کوئ، نو تاسو پوهیږئ چې د غوښتنې انٹرفیس ټول اړین فعالیت لري. دلته سکریپټونه، ازموینې، او په حقیقت کې، پخپله غوښتنې شتون لري. دا د پیل کونکو لپاره اسانه کوي، مګر په لویو سناریو کې دا طریقه انعطاف وړ نه ده. څه که تاسو غواړئ څو پوښتنې رامینځته کړئ او په دوی باندې راټول کړئ؟ څه که تاسو غواړئ یو سکریپټ پرته له غوښتنې یا څو منطقي جلا شوي سکریپټونو په قطار کې اجرا کړئ؟ په هرصورت، دا به ښه نظر وي چې ازموینې د منظم استعمال سکریپټونو څخه جلا کړئ. سربیره پردې ، "ټول فعالیت په یو نوډ کې اضافه کړئ" طریقه د توزیع وړ ندي - انٹرفیس په چټکۍ سره ډیریږي.

TestMace په پیل کې ټول فعالیت په مختلفو نوډونو ویشي. ایا تاسو غواړئ یو غوښتنه وکړئ؟ دا ستاسو لپاره دی د ګام غوښتنه نوډ ایا تاسو غواړئ یو سکریپټ ولیکئ؟ دا ستاسو لپاره دی سکرېپټ نوډ ازموینې ته اړتیا لرئ؟ مهرباني - ادعا نوډ هو، تاسو لاهم کولی شئ دا ټول شیان په کې وتړئ پوښۍ نوډ او دا ټول په اسانۍ سره د یو بل سره یوځای کیدی شي. دا چلند نه یوازې خورا انعطاف منونکی دی ، بلکه د واحد مسؤلیت اصولو سره سم ، تاسو ته اجازه درکوي یوازې هغه څه وکاروئ چې تاسو یې اوس مهال واقعیا ورته اړتیا لرئ. زه ولې سکریپټونو او ازموینو ته اړتیا لرم که زه یوازې غوښتنه وکړم؟

د انسان د لوستلو وړ پروژې بڼه

د ټیسټ میس او پوسټ مین تر مینځ مفهوم توپیر شتون لري په هغه طریقه چې دوی زیرمه شوي. په پوسټ مین کې، ټولې غوښتنې په ځایی ذخیره کې ساتل کیږي. که چیرې د ډیری کاروونکو ترمینځ غوښتنې شریکولو ته اړتیا وي ، نو تاسو اړتیا لرئ د جوړ شوي ترکیب څخه کار واخلئ. په حقیقت کې، دا په عمومي توګه منل شوی چلند دی، مګر د دې نیمګړتیاو پرته نه. د معلوماتو امنیت په اړه څه؟ په هرصورت، د ځینو شرکتونو پالیسي ممکن د دریمې ډلې سره د معلوماتو ذخیره کولو اجازه ورنکړي. په هرصورت، موږ فکر کوو چې TestMace د وړاندیز کولو لپاره یو څه ښه لري! او د دې پرمختګ نوم "د انسان د لوستلو وړ پروژې بڼه" ده.

راځئ چې د دې حقیقت سره پیل وکړو چې په TestMace کې، په اصولو کې، د "پروژې" اداره شتون لري. او غوښتنلیک په پیل کې د نسخې کنټرول سیسټمونو کې د پروژو ذخیره کولو لپاره د سترګو سره رامینځته شوی و: د پروژې ونې د فایل جوړښت ته نږدې یو له بل سره وړاندیز شوی ، یامل د ذخیره کولو فارمیټ په توګه کارول کیږي (پرته له اضافي بریکٹونو او کوما) ، او د هر نوډ د فایل استازیتوب د تبصرو سره په اسنادو کې په تفصیل سره تشریح شوی. مګر په ډیرو مواردو کې تاسو به هلته ونه ګورئ - د ټولو ساحو نومونه منطقي نومونه لري.

دا کارونکي ته څه ورکوي؟ دا تاسو ته اجازه درکوي چې د ټیم کار جریان په خورا انعطاف سره بدل کړئ ، د پیژندل شوي چلندونو په کارولو سره. د مثال په توګه، پراختیا کونکي کولی شي یوه پروژه په ورته ذخیره کې د شالید په څیر ذخیره کړي. په څانګو کې ، پخپله د کوډ اساس بدلولو سربیره ، پراختیا کونکی کولی شي د موجوده پوښتنو سکریپټونه او ازموینې سم کړي. په ذخیره کې د بدلونونو ترسره کولو وروسته (git، svn، Mercurial - هر هغه څه چې تاسو یې غوره کوئ)، CI (ستاسو غوره، د هیچا لخوا نه تطبیق شوی) زموږ د کنسول افادیت په لاره اچوي. testmace-cli، او راپور د اجرا کولو وروسته ترلاسه شوی (د مثال په توګه ، په جونیټ فارمیټ کې چې په testmace-cli کې هم ملاتړ کیږي) مناسب سیسټم ته لیږل کیږي. او پورته ذکر شوی امنیتي مسله اوس کومه ستونزه نه ده.

لکه څنګه چې تاسو لیدلی شئ، ټیسټ میس خپل ایکوسیستم او تمثیل نه تحمیلوي. پرځای یې، دا په اسانۍ سره په تاسیس شویو پروسو کې فټ کیږي.

متحرک تغیرات

TestMace د نه کوډ مفهوم تعقیبوي: که کومه ستونزه د کوډ کارولو پرته حل شي، موږ هڅه کوو دا فرصت چمتو کړو. د متغیرونو سره کار کول په حقیقت کې د فعالیت ډول دی چیرې چې په ډیری قضیو کې تاسو کولی شئ پرته له برنامې ترسره کړئ.

بېلګه: موږ د سرور څخه ځواب ترلاسه کړ، او موږ غواړو د ځواب یوه برخه په متغیر کې خوندي کړو. په پوسټ مین کې، د ازموینې سکریپټ کې (کوم چې پخپله عجیب دی) موږ به یو څه ولیکو لکه:

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

مګر زموږ په نظر، د داسې ساده او ډیری وخت کارول شوي سناریو لپاره د سکریپټ لیکل بې ځایه ښکاري. له همدې امله، په TestMace کې دا ممکنه ده چې د ګرافیکي انٹرفیس په کارولو سره متغیر ته د ځواب یوه برخه وټاکئ. وګورئ چې دا څومره ساده دی:

ولې ټیسټ میس د پوسټ مین څخه غوره دی

او اوس د هرې غوښتنې سره دا متحرک متغیر به تازه شي. مګر تاسو اعتراض کولی شئ، دا استدلال کوي چې د پوسټ مین چلند خورا انعطاف منونکی دی او تاسو ته اجازه درکوي نه یوازې دنده ترسره کړئ ، بلکه ځینې دمخه پروسس کول هم ترسره کړئ. دلته د پخوانۍ مثال د تعدیل کولو څرنګوالی دی:

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 له لارې ازموینې رامینځته کول

پوسټ مین تاسو ته اجازه درکوي د سکریپټونو په لیکلو سره ازموینې رامینځته کړئ (د پوسټ مین په قضیه کې ، دا جاواسکریپټ دی). دا طریقه ډیری ګټې لري - تقریبا لامحدود انعطاف، د چمتو شوي حلونو شتون، او نور.

په هرصورت، واقعیت اکثرا داسې وي (موږ داسې نه یو، ژوند داسې دی) چې یو ټیسټر د پروګرام کولو مهارتونه نلري، مګر هغه غواړي چې همدا اوس ټیم ته ګټه ورسوي. د داسې قضیو لپاره ، د نه کوډ مفهوم تعقیبولو سره ، ټیسټ میس تاسو ته اجازه درکوي د GUI له لارې ساده ازموینې رامینځته کړئ پرته لدې چې د سکریپټونو لیکلو ته لاره هواره کړئ. دلته، د مثال په توګه، هغه څه دي چې د ازموینې رامینځته کولو پروسه چې د مساواتو لپاره ارزښتونه پرتله کوي داسې ښکاري:

ولې ټیسټ میس د پوسټ مین څخه غوره دی

په هرصورت، په ګرافیکي مدیر کې د ازموینو رامینځته کول امکان له منځه نه وړي په کوډ کې ازموینې لیکل. ټول ورته کتابتونونه دلته د سکریپټ نوډ په څیر دي، او چا د لیکلو ازموینې لپاره.

حالات اکثرا هغه وخت رامینځته کیږي کله چې یوه ځانګړې پوښتنه یا حتی یو بشپړ سکریپټ باید د پروژې په بیلابیلو برخو کې څو ځله اجرا شي. د دې ډول غوښتنو یوه بیلګه کیدی شي دودیز څو مرحلې واک وي ، مطلوب حالت ته چاپیریال راوړي ، او داسې نور. په عموم کې ، د برنامو ژبو شرایطو کې خبرې کول ، موږ غواړو داسې دندې ولرو چې د غوښتنلیک په بیلابیلو برخو کې له سره کارول کیدی شي. په TestMace کې دا فعالیت د دې لخوا ترسره کیږي مخونه نوډ دا کارول خورا ساده دي:
1) یوه پوښتنه یا سکریپټ جوړ کړئ
2) د لینک ډول نوډ جوړ کړئ
3) په پیرامیټونو کې ، په لومړي مرحله کې رامینځته شوي سکریپټ ته لینک مشخص کړئ

په یو ډیر پرمختللی نسخه کې، تاسو کولی شئ مشخص کړئ چې د سکریپټ څخه کوم متحرک متغیرات د لینک په پرتله لوړې کچې ته لیږدول کیږي. غږ ګډوډ دی؟ راځئ چې ووایو موږ د نوم سره فولډر جوړ کړ جوړ - پوسټ، په کوم کې چې یو متحرک متغیر دې نوډ ته ټاکل شوی postId. اوس په لینک نوډ کې د جوړیدو وروسته لینک تاسو کولی شئ په واضح ډول دا متغیر مشخص کړئ postId یو پلار ته ګمارل شوی د جوړیدو وروسته لینک. دا میکانیزم (بیا، د پروګرام کولو په ژبه کې) د "فعالیت" څخه د یوې پایلې بیرته راستنیدو لپاره کارول کیدی شي. په عموم کې ، دا ښه دی ، DRY په بشپړ ډول روان دی او بیا د کوډ یوه کرښه خرابه شوې نه وه.

ولې ټیسټ میس د پوسټ مین څخه غوره دی

لکه څنګه چې د پوسټ مین لپاره، د غوښتنو د بیا کارولو لپاره د ځانګړتیا غوښتنه شتون لري له 2015 راهیسې ځړول شوی، او داسې ښکاري چې حتی شتون لري ځینې ​​اشارېچې دوی په دې ستونزه کار کوي. په خپل اوسنۍ بڼه کې، پوسټمن، البته، د دې وړتیا لري چې د اعدام موضوع بدل کړي، کوم چې په تیوري کې ممکن د ورته چلند پلي کول ممکن کړي، مګر دا د ریښتینې کاري طریقې په پرتله ډیر خندا هیک دی.

نور توپیرونه

  • د متغیرونو په ساحه کې ډیر کنټرول. تر ټولو کوچنی ساحه چې په پوسټ مین کې متغیر تعریف کیدی شي ټولګه ده. TestMace تاسو ته اجازه درکوي د هرې پوښتنې یا فولډر لپاره متغیرات تعریف کړئ. د پوسټ مین شریک راټولولو کې تاسو ته اجازه درکوي یوازې ټولګه صادر کړئ ، پداسې حال کې چې په ټیسټ میس کې شریکول د هر نوډ لپاره کار کوي
  • TestMace ملاتړ کوي د میراث وړ سرلیکونه، کوم چې د ډیفالټ لخوا د ماشومانو پوښتنو کې ځای په ځای کیدی شي. پوسټ مین پدې اړه یو څه لري: دنده، او دا حتی تړل شوی ، مګر دا د حل په توګه وړاندیز شوی ... سکریپټونه وکاروئ. په ټیسټ میس کې ، دا ټول د GUI له لارې تنظیم شوي او په ځانګړي اولاد کې د میراث شوي سرلیکونو غیر فعال کولو اختیار شتون لري
  • بیرته راګرځول / بیرته کول. نه یوازې د نوډونو ترمیم کولو پرمهال کار کوي ، بلکه کله چې حرکت کوي ، حذف کوي ، نوم بدلوي او نور عملیات چې د پروژې جوړښت بدلوي
  • د غوښتنو سره تړل شوي فایلونه د پروژې برخه کیږي او د هغې سره زیرمه کیږي، پداسې حال کې چې په بشپړ ډول همغږي کیږي، د پوسټ مین برعکس. (هو، تاسو نور اړتیا نلرئ هرکله چې تاسو پیل کړئ په لاسي ډول فایلونه غوره کړئ او په آرشیف کې همکارانو ته یې واستوئ)

هغه ځانګړتیاوې چې دمخه په لاره کې دي

موږ نشو کولی په راتلونکو ریلیزونو کې د محرمیت پرده پورته کولو لالچ سره مقاومت وکړو ، په ځانګړي توګه کله چې فعالیت خورا خوندور وي او دمخه د خوشې کیدو دمخه پالش کولو څخه تیریږي. نو، راځئ چې ملاقات وکړو.

دندې

لکه څنګه چې تاسو پوهیږئ ، پوسټ مین د ارزښتونو رامینځته کولو لپاره تش په نوم متحرک متغیرونه کاروي. د دوی لیست خورا اغیزمن دی او ډیری افعال د جعلي ارزښتونو رامینځته کولو لپاره کارول کیږي. د مثال په توګه، د تصادفي بریښنالیک رامینځته کولو لپاره تاسو اړتیا لرئ ولیکئ:

{{$randomEmail}}

په هرصورت، څرنګه چې دا متغیرونه دي (که څه هم متحرک)، دوی نشي کولی د دندو په توګه وکارول شي: دوی د پیرامیټریز وړ ندي، نو له همدې امله دا به ممکنه نه وي چې له تار څخه هش واخلئ.

موږ پلان لرو چې په ټیسټ میس کې "صادقانه" دندې اضافه کړو. په ${} کې دننه دا به ممکنه وي چې نه یوازې یو متغیر ته لاسرسی ومومئ ، بلکه د فنکشن زنګ وهل هم ممکن وي. هغوی. که تاسو د بدنام جعلي بریښنالیک رامینځته کولو ته اړتیا لرئ، موږ به په ساده ډول ولیکئ

${faker.internet.email()}

د دې حقیقت سربیره چې دا یو فنکشن دی، تاسو به وګورئ چې دا ممکنه ده چې په یو شی باندې یو میتود غږ کړئ. او د متحرک تغیراتو لوی فلیټ لیست پرځای ، موږ د منطقي پلوه ګروپ شوي شیانو سیټ لرو.

څه که موږ غواړو د تار هش محاسبه کړو؟ په اسانۍ سره!

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

تاسو به وګورئ چې تاسو حتی د پیرامیټونو په توګه متغیرات تیرولی شئ! پدې مرحله کې ، یو پلټونکی لوستونکی ممکن شک وکړي چې یو څه غلط دی ...

په بیانونو کې د جاوا سکریپټ کارول

... او د ښه دلیل لپاره! کله چې د دندو لپاره اړتیاوې رامینځته شوې، موږ ناڅاپه دې پایلې ته ورسیدو چې معتبر جاوا سکریپټ باید په څرګندونو کې ولیکل شي. نو اوس تاسو د بیان لیکلو لپاره وړیا یاست لکه:

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

او دا ټول د سکریپټونو پرته، په سمه توګه د ننوتلو ساحو کې!

لکه څنګه چې د پوسټ مین لپاره، دلته تاسو کولی شئ یوازې متغیرات وکاروئ، او کله چې تاسو د لږ څه بیان لیکلو هڅه کوئ، اعتبار کوونکی لعنت کوي او د دې حساب کولو څخه انکار کوي.

ولې ټیسټ میس د پوسټ مین څخه غوره دی

پرمختللی اتومات بشپړول

اوس مهال TestMace یو معیاري اتوماتیک تکمیل لري چې داسې ښکاري:

ولې ټیسټ میس د پوسټ مین څخه غوره دی

دلته، د اتوماتیک بشپړې کرښې سربیره، دا په ګوته کیږي چې دا کرښه د څه سره تړاو لري. دا میکانیزم یوازې په هغه بیانونو کې کار کوي چې د ${} قوسونو پوښل شوي.

لکه څنګه چې تاسو لیدلی شئ، بصری مارکرونه اضافه شوي چې د متغیر ډول په ګوته کوي (د بیلګې په توګه، تار، شمیره، سرې، او نور). تاسو کولی شئ د اتوماتیک تکمیل حالتونه هم بدل کړئ (د مثال په توګه، تاسو کولی شئ د متغیر یا سرلیکونو سره د اتوماتیک بشپړتیا غوره کړئ). مګر حتی دا ترټولو مهم شی ندی!

لومړی، اتوماتیک بشپړتیا حتی په بیانونو کې کار کوي (که چیرې امکان ولري). دا هغه څه دي چې داسې ښکاري:

ولې ټیسټ میس د پوسټ مین څخه غوره دی

او دوهم، اتوماتیک بشپړتیا اوس په سکریپټونو کې شتون لري. یو نظر وګورئ چې دا څنګه کار کوي!

ولې ټیسټ میس د پوسټ مین څخه غوره دی

د پوسټ مین سره د دې فعالیت پرتله کولو کې هیڅ معنی شتون نلري - اتوماتیک بشپړول یوازې د متغیرونو ، سرلیکونو او د دوی ارزښتونو جامد لیستونو پورې محدود دی (که ما یو څه هیر کړی وي ما سم کړئ). سکریپټونه پخپله بشپړ شوي ندي :)

پایلې

اکتوبر زموږ د محصول پراختیا له پیل راهیسې یو کال و. د دې وخت په جریان کې، موږ ډیری شیان ترسره کړل او په ځینو برخو کې، د خپلو سیالانو سره مخ شو. مګر دا لکه څنګه چې کیدی شي، زموږ هدف دا دی چې د APIs سره کار کولو لپاره واقعیا اسانه وسیله جوړه کړئ. موږ لاهم ډیر کار ته اړتیا لرو، دلته د راتلونکي کال لپاره زموږ د پروژې د پراختیا لپاره یو کره پلان دی: https://testmace.com/roadmap.

ستاسو فیډبیک به موږ ته اجازه راکړي چې د ب featuresو کثرت په ښه توګه حرکت وکړو ، او ستاسو ملاتړ موږ ته ځواک او باور راکوي چې موږ سم کار کوو. دا داسې پیښیږي چې نن ورځ زموږ د پروژې لپاره یوه مهمه ورځ ده - هغه ورځ چې TestMace خپره شوه د محصولاتو ښکار. مهرباني وکړئ زموږ د پروژې ملاتړ وکړئ، دا زموږ لپاره خورا مهم دی. سربیره پردې ، نن ورځ زموږ په PH پا pageه کې یو زړه راښکونکی وړاندیز شتون لري ، او دا محدود دی

سرچینه: www.habr.com

Add a comment