یہ ٹیوٹوریل کراٹے فریم ورک کا استعمال کرتے ہوئے API ٹیسٹنگ کا ایک تعارف ہے۔ کراٹے ٹیسٹ اسکرپٹ کی ساخت اور پہلی ٹیسٹ اسکرپٹ بنانے کے اقدامات کے بارے میں جانیں:

API ایک مخفف ہے جس کا مطلب ایپلی کیشن پروگرامنگ انٹرفیس ہے۔ آسان الفاظ میں، ہم اسے ایک سافٹ ویئر بیچوان کے طور پر بیان کر سکتے ہیں جو ایپلیکیشنز کے درمیان رابطے کی اجازت دیتا ہے۔

ہمیں API ٹیسٹنگ کی ضرورت ہے کیونکہ:

  • نتائج تیزی سے شائع ہوتے ہیں، اس لیے یہ دیکھنے کے لیے مزید انتظار کرنے کی ضرورت نہیں ہے کہ آیا API ٹھیک کام کر رہا ہے۔
  • تیز ردعمل کے ساتھ، ان APIs کی تعیناتی بھی تیز تر ہو جاتی ہے، اس لیے فوری تبدیلی کے وقت کی اجازت دیتا ہے۔
  • ابتدائی ناکامی کا پتہ لگانا، ایپ کے UI کے بننے سے پہلے ہی، ہمیں خطرات کو کم کرنے اور خرابیوں کو درست کرنے کی اجازت دیں۔
  • چھوٹے عرصے میں بڑے پیمانے پر ڈیلیوری ممکن ہے۔

API ٹیسٹنگ پر کام کرنے کے لیے، ہمارے پاس مارکیٹ میں مختلف ٹولز دستیاب ہیں جیسے پوسٹ مین، موچا، اور چائی۔ انہوں نے APIs کی جانچ کے لیے اچھے نتائج اور موثر استعمال کا مظاہرہ کیا ہے، تاہم، یہ بہت زیادہ کوڈ سے متاثر ہیں۔ ان کو استعمال کرنے کے قابل ہونے کے لیے، کسی کو تکنیکی طور پر درست اور پروگرامنگ زبانوں سے واقف ہونا ضروری ہے۔

کراٹے فریم ورک اپنے پچھلے سافٹ ویئر ٹولز کے اس مسئلے کو خوبصورتی سے حل کرتا ہے۔

کراٹے فریم ورک کیا ہے

کراٹے؟ آئیے کراٹے کی بات کرتے ہیں۔ کیا یہ جاپان سے ہے؟ آپ کیا سوچتے ہیں؟ ہوسکتا ہے کہ وہ عظیم بروس ہو۔یہ کراٹے بنیادی ٹیسٹ اسکرپٹ۔

منظر:

ہم اس URL کے ساتھ ایک API کی جانچ کریں گے۔

راستہ: api/users/2

طریقہ: GET

اور ہمیں کی توثیق کرنے کی ضرورت ہے، چاہے درخواست ایک کامیابی کوڈ ( 200) یا نہیں۔

سادہ الفاظ میں، ہم صرف ایک نمونہ API کی جانچ کرنے جا رہے ہیں تاکہ یہ معلوم ہو سکے کہ آیا اس پر کامیابی سے عمل ہو رہا ہے یا نہیں۔

نوٹ:2 ہم ایک نمونہ API لے رہے ہیں جو جانچ کے لیے دستیاب ہے۔ آپ کسی بھی PATH کا انتخاب کرسکتے ہیں یا اپنے API کا حوالہ دے سکتے ہیں۔

ذریعہ کے لیے یہاں کلک کریں۔

#5) اب ہمارا اگلا مرحلہ ایک بنانا ہوگا۔ .feature فائل۔

جیسا کہ تعارف سیکشن میں بات کی گئی ہے، .feature فائل وہ پراپرٹی ہے جو کھیرے سے وراثت میں ملی ہے۔ اس فائل میں، ہم آزمائشی منظرنامے لکھیں گے جنہیں API ٹیسٹنگ انجام دینے کے لیے انجام دینے کی ضرورت ہے۔

  • اپنے پروجیکٹ میں فولڈر src/test/java پر جائیں۔

  • اس پر دائیں کلک کریں اور ایک نئی فائل بنائیں - userDetails.feature۔ پھر Finish بٹن پر کلک کریں۔

اب آپ کو فولڈر src/test/java کے نیچے درج ذیل فائل نظر آئے گی۔ 3>

سبز رنگ کا آئیکن کھیرے میں موجود . فیچر fi le سے ملتا جلتا ہے جسے ہم نے ابھی بنایا ہے۔

  • ایک بار فائل بن جانے کے بعد، اب ہم اپنے ٹیسٹ کے منظرنامے لکھیں گے جن پر مندرجہ ذیل سیکشن میں بحث کی جائے گی۔

#6) چونکہ ہمارے پاس منظر نامہ ہے اورخالی . فیچر فائل تیار ہے، اب آئیے اپنی پہلی اسکرپٹ کے ساتھ شروع کرتے ہیں۔ آئیے کوڈنگ شروع کریں

کوڈ کی درج ذیل لائن userDetails.feature فائل کے تحت لکھیں جو ہم نے مرحلہ نمبر 5 میں بنائی ہے:

 Feature: fetching User Details Scenario: testing the get call for User Details Given url '//reqres.in/api/users/2' When method GET Then status 200

آئیے سمجھنے کی کوشش کریں وہ اجزاء جو اوپر کی فائل میں لکھے گئے ہیں:

  • فیچر: کی ورڈ اس فیچر کے نام کی وضاحت کرتا ہے جس کی ہم جانچ کر رہے ہیں۔
  • پس منظر: یہ ایک اختیاری سیکشن ہے جسے پہلے سے ضروری سیکشن سمجھا جاتا ہے۔ اس کا استعمال اس بات کی وضاحت کے لیے کیا جا سکتا ہے کہ API کو جانچنے کے لیے کیا ضروری ہے۔ اس میں HEADER، URL & PARAM اختیارات۔
  • منظر نامہ: ہر فیچر فائل جو آپ دیکھیں گے اس میں کم از کم ایک فیچر ہوگا (حالانکہ یہ متعدد منظریات دے سکتا ہے) . یہ ٹیسٹ کیس کی تفصیل ہے۔
  • دیا گیا: یہ وہ مرحلہ ہے جسے کسی دوسرے ٹیسٹ کے مرحلے کو انجام دینے سے پہلے انجام دینے کی ضرورت ہے۔ یہ ایک لازمی عمل ہے جسے انجام دیا جانا ہے۔
  • کب: یہ اس شرط کی وضاحت کرتا ہے جسے اگلا ٹیسٹ مرحلہ انجام دینے کے لیے پورا کیا جانا چاہیے۔
  • پھر: یہ ہمیں بتاتا ہے کہ جب مطمئن ہونے کی صورت میں کیا ہونا چاہیے۔

نوٹ: مذکورہ بالا تمام مطلوبہ الفاظ ہیں Gherkins زبان سے. یہ کھیرے کا استعمال کرتے ہوئے ٹیسٹ اسکرپٹ لکھنے کا معیاری طریقہ ہے۔

اور فیچر فائل میں استعمال ہونے والے کچھ اور الفاظ یہ ہیں:

  • 200: یہ اسٹیٹس/رسپانس کوڈ ہے جو ہم ہیں۔توقع کرنا (اسٹیٹس کوڈز کی فہرست کے لیے یہاں کلک کریں)
  • GET: یہ API طریقہ ہے جیسے POST, PUT, وغیرہ۔

ہمیں امید ہے کہ یہ وضاحت آپ کو سمجھنا آسان تھا۔ اب آپ مندرجہ بالا فائل میں جو کچھ لکھا ہے اس سے متعلق ہو سکیں گے۔

اب ہمیں TestRunner.java فائل بنانے کی ضرورت ہے

جیسا کہ اوپر میں بیان کیا گیا ہے۔ سیکشن میں، ککڑی کو ایک رنر فائل کی ضرورت ہے جو . فیچر فائل کو چلانے کے لیے درکار ہوگی جس میں ٹیسٹنگ منظرنامے شامل ہیں۔

  • فولڈر پر جائیں src/test/java اپنے پروجیکٹ میں

  • اس پر دائیں کلک کریں اور ایک نئی جاوا فائل بنائیں: TestRunner.java
  • ایک بار فائل بن جانے کے بعد، اس کے نیچے کوڈ کی درج ذیل لائنیں رکھیں:
 import org.junit.runner.RunWith; import com.intuit.karate.junit4.Karate; @RunWith(Karate.class) public class TestRunner { }
  • ٹیسٹ رنر وہ فائل ہے جسے اب انجام دینے کے لیے عمل میں لایا جائے گا۔ مطلوبہ منظرنامہ جو کہ مرحلہ نمبر 5 کے تحت لکھا گیا ہے۔

#7) اب ہم دونوں فائلوں کے ساتھ تیار ہیں TestRunner.Java اور userDeatils.feature. ہمارے لیے صرف ایک کام رہ گیا ہے چلائیں اسکرپٹ۔

  • TestRunner.java فائل پر جائیں اور فائل پر دائیں کلک کریں جیسا کہ نیچے کی تصویر میں دکھایا گیا ہے۔

  • اس طرح چلائیں کا انتخاب کریں -> Junit Test
  • اب، ایک بار منتخب ہونے کے بعد، آپ یہ دیکھنا شروع کر دیں گے کہ ٹیسٹ کیس اب شروع ہو چکا ہے۔
  • ٹیسٹ اسکرپٹ کے عمل میں آنے کا انتظار کریں۔ ایک بار مکمل کرنے کے بعد آپ اپنی ونڈو میں نیچے دی گئی تصویر میں دکھائی دینے والی چیز کا مشاہدہ کریں گے۔

  • آخر میں، ہم کہہ سکتے ہیںکہ ہم نے اپنا پہلا بنیادی ٹیسٹ اسکرپٹ کراٹے فریم ورک کا استعمال کرتے ہوئے کامیابی کے ساتھ بنایا ہے۔

#8) آخری، کراٹے فریم ورک اس عمل کے لیے ایک HTML رپورٹ پریزنٹیشن بھی دیتا ہے جسے انجام دیا گیا ہے۔

  • ٹارگٹ فولڈر پر جائیں -> surefire-reports-> یہاں آپ کو اپنی HTML رپورٹ نظر آئے گی جسے آپ کھول سکتے ہیں۔

** ہم آپ کو یہ بھی تجویز کریں گے کہ آپ اسے کروم کا استعمال کرکے کھولیں۔ بہتر شکل و صورت کے لیے براؤزر۔

  • ایچ ٹی ایم ایل رپورٹ کے بعد آپ کو منظروں اور منظرناموں کی عکاسی کرتے ہوئے دکھایا جائے گا۔ ٹیسٹ جو مذکورہ منظر نامے کے لیے انجام دیا گیا ہے:

نتیجہ

اس ٹیوٹوریل میں، ہم نے API ٹیسٹنگ، مختلف ٹیسٹنگ پر تبادلہ خیال کیا ہے۔ مارکیٹ میں دستیاب ٹولز، اور کس طرح کراٹے فریم ورک اس کے ہم منصبوں کے مقابلے میں ایک بہتر آپشن ہے۔

ہم نے اپنا پہلا بنیادی ٹیسٹ اسکرپٹ بنانے کے لیے مرحلہ وار طریقہ اختیار کیا۔ ہم نے ایک .feature فائل بنانے کے لیے ایک بنیادی Eclipse IDE میں Maven پروجیکٹ بنانے کے ساتھ شروع کیا، جس میں تمام ٹیسٹنگ منظر نامے اور .feature فائل میں مذکور ٹیسٹ کیس کو انجام دینے کے لیے رنر فائل شامل ہے۔

متعدد مراحل کے اختتام پر، ہم ٹیسٹ کے نتائج پر عملدرآمد کی رپورٹ دیکھ سکتے تھے۔

ہمیں امید ہے کہ یہ ٹیوٹوریل شروع کرنے والوں کے لیے یہ سیکھنے میں مددگار تھا کہ کراٹے فریم ورک کا استعمال کرتے ہوئے اپنا پہلا ٹیسٹ اسکرپٹ کیسے بنایا جائے۔ اور API ٹیسٹنگ انجام دیں۔ یہ تفصیلی مرحلہ وارAPI پر مختلف ٹیسٹ چلانے اور ان پر عمل درآمد کرنے کا نقطہ نظر ایک شاندار طریقہ ہے۔

NEXT>>

لی نے اسے اپنے فارغ وقت میں تیار کیا تھا۔

اگرچہ ہم کراٹے کی دلچسپ جڑوں کو جاننا چاہیں گے، فی الحال آئیے کراٹے ٹول کے بارے میں بات کرتے ہیں جسے تیار کیا گیا ہے۔ بذریعہ پیٹر تھامس ، ایک بہترین ٹول جو API ٹیسٹرز کو بچانے کے لیے آتا ہے۔

کراٹے فریم ورک پروگرام لکھنے کے ککڑی کے انداز کی پیروی کرتا ہے جو BDD کے طریقہ کار کی پیروی کرتا ہے۔ نحو کو غیر پروگرامرز کے لیے سمجھنا آسان ہے۔ اور یہ فریم ورک واحد API ٹیسٹنگ ٹول ہے جس نے API آٹومیشن اور کارکردگی کی جانچ کو ایک واحد اسٹینڈ ٹول میں ملایا ہے۔

یہ صارفین کو ٹیسٹ کیسز کو متوازی طور پر انجام دینے اور JSON & XML چیک کرتا ہے۔

اس معلومات کے ساتھ، کراٹے ٹول کو مزید تفصیل سے سمجھنے کے لیے کچھ اہم نکات اخذ کیے جا سکتے ہیں:

  • کراٹے ایک BDD ٹیسٹنگ فریم ورک ہے۔ TDD کا۔
  • یہ غیر پروگرامرز کے لیے آسان بنانے کے لیے ڈیزائن کیا گیا ہے۔ یہ فیچر گیم چینجر ہے کیونکہ یہ بہت سے لوگوں کو ان کے تکنیکی پس منظر یا صلاحیت سے قطع نظر زیادہ استعمال اور رسائی کی اجازت دیتا ہے۔
  • یہ ٹیسٹ لکھنے کے لیے ککڑی فیچر فائل اور گرکنز زبان کا استعمال کرتا ہے جو کہ سمجھنے میں بہت آسان ہے۔

یہ تمام خصوصیات اسے آج دستیاب سب سے زیادہ سازگار آٹومیشن ٹولز میں سے ایک بناتی ہیں۔

کراٹے فریم ورک کی تاریخ

'کے ذریعہ تخلیق کردہ 1>پیٹر تھامس' 2017 میں، اس سافٹ ویئر کا مقصد جانچ کرنا ہےفعالیتیں ہر ایک کے لیے آسانی سے دستیاب ہیں۔ یہ جاوا میں لکھا گیا تھا اور زیادہ تر لوگوں کو توقع تھی کہ اس کی فائلیں بھی اسی زبان میں ہوں گی، تاہم، خوش قسمتی سے، ایسا نہیں ہے۔

بلکہ یہ Gherkins فائلوں کا استعمال کرتا ہے، جو کہ اس کے ساتھ اس کے تعلق کا نتیجہ ہے۔ ککڑی کا فریم ورک۔ آٹومیشن سافٹ ویئر ککڑی کی توسیع ہے، لہذا اس کے کام میں Gherkins فائل کا استعمال وراثت میں ملتا ہے۔ دونوں کے درمیان بڑا فرق یہ ہے کہ کراٹے ٹیسٹنگ کے دوران جاوا کا کوئی استعمال نہیں کرتا، لیکن ککڑی کرتا ہے۔

یہی وجہ ہے کہ یہ غیر پروگرامرز کو پورا کرتا ہے کیونکہ Gherkins کا نحو انتہائی پڑھنے کے قابل اور جامع ہے۔ یہی وجہ ہے کہ کراٹے خودکار API ٹیسٹنگ کی دنیا میں داخلے کے لیے سب سے موزوں اور تجویز کردہ ہے۔

کراٹے ٹیسٹنگ فریم ورک کی کچھ خصوصیات درج ذیل ہیں:

4
  • سمجھنے میں آسان Gherkins زبان کا استعمال کرتا ہے>ایک فریم ورک بنانے میں آسان۔
  • متوازی ٹیسٹنگ بنیادی فعالیت ہے جو خود کراٹے کی طرف سے فراہم کی جاتی ہے، اس لیے ہمیں Maven، Gradle ، وغیرہ پر انحصار کرنے کی ضرورت نہیں ہے۔
  • 5 ٹیسٹ ڈیبگ کرنے کے لیے UI۔
  • کسی دوسری فائل سے فیچر فائل کو کال کرنا۔
  • ڈیٹا ڈرائیور ٹیسٹنگ کے لیے سپورٹ فراہم کرتا ہے جو اندرون ملک بنایا گیا ہے، اس لیے بیرونی فریم ورک پر انحصار کرنے کی ضرورت نہیں ہے۔
  • بلٹ ان مقامی آرامرپورٹس۔ اس کے علاوہ، بہتر UI رپورٹس اور مزید وضاحت کے لیے اسے ککڑی کے ساتھ مربوط کیا جا سکتا ہے۔
  • مختلف ٹیسٹنگ ماحول (QA، Stage، Prod، Pre-Prod) میں کنفیگریشن کو تبدیل کرنے کے لیے اندرون خانہ مدد فراہم کرتا ہے۔
  • CI/CD انضمام کے لیے ہموار سپورٹ جو کارآمد ہو سکتی ہے۔
  • مختلف HTTP کالوں کو سنبھالنے کے قابل:
    • ویب ساکٹ سپورٹ
    • SOAP درخواست
    • HTTP
    • براؤزر کوکی ہینڈلنگ
    • HTTPS
    • HTML فارم ڈیٹا
    • XML درخواست
  • کراٹے بمقابلہ ریسٹ ایشورڈ کا موازنہ

    ریسٹ ایشورڈ : یہ REST سروسز کو جانچنے کے لیے جاوا پر مبنی لائبریری ہے۔ یہ کوڈ کی لائنوں کو لکھنے کے لیے جاوا زبان کا استعمال کرتا ہے۔ یہ درخواست کے متعدد زمروں کی جانچ کرنے میں مدد کرتا ہے، جس کے نتیجے میں مختلف کاروباری منطق کے مجموعوں کی تصدیق ہوتی ہے۔

    کراٹے فریم ورک : ایک ککڑی/گھرکنز پر مبنی ٹول، جو SOAP اور amp؛ کی جانچ کے لیے استعمال ہوتا ہے۔ REST سروسز۔

    مندرجہ ذیل جدول میں Rest-Assured اور amp; کراٹے فریم ورک:

    20
    S.No بنیاد کراٹے فریم ورک باقی یقین دہانی کرائی
    1 زبان یہ کھیرے اور گرکنز کا مجموعہ استعمال کرتی ہے یہ جاوا زبان کا استعمال کرتا ہے
    2 23> کوڈ سائز عام طور پر، کی لائن کوڈ کم ہے، کیونکہ یہ کھیرے کی طرح کی ساخت کی پیروی کرتا ہے کوڈ کی لائن زیادہ ہے کیونکہ اس میںجاوا زبان کا استعمال
    3 تکنیکی علم درکار ہے غیر پروگرامر آسانی سے لکھ سکتے ہیں Gherkins کوڈ جاوا کوڈ لکھنے کے لیے تکنیکی علم کی ضرورت ہے
    4 ڈیٹا سے چلنے والی جانچ اسی کو سپورٹ کرنے کے لیے TestNG یا اس کے مساوی استعمال کرنے کی ضرورت ہے ڈیٹا ٹیسٹنگ کو سپورٹ کرنے کے لیے اندرون خانہ ٹیگز استعمال کیے جا سکتے ہیں
    5 کیا یہ SOAP کال سپورٹ فراہم کرتا ہے ہاں، یہ فراہم کرتا ہے اس کا تعلق صرف ایک REST درخواست سے ہے
    6 متوازی جانچ جی ہاں، متوازی رپورٹ تیار کرنے کے ساتھ متوازی جانچ آسانی سے سپورٹ کی جاتی ہے۔ بھی بڑی حد تک نہیں۔ اگرچہ لوگوں نے ایسا کرنے کی کوشش کی ہے، ناکامی کی شرح کامیابی کی شرح سے زیادہ ہے
    7 رپورٹنگ 23 یہ اندرون ملک رپورٹنگ فراہم کرتا ہے، اس لیے اسے بیرونی پلگ انز پر انحصار کرنے کی ضرورت نہیں ہے۔ ہم اسے بہتر UI کے لیے Cucumber رپورٹنگ پلگ ان کے ساتھ بھی ضم کر سکتے ہیں۔ جونیٹ، TestNG
    8 جیسے بیرونی پلگ انز پر انحصار کرنے کی ضرورت ہے۔ 23> بیرونی ڈیٹا کے لیے CSV سپورٹ جی ہاں، کراٹے سے 0.9.0 نہیں، جاوا کوڈ یا لائبریری کا استعمال کرنا ہوگا
    9 ویب UI آٹومیشن ہاں، کراٹے سے 0.9.5 ویب-UI آٹومیشن ممکن ہے نہیں، یہ تعاون یافتہ نہیں ہے
    10 Sample GET Given param val1 = ‘name1’

    And param val2 = ‘name2’

    And path ‘somelocation’

    When method get

    Then match response contains ‘OKAY’

    given().

    param("val1", "name1").

    param("val2", "name2").

    when().

    get("/some\location").

    then().

    body(containsString("OKAY"));

    لہذا، جیسا کہ مندرجہ بالا اختلافات، یہ کہنا محفوظ ہے کہ کراٹے سب سے آسان چیزوں میں سے ایک ہے جو کوئی بھی کر سکتا ہے۔

    کراٹے فریم ورک کے ساتھ کام کرنے کے لیے درکار ٹولز

    اب چونکہ ہمیں اس کے بارے میں بنیادی معلومات حاصل ہو چکی ہیں۔ کراٹے کا فریم ورک نقطہ نظر پر، آئیے کراٹے ماحول کو ترتیب دینے کے لیے درکار طریقہ کار اور ٹولز کو دیکھتے ہیں۔

    #1) ایکلیپس

    ایکلیپس ایک مربوط ترقیاتی ماحول ہے جس کا استعمال کیا جاتا ہے۔ کمپیوٹر پروگرامنگ کے میدان میں یہ زیادہ تر جاوا پروگرامنگ کے لیے استعمال ہوتا ہے۔ جیسا کہ پہلے ذکر کیا گیا ہے، کراٹے جاوا میں لکھا گیا ہے، اس لیے یہ زیادہ سمجھ میں آتا ہے کہ API ٹیسٹ سافٹ ویئر کے لیے Eclipse جانے جانے والا IDE کیوں ہے۔ ایک اور وجہ یہ ہے کہ یہ ایک اوپن سورس ٹول ہے، اور یہ اس ٹول کو منتخب کرنے کی کافی مضبوط وجہ ہے۔

    نوٹ: ہم IntelliJ، Visual Studio، اور دیگر مختلف مارکیٹ میں ایڈیٹرز دستیاب ہیں۔

    #2) Maven

    یہ ایک بلڈ آٹومیشن ٹول ہے جو بنیادی طور پر جاوا پروجیکٹس بنانے کے لیے استعمال ہوتا ہے۔ یہ کراٹے کے ماحول کو ترتیب دینے اور کوڈ لکھنے کا ایک طریقہ ہے۔ Maven کی ضروریات کے ساتھ اپنے Eclipse کو ترتیب دینے کے لیے، آپ Maven انسٹالیشن کے لیے یہاں کلک کر سکتے ہیں۔

    Maven میں کام کرتے ہوئے، Maven پر انحصار کا استعمال کریں جو آپ کو کراٹے فریم ورک کو سپورٹ کرنے میں مدد فراہم کرے گی۔

    مندرجہ ذیل pom.xml میں Maven کے ساتھ انحصار استعمال کیا جائے گا۔

       com.intuit.karate karate-apache 0.9.5 test   com.intuit.karate karate-junit4 0.9.5 test  

    نوٹ: تازہ ترین ورژن ہو سکتا ہےMaven ریپوزٹری میں دستیاب ہے۔

    #3) Gradle

    Gradle Maven کا متبادل ہے اور اسے مساوی صلاحیت میں استعمال کیا جا سکتا ہے۔ ان میں مماثلتیں اور فرق ہیں لیکن ہمارے کراٹے کوڈز کے لیے ماحول قائم کرنے میں یکساں طور پر استعمال کیا جا سکتا ہے۔

    یہ استعمال کرنا آسان، لچکدار، اور اس وقت استعمال کرنے کی سفارش کی جاتی ہے جب ہماری ایپلیکیشن میں کچھ ماڈیولرائزیشن اور انتظامی تقاضے ہوں پلگ ان کا ایک گروپ۔ گریڈل سیٹ اپ کوڈ کچھ اس طرح نظر آئے گا،

    testCompile 'com.intuit.karate:karate-junit4:0.6.0' testCompile 'com.intuit.karate:karate-apache:0.6.0'

    نوٹ: آپ یا تو MAVEN یا GRADLE استعمال کرسکتے ہیں۔

    0 #4) آپ کے سسٹم میں جاوا انوائرمنٹ سیٹ اپ

    کراٹے فریم ورک اسکرپٹس کے ساتھ شروع کرنے کے لیے JDK اور JRE ماحول کو سیٹ اپ کرنے کی ضرورت ہے۔

    کراٹے ٹیسٹ اسکرپٹ کا ڈھانچہ

    ایک کراٹے ٹیسٹ اسکرپٹ ". فیچر" ایکسٹینشن کے قبضے کے لیے جانا جاتا ہے۔ یہ پراپرٹی ککڑی سے وراثت میں ملی ہے۔ جاوا کنونشن میں فائلوں کی تنظیم کی بھی اتنی ہی اجازت ہے۔ آپ اپنی فائلوں کو جاوا پیکیج کنونشنز کے مطابق ترتیب دینے کے لیے آزاد ہیں۔

    تاہم، Maven کے رہنما خطوط ہدایت دیتے ہیں کہ غیر جاوا فائلوں کا ذخیرہ الگ سے کیا جائے۔ وہ ایک src/test/resources ڈھانچے میں کیے جاتے ہیں۔ اور جاوا فائلوں کو src/main/java کے تحت رکھا جاتا ہے۔

    لیکن کراٹے فریم ورک کے تخلیق کاروں کے مطابق، وہ اس بات پر پختہ یقین رکھتے ہیں کہ ہم جاوا اور غیر جاوا دونوں فائلوں کو ساتھ رکھتے ہیں۔ طرف ان کے مطابق، اس کی تلاش کرنا بہت آسان ہے۔*.java اور *.feature فائلیں جب انہیں معیاری Maven ڈھانچے کی پیروی کرنے کے بجائے ایک ساتھ رکھا جاتا ہے۔

    یہ آپ کے pom.xml کو مندرجہ ذیل (For Maven کے لیے):

        src/test/java  **/*.java     ...   

    کراٹے فریم ورک کے عمومی ڈھانچے کا خاکہ درج ذیل ہے:

    0>

    اب چونکہ یہ کراٹے فریم ورک استعمال کر رہا ہے رنر فائل، جس کی فیچر فائلوں کو چلانے کے لیے ککڑی میں بھی ضرورت ہوتی ہے، اس لیے زیادہ تر تحریر کھیرے کے معیارات پر عمل کرے گی۔

    لیکن، کھیرے کے برعکس، کراٹے میں اقدامات کو واضح تعریف کی ضرورت نہیں ہے اور کون سی ، بدلے میں، لچک اور کاموں میں آسانی کو بڑھاتا ہے۔ ہمیں وہ اضافی گلو شامل کرنے کی ضرورت نہیں ہے جو ہمیں عام طور پر جب ہم کھیرے کے فریم ورک کی پیروی کرتے ہیں تو شامل کرنا پڑتا ہے۔

    "رنر" کلاس کا زیادہ تر نام TestRunner.java ہوتا ہے۔

    پھر TestRunner.java فائل اس کی شکل اختیار کرے گی:

     import com.intuit.karate.junit4.Karate; import org.junit.runner.RunWith; @RunWith(Karate.class) public class TestRunner { }

    اور .feature فائل کے بارے میں بات کرتے ہوئے، اس میں تمام ٹیسٹنگ شامل ہیں وہ منظرنامے جن کی جانچ کرنے کی ضرورت ہے اس بات کو یقینی بنانے کے لیے کہ API متوقع تقاضوں کے مطابق کام کر رہا ہے۔

    ایک عام *. فیچر فائل کچھ اس طرح دکھائی دیتی ہے جیسا کہ ذیل میں دکھایا گیا ہے:

     Feature: fetching User Details Scenario: testing the get call for User Details Given url '//reqres.in/api/users/2' When method GET Then status 200

    پہلا بنیادی کراٹے ٹیسٹ اسکرپٹ بنانا

    یہ سیکشن آپ کو اپنے پہلے ٹیسٹ اسکرپٹ کی تخلیق کے ساتھ شروع کرنے میں مدد کرے گا، جو آپ کے لیے APIs کو کراٹے فریم ورک کی شکل میں تبدیل کرنے میں مددگار ثابت ہوگا۔

    اس سے پہلے کہ ہم بنیادی کراٹے ٹیسٹ سکرپٹ لکھیں،براہ کرم اپنی مشین پر درج ذیل ضروریات کو انسٹال کریں:

    • Eclipse IDE
    • Maven۔ مناسب Maven پاتھ سیٹ کریں۔
    • JDK & جے آر ای مناسب راستہ طے کریں۔

    آئیے مرحلہ وار طریقہ پر ایک نظر ڈالیں:

    #1) ایک بنائیں نیا MAVEN پروجیکٹ Eclipse Editor میں

    • Open Eclipse
    • فائل پر کلک کریں۔ نیا پروجیکٹ منتخب کریں ورک اسپیس کا مقام۔
    • آرکیٹائپ کو منتخب کریں (عام طور پر ہم سادہ ماون پروجیکٹس کے لیے " Maven-archetype-quickstart 1.1 " کا انتخاب کرتے ہیں)۔
    • فراہم کریں گروپ ID & آرٹفیکٹ ID (ہم نے اپنی مثال میں درج ذیل اقدار کا استعمال کیا ہے)۔
      • گروپ ID : کراٹے
      • آرٹیفیکٹ ID: KarateTestScriptsSample
    • مکمل کرنے کے لیے Finish پر کلک کریں سیٹ اپ۔

    #2) ایک بار بننے کے بعد، اب آپ پروجیکٹ ایکسپلورر ونڈو میں درج ذیل ڈھانچے کو دیکھ سکیں گے۔

    #3) اپنے تمام انحصار کو شامل کریں۔

    ہمارا پہلا قدم، سیٹ اپ کے بعد ہم تمام انحصار کو شامل کریں گے جن کی ضرورت ہوگی۔ پھانسی کے لئے. ہم تمام ٹیگ کو POM.xml کے نیچے رکھیں گے (یہ فرض کرتے ہوئے کہ آپ POM.xml کے استعمال سے پہلے ہی واقف ہیں)۔

    • POM.xml کھولیں اور نیچے کے کوڈ کو انحصار ٹیگ کے نیچے کاپی کریں اور محفوظ کریں۔ فائل۔
      com.intuit.karate karate-apache 0.9.5 test   com.intuit.karate karate-junit4 0.9.5 test 

    ذریعہ کے لیے یہاں کلک کریں۔

    #4) آئیے اس منظر نامے پر غور کریں، ہم کیا جانچنے جا رہے ہیں

    اوپر سکرول کریں