ماخذ: Dev.to Java یونٹ ٹیسٹنگ فریم ورک ڈویلپرز کو ایپلیکیشنز یا کوئی اور سافٹ ویئر بنانے کے لیے معیاری، جدید ترین، اور قابل توسیع ٹولز فراہم کرتے ہیں۔ وہ پہلے سے تحریری کوڈ پر مشتمل اشیاء کی ایک بڑی تعداد پر مشتمل ہوتے ہیں۔ جانچ کے فریم ورک کے انتخاب پر منحصر ہے، اس میں لائبریریاں، مرتب کرنے والے، ٹولز اور APIs شامل ہیں۔ جاوا یونٹ ٹیسٹنگ فریم ورک ایپلیکیشن کے لیے مضبوط سیکیورٹی کنٹرول فراہم کرتے ہیں۔ اگر کوئی حفاظتی خطرہ پایا جاتا ہے، تو اسے فریم ورک کی ویب سائٹ/سپورٹ پر ٹھیک کیا جا سکتا ہے۔ فریم ورک بنانے والے بلٹ ان فنکشنز اور ماڈیولز بھی پیش کرتے ہیں جو پروگرامرز اور ٹیسٹرز کی کارکردگی اور رفتار میں اضافہ کرتے ہیں۔ اس دہائی میں ٹیسٹنگ پلیٹ فارمز سے کیا توقع کی جائے؟ ہم آپ کی توجہ کے لیے 2020 تک کے بہترین جاوا ٹیسٹنگ فریم ورک کی فہرست پیش کرتے ہیں۔
1. Jbehave
JBehave BDD (Behavior-driven Development) سپورٹ کے ساتھ جاوا ٹیسٹنگ کے بہترین فریم ورکس میں سے ایک ہے۔ BDD TDD (Test-driven Development) اور ATDD (Acceptance Test-driven Development) کا ارتقائی تسلسل ہے۔ Jbehave کی اہم تقسیم:- JBehave ویب،
- جے بیہیو کور۔
- Commons-lang-2.4.jar
- Junit-4.1.0.jar
- Jbehave-core-3.8.jar
- Freemarker-2.3.9.jar
- Plexus-utils-1.1.jar
- Paranamer-2.5.jar
- org.apache.commons.collections.jar
- org.apache.commons.io.jar
- JBhave کا ٹیسٹنگ فریم ورک اپنی سوچی سمجھی تفصیلات اور استعمال کی بدیہی آسانی کی بدولت شاندار ہے۔
- JBehave BDD کے لیے بہت اچھا کام کرتا ہے، جو مختلف پروجیکٹس پر کام کرنے والی الگ ڈیولپمنٹ ٹیموں کے درمیان انضمام کی پیشکش کرتا ہے لیکن ایک جیسی خصوصیات کے ساتھ۔
- JBehave فریم ورک ایک نیم سرکاری زبان استعمال کرتا ہے جو ڈویلپرز کے لیے بہت مددگار ہے۔ ڈومین الفاظ ٹیم کے ڈھانچے میں مستقل مزاجی کو یقینی بناتا ہے۔
- اسٹیک ہولڈرز کے ساتھ ساتھ پروجیکٹ مینیجرز ٹیسٹ ٹیموں اور ترقیاتی ٹیم کی کارکردگی میں زیادہ شفافیت حاصل کرتے ہیں کیونکہ وضاحتیں اسی فارمیٹ کی پیروی کرتی ہیں۔
2. JUnit
JUnit ایک اوپن سورس ریگریشن ٹیسٹنگ فریم ورک ہے جسے بنیادی طور پر تجربہ کار ڈویلپرز یونٹ ٹیسٹنگ، پروگرامنگ کو تیز کرنے اور جاوا کوڈ کے معیار کو بہتر بنانے کے لیے استعمال کرتے ہیں۔ اس ٹول کو استعمال کرنے کا بنیادی مقصد جاوا ڈویلپرز کو اسکرپٹ اور دوبارہ قابل ٹیسٹ کیسز کو لاگو کرنے کے قابل بنانا ہے۔ یہ جاوا میں سب سے زیادہ استعمال ہونے والے یونٹ ٹیسٹنگ فریم ورک میں سے ایک ہے۔ اکثر، JUnit کوڈ کے چھوٹے ٹکڑوں کو جانچنے کے لیے استعمال کیا جاتا ہے۔ اسے خودکار جاوا ٹیسٹنگ کے لیے JUnit کے ساتھ Selenium WebDriver کو ملا کر خودکار ویب سائٹ ٹیسٹ کرنے کے لیے بھی استعمال کیا جا سکتا ہے۔ کوئی نیا کوڈ شامل کرتے وقت، ٹیسٹر سے کہا جائے گا کہ وہ مکمل ٹیسٹ کیسز کو دوبارہ لوڈ کرے اور اس بات کو یقینی بنائے کہ کوئی وقفہ نہیں ہے۔ JUnit کی خصوصیات:- ٹیسٹ سویٹس؛
- اشیاء کے عام سیٹ کا استعمال؛
- JUnit کلاسز؛
- ٹیسٹ رنرز۔
- اپنے کمپیوٹر پر JDK کا تازہ ترین ورژن رکھیں۔
- (اختیاری) ان زپ $JUNIT_HOME/src۔ jar فائل.
- کسی آبجیکٹ پر مبنی زبان میں ایپلی کیشنز تیار کرنے کی مہارت اور تجربہ، ترجیحا جاوا۔
- JUnit کا نیا ورژن ڈاؤن لوڈ کریں اور فریم ورک کو ترتیب دیں۔
- چونکہ JUnit Java 8 خصوصیات کو سپورٹ کرتا ہے، اس لیے اسے انضمام اور یونٹ ٹیسٹ دونوں کے لیے استعمال کیا جا سکتا ہے۔
- فریم ورک ابتدائی مرحلے میں غلطیوں کا پتہ لگانا آسان بناتا ہے، جس کے نتیجے میں صحت مند اور قابل اعتماد کوڈ ہوتا ہے۔
- JUnit کے ساتھ کام کرنے والے پروگرامرز اسے انتہائی مفید سمجھتے ہیں۔ یہ کوڈ کو پڑھنا اور کمزوریوں کی جانچ کرنا آسان بناتا ہے۔
- JUnit آپ کو کوڈ بنانے کی اجازت دیتا ہے جو غلطیوں سے پاک اور بہتر پڑھنے کی اہلیت کے ساتھ ہو۔
- تقریباً تمام بڑے IDEs جیسے Eclipse، NetBeans، Maven، Ant اور IntelliJ IDE کے ساتھ ہم آہنگ۔ لہذا آپ آسانی سے ان IDEs سے یونٹ ٹیسٹ لکھ سکتے ہیں اور چلا سکتے ہیں۔
- JUnit (ورژن 5) کے اپ ڈیٹ شدہ ورژن کا استعمال کرتے ہوئے، آپ آسانی سے ایک استثناء کی وضاحت کر سکتے ہیں۔
- یونٹ ٹیسٹنگ فریم ورک جاوا 5 یا دوسرے ورژن کے ساتھ استعمال کیا جا سکتا ہے۔
3. سکون
Serenity ، جو پہلے Thucydides کے نام سے جانا جاتا تھا، سب سے زیادہ استعمال ہونے والے اوپن سورس جاوا ٹیسٹنگ فریم ورک میں سے ایک ہے۔ Serenity BDD فریم ورک آپ کو واضح، منظم اور قابل انتظام جانچ کے معیار بنانے میں مدد کرے گا۔ یہ Selenium WebDriver اور JUnit دونوں کی فعالیت کو بڑھاتا ہے۔ اس خصوصی پلیٹ فارم کے ساتھ، آپ وضاحتی ٹیسٹنگ رپورٹس بنا سکتے ہیں۔ مزید برآں، آپ خودکار جانچ کو اپنی ضروریات کے مطابق کر سکتے ہیں۔ مجموعی طور پر، یہ فریم ورک جاوا کی ترقی کو زیادہ قابل اعتماد اور موثر بناتا ہے۔ سکون کی خصوصیات:- اوپن سورس پروجیکٹ؛
- جانچ اور عمل درآمد کے نتائج پر مکمل رپورٹس؛
- ہر ٹیسٹ کے لیے بزنس فارمیٹ کی رپورٹ۔
- JDK 5 یا بعد میں۔
- Maven 3.0 یا بعد میں۔
- IDE (عام طور پر چاند گرہن)۔
- فریم ورک ٹیسٹر کو REST خدمات کے لیے ٹیسٹ کیس بنانے میں مدد کرتا ہے۔
- ٹیسٹ کیس کی تفصیل اور تفہیم کے ساتھ ساتھ اس کے نفاذ کے نقطہ نظر کے درمیان توازن برقرار رکھتا ہے۔
- صارفین کو اپنا خودکار انفراسٹرکچر برقرار رکھنے یا بنانے میں اضافی وقت خرچ کرنے کی ضرورت نہیں ہے۔
- سکون کو مختلف ترقیاتی فریم ورکس کے ساتھ مربوط کیا جا سکتا ہے جیسے کہ بہار اور ٹیسٹنگ فریم ورک جیسے سیلینیم، جے بیہاو کے ساتھ ساتھ پروجیکٹ مینجمنٹ ٹولز جیسے JIRA۔
4.TestNG
TestNG ایک مقبول ترین جاوا ٹیسٹنگ فریم ورک ہے جو انضمام، فنکشنل اور یونٹ ٹیسٹنگ کے لیے استعمال ہوتا ہے۔ اسے Cedric Beist نے 2004 میں بنایا تھا اور اب اسے ورژن 7 میں اپ ڈیٹ کر دیا گیا ہے۔ یہ JUnit فریم ورک کا اہم حریف ہے۔ TestNG JUnit کی طرح ہے، لیکن اس میں کچھ تشریحات اور خصوصیات ہیں جو Junit کے ذریعہ تعاون یافتہ نہیں ہیں۔ TestNG تقریباً تمام قسم کے سافٹ ویئر ٹیسٹنگ میں استعمال کیا جا سکتا ہے، بشمول اینڈ ٹو اینڈ، یونٹ، انٹیگریشن، اور فنکشنل۔ TestNG اور JUnit دونوں جاوا پر مبنی فریم ورک ہیں جو آپ کو ٹیسٹ لکھنے اور حتمی نتیجہ کی تصدیق کرنے کی اجازت دیتے ہیں۔ اگر ٹیسٹ کامیاب رہا تو آپ کو سبز بار نظر آئے گا، بصورت دیگر آپ کو سرخ بار نظر آئے گا۔ ٹیسٹ این جی کی خصوصیات:- منحصر طریقوں کی جانچ کی حمایت کرتا ہے؛
- لچکدار ٹیسٹ ترتیب؛
- مضبوط عملدرآمد ماڈل کی حمایت کرتا ہے؛
- اضافی لچک کے لیے BeanShell میں انسٹال کیا گیا۔
- تازہ ترین JDK ورژن؛
- چاند گرہن کا تازہ ترین ورژن؛
- جاوا پروگرامنگ زبان یا دیگر آبجیکٹ اورینٹڈ پروگرامنگ زبان کو سمجھنا اور عملی تجربہ۔
- آپ کو متعدد کوڈ کے ٹکڑوں کی متوازی جانچ بنانے اور چلانے کی اجازت دیتا ہے۔
- ٹیسٹ کیس کو لاگو کرتے وقت، آپ HTML فارمیٹ میں رپورٹ بنا سکتے ہیں۔
- ٹیسٹوں کو آسانی سے ترتیب دیا جا سکتا ہے اور ترجیحات کے مطابق گروپ کیا جا سکتا ہے۔ بیرونی یا ڈیٹا بیس ٹیسٹنگ کرنے کے لیے صرف فریم ورک کو جگہ پر رکھ کر ٹیسٹ چلانا بہت آسان ہے۔
- ڈیٹا کو پیرامیٹرائز کرکے اور تشریحات کا استعمال کرکے ترجیحات آسانی سے سیٹ کی جاسکتی ہیں۔
5. سیلینائیڈ
Selenide ایک مقبول اوپن سورس جاوا ٹیسٹنگ فریم ورک ہے جو Selenium WebDriver کے ذریعے تقویت یافتہ ہے۔ یہ جاوا ایپلیکیشن کے لیے درست، مواصلاتی اور مستحکم UI ٹیسٹ لکھنے کے لیے ایک بہترین ٹول ہے۔ یہ WebDriver اور JUnit کی فعالیت کو بڑھاتا ہے۔ WebDriver ہمارے پسندیدہ UI ٹیسٹنگ ٹولز میں سے ایک ہے، لیکن اس میں ٹائم آؤٹ صلاحیتوں کا فقدان ہے۔ مثال کے طور پر، Ajax جیسی ویب ٹیکنالوجیز کی جانچ کرنا۔ Selenide فریم ورک ان تمام مسائل کو آسانی سے ہینڈل کرتا ہے۔ اس کے علاوہ، اسے انسٹال کرنا اور سیکھنا آسان ہے۔ آپ کو صرف منطق پر توجہ مرکوز کرنے کی ضرورت ہے اور سیلینائڈ باقی کام کرے گا۔ Selenide خصوصیات:- پیچیدہ سیٹ اپ کی ضرورت نہیں ہے؛
- بہت زیادہ کوڈ لکھنے کی ضرورت نہیں ہے۔
- بہت وقت بچاتا ہے؛
- جینکنز جیسے CI ٹول کے لیے مثالی ترتیب۔
- JDK 5 یا جدید تر؛
- Maven 3.0 یا دوسرے ورژن؛
- مربوط ترقیاتی ماحول (IDE) ٹول۔ اکثر، تمام ڈویلپرز Eclipse کو ترجیح دیتے ہیں کیونکہ Eclipse اور Maven کے امتزاج کے ساتھ کام کرنا آسان ہے۔
- Selenide آپ کے ٹیسٹوں کو درست اور مستحکم بناتا ہے، (تقریباً) تمام ایجیکس/ٹائمنگ مسائل کو حل کرتا ہے۔
- ٹیسٹ کیس لکھنے کے عمل کو کم کرنا۔
- AngularJS کا استعمال کرتے ہوئے تیار کردہ ایپلیکیشنز کے ٹیسٹ کے لیے سپورٹ۔
- کمانڈز کی تعداد کو کم کرتا ہے جو پہلے دوسرے سیلینیم ٹولز کے ذریعہ استعمال ہوتے تھے۔
6. گیج
Selenium Thoughtworks کے تخلیق کاروں نے ویب ایپلیکیشنز پر خودکار ٹیسٹ کرنے کے لیے ایک اور جاوا ٹیسٹنگ فریم ورک جاری کیا ہے۔ Gauge جاوا کے لیے ایک مفت اور اوپن سورس ٹیسٹ آٹومیشن فریم ورک ہے جو کم کوڈ کے ساتھ قبولیت کی جانچ کے بوجھ کو کم کرتا ہے۔ یہ موبائل ویب سائٹس کی جانچ کے لیے ٹیک اسٹیک کے زمرے میں سب سے زیادہ استعمال ہونے والے جاوا ٹیسٹنگ فریم ورک میں سے ایک ہے۔ اس فریم ورک کا استعمال کرتے ہوئے خودکار ٹیسٹ زبان سے قطع نظر پڑھنے میں آسان ٹیسٹ تیار کر سکتے ہیں۔ سیلینیم کی طرح، یہ ٹیسٹنگ فریم ورک متعدد پروگرامنگ زبانوں کو سپورٹ کرتا ہے جن میں روبی، جاوا اسکرپٹ، جاوا، C#، اور ازگر شامل ہیں۔ گیج کی خصوصیات:- استعمال میں آسان، لچکدار نحو؛
- کاروبار جیسی زبان استعمال کرتا ہے۔
- متعدد زبانوں اور پلیٹ فارمز کی حمایت کرتا ہے۔
- بہت سارے پلگ ان۔
- Maven ڈاؤن لوڈ اور انسٹال کریں ؛
- آپریٹنگ سسٹم Microsoft Windows 10 یا اس سے زیادہ؛
- میموری - 512 ایم بی ریم (کم از کم)؛
- گیج پلگ ان کو آپ کے مربوط ترقیاتی ماحول (IDE) کے ساتھ کنفیگر کیا جانا چاہیے یا اگر آپ CMD/ٹرمینل سے ٹیسٹ چلا رہے ہیں تو گیج فریم ورک انسٹال ہونا چاہیے۔
- اسکرپٹ کو پڑھنے کے قابل اور قابل فہم بناتا ہے۔
- استعمال میں آسان، لچکدار نحو اور ہر قسم کی زبانوں (جاوا، جاوا اسکرپٹ، C#، روبی، ازگر، وغیرہ) اور پلیٹ فارمز کے لیے معاونت۔
- آپ کو اپنی پسند کے مربوط ترقیاتی ماحول (IDE) میں ٹیسٹ بنانے کی اجازت دیتا ہے (IntelliJ, Vi VS Code, Visual Studio, Maven, Gradle, Eclipse, etc.)۔
- متوازی جانچ کرتا ہے اور اپنی مرضی کی رپورٹیں تیار کرتا ہے۔
- اعلی درستگی اور پڑھنے کی اہلیت کو برقرار رکھتے ہوئے بڑے ڈیٹا سیٹوں کو آسانی سے جانچتا ہے۔
- گیج ایک نیا فریم ورک ہے، لہذا صارفین اس کے بارے میں زیادہ نہیں جانتے ہیں۔
- گیج IntelliJ کے اندر تصریحات کے محفوظ متوازی نفاذ کی حمایت نہیں کرتا ہے کیونکہ اس حقیقت کی وجہ سے کہ ڈرائیور جامد ہے اور اسے اسکرپٹس کے ساتھ مل کر استعمال کیا جانا چاہیے۔
7. Geb
Geb ایک براؤزر ٹیسٹنگ فریم ورک ہے جو Selenium WebDriver کے اوپر بنایا گیا ہے۔ یہ اسے خودکار ٹیسٹوں کے لیے مثالی بناتا ہے، اور آپ WebDriver کے تعاون یافتہ تمام براؤزرز پر آسانی سے کراس براؤزر ٹیسٹنگ کر سکتے ہیں۔ Geb فرنٹ اینڈ ڈیٹا تجزیہ، ویب ٹیسٹنگ، اور بہت کچھ کے لیے غیر معمولی صلاحیتیں فراہم کرتا ہے۔ جو چیز اسے غیر معمولی بناتی ہے وہ ہے جس طرح سے یہ HTML صفحات سے استفسار کرتا ہے، jQuery جیسا نحو تیار کرتا ہے۔ Geb پلیٹ فارم پیج آبجیکٹ ماڈل کے لیے مقامی مدد بھی پیش کرتا ہے ۔ Geb کو عام سکریپنگ، اسکرپٹنگ اور آٹومیشن کے لیے بھی استعمال کیا جا سکتا ہے۔ یہ ٹیسٹنگ، JUnit اور Spock جیسے ٹیسٹ فریم ورک کے ساتھ انضمام کی بدولت قبولیت کی جانچ، ویب ٹیسٹنگ یا فنکشنل ٹیسٹنگ کے حل کے طور پر اتنا ہی موزوں ہے۔ Geb کی خصوصیات:- مکمل jQuery نحو کی حمایت؛
- اپاچی لائسنس 2.0؛
- WebDriver ہم آہنگ؛
- صفحہ آبجیکٹ ماڈلنگ کی استحکام؛
- گرووی آرٹیکلیشن۔
- آپ کو Maven ڈاؤن لوڈ اور انسٹال کرنے کی ضرورت ہے ۔
- جاوا 8 یا اس کے بعد کی دستیابی؛
- LambdaTest کی توثیق اور تصدیقی اسناد؛
- Geb ٹیسٹ آٹومیشن فریم ورک کے لیے GitHub پر LambdaTest ریپوزٹری کی ایک کاپی ۔
- پیج آبجیکٹ فارم اور Geb's Groovy DSL ٹیسٹوں کو پڑھنے میں آسان بناتے ہیں کیونکہ وہ انگریزی سے کم و بیش ملتے جلتے ہیں۔
- تیز رفتاری سے ٹیسٹ چلاتا ہے اور آپ کے ٹیسٹنگ کے اخراجات بچاتا ہے۔ مختلف براؤزرز جیسے انٹرنیٹ ایکسپلورر، ایچ ٹی ایم ایل یونٹ، فائر فاکس اور کروم کے ساتھ ہم آہنگ۔
- حقیقی وقت میں اور حقیقی ماحول میں ٹیسٹ انجام دیتا ہے—جس کا صارف مشاہدہ کرے گا۔ ایک ہی اسکرپٹ کے اندر ٹیسٹوں کی زیادہ سے زیادہ کارکردگی فراہم کرتا ہے۔
- آپ کو بغیر کسی پریشانی کے ریگریشن ٹیسٹنگ کرنے کی اجازت دیتا ہے۔ آپ یہ چیک کرنے کے لیے Geb ٹیسٹ کیس چلا سکتے ہیں کہ آیا ایپلی کیشن میں ترمیم یا درست کرنے کے بعد کوئی فعال فعالیت ٹوٹ گئی ہے۔
- Geb کا منفی پہلو یہ ہے کہ یہ Groovy زبان میں WebDriver استعمال کرتا ہے۔ لہذا، Webdriver استعمال کرتے وقت صرف وہی مخصوص زبان کی حمایت کی جاتی ہے۔ تاہم، اگر آپ WebDriver کو براہ راست استعمال کرنے کی کوشش کرتے ہیں، تو یہ دوسری زبانوں کو سپورٹ کرے گا، بشمول Java، Ruby، C# اور Python۔
- Geb چھوٹے منصوبوں کے لیے موزوں نہیں ہے، لیکن بڑے کاموں کے لیے اچھا کام کرتا ہے۔ اگر آپ کی ویب ایپلیکیشن میں ایسے صفحات اور فارم شامل نہیں ہیں جن کے ذریعے ڈیٹا کا بہاؤ ہونا ضروری ہے، تو اس کا ڈھانچہ مشکل معلوم ہو سکتا ہے۔
8. سپاک
اسپاک جاوا کے لیے ایک مقبول ٹیسٹ آٹومیشن فریم ورک ہے۔ یہ گرووی میں لکھا گیا ہے اور ٹیسٹرز کو جاوا ورچوئل مشین پر ڈیٹا سے چلنے والے ٹیسٹ چلانے کی اجازت دیتا ہے۔ Spock بہت سی زبانوں کے ساتھ بہترین مطابقت فراہم کرتا ہے جو JVM کو سپورٹ کرتی ہے۔ Spock کی خصوصیات میں سے ایک یہ ہے کہ کوڈ کی دستاویزات اور کوڈ پڑھنے کی اہلیت منظم اور صاف ہے، اس کے علاوہ یہ سادہ انگریزی جملوں کی ترجمانی کر سکتا ہے۔ یہ اکثر جاوا میں انٹرپرائز ایپلی کیشنز بنانے کے لیے سافٹ ویئر ڈویلپرز استعمال کرتے ہیں۔ ان وجوہات کی بناء پر، Spock 2020 میں سب سے زیادہ مقبول اور صارف دوست جاوا ٹیسٹنگ فریم ورک بن گیا ہے۔ اسپاک کی خصوصیات:- حقیقت میں، یہ JUnit Java فریم ورک کا ایک توسیعی ورژن ہے۔
- فرضی اشیاء کے لیے سپورٹ؛
- ٹیسٹ کسی بھی زبان میں لکھے جا سکتے ہیں۔
- تازہ ترین JDK ورژن؛
- چاند گرہن کا تازہ ترین ورژن؛
- جاوا پروگرامنگ زبان کا علم۔
- شاندار پڑھنے کی اہلیت، دوسرے جاوا آٹومیشن ٹیسٹنگ فریم ورک کے مقابلے میں سادہ انگریزی جملوں کے ساتھ مطابقت کو یقینی بنانا۔
- اسپاک کے ساتھ سٹبنگ اور موکنگ پہلے سے کہیں زیادہ آسان اور زیادہ تکلیف دہ ہے۔ اس کے علاوہ، وہ فریم ورک میں بنائے گئے ہیں.
- واضح اور مختصر پیرامیٹرائزیشن۔
- آس پاس کے سیاق و سباق کو برقرار رکھتا ہے، ناکامی کی وجہ کو تلاش کرنا آسان بناتا ہے۔
- آسان اور مواصلاتی ڈومین مخصوص زبان (DSL)۔
- یہ گرووی میں لکھا گیا ہے، لہذا آپ کے پاس گرووی کے بارے میں بنیادی معلومات ہونی چاہئیں۔
- آپ کو اسپاک فریم ورک تھوڑا مشکل لگ سکتا ہے، لیکن ایک بار جب آپ اس سے واقف ہو جائیں گے، تو آپ دوسرے جاوا ٹیسٹ فریم ورک پر سوئچ کرنے کے بارے میں نہیں سوچیں گے۔
9. HttpUnit
HttpUnit ایک وسیع پیمانے پر استعمال شدہ اوپن سورس ٹیسٹنگ فریم ورک ہے۔ یہ آپ کو بغیر کسی براؤزر کی ضروریات کے ویب سائٹس کی جانچ کرنے کی اجازت دیتا ہے۔ HttpUnit ویب ایپلیکیشنز کے لیے خودکار ٹیسٹنگ اسکرپٹ چلانے کے لیے بہترین ہے۔ جیسا کہ نام سے پتہ چلتا ہے، HttpUnit کو یونٹ ٹیسٹ کے لیے استعمال کیا جا سکتا ہے۔ تاہم، عام ویب ٹائر عناصر جیسے سرولیٹ، جے ایس پی (جاواسرور پیجز)، اور دیگر ٹیمپلیٹ عناصر یونٹ ٹیسٹ کے لیے موزوں نہیں ہیں۔ جاوا میں لکھا ہوا، فریم ورک آپ کو واپس کیے گئے صفحات، XML DOM، متن، ٹیبل کنٹینرز، لنکس اور فارمز پر ٹیسٹ چلانے کی اجازت دیتا ہے۔ HttpUnit کی خصوصیات:- کوکی سپورٹ؛
- HTTPS اور HTTP پروٹوکول کی حمایت کرتا ہے؛
- HTML ردعمل کی حمایت؛
- پراکسی سرور سپورٹ؛
- بہترین جاوا اسکرپٹ سپورٹ۔
- سسٹم کو Java JDK 1.4 یا تازہ ترین ورژن کو سپورٹ کرنا چاہیے۔
- اپنے کلاس پاتھ میں HttpUnit کے ساتھ مربوط Tidy.jar اور httpunit.ja شامل کریں۔ یہ بھی یقینی بنائیں کہ XML پارسر پہلے سے انسٹال ہے۔
- اگر آپ جاوا کا پرانا ورژن استعمال کر رہے ہیں، تو آپ کو اپنے کلاس پاتھ پر JAXP-مطابقت پذیر XML پارسر شامل کرنا چاہیے۔
- HttpUnit کا تازہ ترین ورژن اس صفحہ پر دستیاب ہے ۔
- آپ کو ویب ایپلیکیشنز کی جانچ خودکار کرنے کی اجازت دیتا ہے اور ریگریشن ٹیسٹنگ میں مدد کرتا ہے۔
- HTTPUnit کے فوائد میں سے ایک یہ ہے کہ یہ دوسرے ٹیسٹ آٹومیشن فریم ورک جیسے سیلینیم سے بہت تیز ہے۔
- بہترین جاوا اسکرپٹ سپورٹ، جو آپ کو حسب ضرورت براؤزر (IE یا Firefox) کے کام کی نقل کرنے کی اجازت دیتا ہے۔
- HTTPUnit Rhino JavaScript انجن کو اپنی بنیادی زبان کے طور پر استعمال کرتا ہے اور براؤزر کے نفاذ کے لیے بالکل آبجیکٹ پر عمل درآمد فراہم کرتا ہے۔
- مقبول JavaScript لائبریریوں کے یونٹ ٹیسٹ ان یونٹ ٹیسٹوں کی بنیاد پر HtmlUnit کے اپنے یونٹ ٹیسٹوں میں ضم ہوتے ہیں۔ jQuery 1.11.3، MochiKit 1.4.1، MooTools 1.2.1، وغیرہ لائبریریوں کو سپورٹ کرتا ہے، HtmlUnit کے ساتھ بہت اچھا کام کرتا ہے۔
- HtmlPage.executeJavascript (String yourJsCode) کا استعمال کرتے ہوئے موجودہ صفحہ میں کوڈ داخل کرنے کی اہلیت۔
- یہ سادہ ٹیسٹ چلانے کے لیے ایک اچھا آپشن ہے، لیکن پیچیدہ ٹیسٹ بنانے کے لیے بہت زیادہ کوڈ کی ضرورت ہوگی۔
- سیلینیم جیسا ایک فریم ورک زیادہ مخصوص ہے، جو براؤزر پر مرکوز رویے کی اجازت دیتا ہے جو آزمائشی ایپلیکیشنز کو محدود نہیں کرتا ہے۔ HttpUnit فریم ورک کے ساتھ آپ کو کچھ بڑے براؤزرز کے علاوہ محدود سپورٹ ملے گی۔
10. JWebUnit
JWebUnit ایک جاوا پر مبنی ٹیسٹنگ فریم ورک ہے جو JUnit کی توسیع ہے۔ یہ انضمام، ریگریشن اور فنکشنل ٹیسٹنگ کے لیے استعمال ہوتا ہے۔ JWebUnit ایک سادہ ٹیسٹنگ انٹرفیس کے ساتھ موجودہ فعال فریم ورک جیسے HTMLUnit اور Selenium کو یکجا کرتا ہے۔ اس طرح آپ اپنی ویب ایپلیکیشنز کی درستگی کو فوری طور پر چیک کر سکتے ہیں۔ JWebUnit کو اسکرین نیویگیشن ٹیسٹ کرنے کے لیے استعمال کیا جا سکتا ہے۔ یہ پلیٹ فارم ایپلیکیشن کی درستگی کی تصدیق کے لیے ویب ایپلیکیشن کو نیویگیٹ کرنے کے لیے ایک جدید جاوا ایپلیکیشن پروگرامنگ انٹرفیس بھی پیش کرتا ہے۔ اس میں اکاؤنٹ کے لنک نیویگیشن، فارم کے اندراج اور جمع کرانے، ٹیبل کے مواد کا جواز، اور کاروباری ایپلی کیشنز کی دیگر عام خصوصیات کو مدنظر رکھا جاتا ہے۔ JWebUnit کی خصوصیات:- ویب ایپلیکیشن کو نیویگیٹ کرنے کے لیے ٹاپ لیول جاوا API۔
- اوپن سورس جاوا پر مبنی فریم ورک۔
- آپ کو Maven انسٹال کرنے کی ضرورت ہے۔
- JWebUnit کا موجودہ مستحکم ورژن 3.3 ہے۔ جاوا 1.7 درکار ہے۔
- آپ کو مطلوبہ پلگ ان شامل کریں: تیز ٹیسٹوں کے لیے HtmlUnit اور Javascript اور Webdriver کے لیے بہترین تعاون: BETA کوالٹی۔
- Maven 2 استعمال کرتے وقت Eclipse میں انحصار کو منظم کرنے کے لیے، m2e پلگ ان کا استعمال کریں۔
- آن اسکرین نیویگیشن کو جانچنے کے لیے استعمال کیا جاتا ہے۔
- ویب ایپلیکیشنز کو نیویگیٹ کرنے کے لیے ایک اعلیٰ سطح کا API فراہم کرتا ہے۔
- آسانی سے قابل رسائی دعووں کے ساتھ سادہ نیویگیشن آپ کو JUnit یا HtmlUnit استعمال کرنے سے زیادہ تیزی سے ٹیسٹ بنانے کی اجازت دیتی ہے۔
- اگر کوئی HtmlUnit سے دوسری قسم کے پلگ ان جیسے Selenium پر سوئچ کرنا چاہتا ہے، تو ٹیسٹوں کو دوبارہ لکھنے کی ضرورت نہیں ہے۔
GO TO FULL VERSION