سیشنز مفت ہیں — ادائیگی صرف ٹریفک کی کریں
UI موڈ والا کلاؤڈ براؤزر
اسی سیشن کو ایک اصلی براؤزر ٹیب میں کھولیں اور بس دیکھ لیں۔ جب معاملہ بگڑا تو پیج جس حالت میں تھا، آپ کو وہی نظر آتا ہے۔
- خرابی دہرانے کے لیے جاب دوبارہ چلانے کے بجائے چلتے ہوئے سیشن کا لائیو ویو کھولیں
- مشکل CAPTCHA یا اچانک آنے والا 2FA پرامپٹ کسی انسان کے حوالے کریں، پھر اسکرپٹ کو دوبارہ کنیکٹ ہونے دیں
- کوکیز اور پیج کی حالت جوں کی توں رہتی ہیں — صرف کنکشن بدلتا ہے
UI موڈ
سیشن کو
اصلی براؤزر میں کھولیں۔
چلتا ہوا کوئی بھی سیشن لائیو ویو میں کھولا جا سکتا ہے: وہی براؤزر جسے اسکرپٹ چلا رہی تھی، آپ کے اپنے ٹیب میں۔ جو کام اسکرپٹ سے نہیں ہوتا وہ خود کلک کر کے کریں، پھر اسے واپس سونپ دیں۔
کلاؤڈ براؤزر میں UI موڈ کیوں اہم ہے
درمیان میں کہیں ٹوٹ جانے والی ہیڈ لیس اسکرپٹ عموماً آپ کے ہاتھ میں بس ایک اسٹیک ٹریس تھما دیتی ہے۔ شاید ایک لائن نمبر۔ بیس میں سے چودھویں مرحلے پر کون سا کلک چُوکا، یا پیج صحیح طرح لوڈ ہوا بھی تھا یا نہیں، یہ معلوم کرنا آپ کا کام۔
UI موڈ والا کلاؤڈ براؤزر آپ کو دوسرا راستہ دیتا ہے: اسی سیشن کو ایک اصلی براؤزر ٹیب میں کھولیں اور بس دیکھ لیں۔ جب معاملہ بگڑا تو پیج جس حالت میں تھا، آپ کو وہی نظر آتا ہے – نہ بعد میں کنسول آؤٹ پٹ سے اندازہ لگانے کی ضرورت، نہ واضح ایرر میسج کی امید میں پوری جاب پانچ بار دوبارہ چلانے کی۔
یہ سب سے زیادہ ان لاگ اِنز میں کام آتا ہے جن میں اضافی مراحل ہوں، ایسے فارمز میں جو پچھلے جوابات کے مطابق بدلتے ہیں، اور چیک آؤٹ فلوز میں۔ یعنی ہر وہ جگہ جہاں کوئی غیر متوقع پاپ اپ ایسی اسکرپٹ کو خاموشی سے توڑ سکتا ہے جو ایک گھنٹہ پہلے ٹھیک چل رہی تھی، اور اس مخصوص پاپ اپ کے لیے کوئی اصول اس لیے نہیں لکھا گیا کہ کسی کو اس کی توقع ہی نہیں تھی۔
ویژول موڈ کی نمایاں خصوصیات
لائیو ویو کئی مختلف کام انجام دیتا ہے، یہ اس پر منحصر ہے کہ آپ کو اس کی ضرورت کیوں ہے۔ کبھی مقصد کسی بگ کو پکڑنا ہوتا ہے، کبھی اس سے آگے نکلنا۔
اسکرپٹ کی ریئل ٹائم ڈیبگنگ (لائیو ڈیبگنگ)
رکے ہوئے یا ناکام رن کا مطلب عموماً یہ نہیں ہوتا کہ سیشن ختم ہو گیا۔ اکثر وہ وہیں موجود ہوتا ہے، بس کسی سے جڑا ہوا نہیں ہوتا۔ لائیو ویو کھولیں تو آپ اسے عین ناکامی کے دوران براہِ راست دیکھتے ہیں، لاگ فائل سے یہ اندازہ لگانے کے بجائے کہ اس موقع پر پیج شاید کیسا دکھتا ہوگا۔
اس سے ایسے مسائل بھی پکڑے جاتے ہیں جو کوئی واضح ایرر دیتے ہی نہیں – آدھا لوڈ ہوا پیج، لے آؤٹ کی ایسی تبدیلی جس نے کلک کے نیچے سے بٹن ہٹا دیا، یا آدھا سیکنڈ دیر سے ابھرنے والا موڈل۔
انٹرایکٹو سیشن کنٹرول (ہیومن اِن دی لوپ)
کچھ چیزیں اسکرپٹ اپنے طور پر عبور نہیں کر سکتی – مشکل CAPTCHA، اچانک آنے والا 2FA پرامپٹ، یا کوئی ایسا سکیورٹی چیک جس کا کسی نے سوچا ہی نہ تھا۔ ایسے میں آٹومیشن کنکشن بند ہو جاتا ہے، اسی سیشن کا لائیو ویو کھلتا ہے، اور کوئی شخص یہ جھنجھٹ والا حصہ ہاتھ سے کلک کر کے پار کر دیتا ہے۔
اس کے بعد اسکرپٹ دوبارہ کنیکٹ ہو کر وہیں سے آگے چلتی ہے۔ کوکیز، پیج کی حالت، سب کچھ جوں کا توں رہتا ہے – صرف کنکشن بدلا۔ یہ اینٹی ڈیٹیکٹ سیٹ اپ کے ذریعے چلنے والے سیشنز کے لیے بھی اتنا ہی اہم ہے: ایک اینٹی ڈیٹیکٹ براؤزر، جس کا فنگر پرنٹ بظاہر قائل کر دینے والا اور ناقابلِ شناخت ہو، پھر بھی ایسے چیک پر پہنچ سکتا ہے جسے صرف اصلی انسان ہی پار کر سکتا ہے۔
سیشن ریکارڈنگ اور اسکرین شاٹس
سیشن کو لائیو دیکھنا تبھی فائدہ دیتا ہے جب آپ اس وقت موجود ہوں۔ زیادہ تر ڈیبگنگ میں آخر کار بعد میں دیکھنے کے لیے کچھ چاہیے ہوتا ہے – خرابی کے لمحے کا اسکرین شاٹ، مکمل سیشن ریکارڈنگ، یا نیٹ ورک لاگ جس سے پتا چلے کہ اصل میں کیا بھیجا اور وصول کیا گیا۔
ہر کلاؤڈ براؤزر پلیٹ فارم یہ تینوں چیزیں ایک ہی طرح فراہم نہیں کرتا، اس لیے کسی مخصوص فارمیٹ پر ورک فلو بنانے سے پہلے Floppydata سے براہِ راست پوچھ لینا بہتر ہے کہ کیا سپورٹڈ ہے۔ ناکامی سے ذرا پہلے کا اسکرین شاٹ اکثر اکیلا ہی کافی ہوتا ہے؛ ویڈیو اور نیٹ ورک لاگز ان مشکل کیسز میں کام آتے ہیں جہاں کوئی بصری چیز یہ نہیں بتاتی کہ کیا غلط ہوا۔
یہ عملی طور پر کہاں استعمال ہوتا ہے
کچھ صورتیں بار بار سامنے آتی ہیں، اور وہ ظاہری طور پر ہمیشہ ایک جیسی نہیں لگتیں:
-
سائن اپ فلوز اور چیک آؤٹ پر فراڈ چیکس
SMS تصدیق کے پیچھے چھپے سائن اپ فلوز، یا چیک آؤٹ پیجز جو کبھی کبھار فراڈ چیک شروع کر دیتے ہیں – اسکرپٹ میں ان کا حل نکالنا تکلیف دہ ہے، جبکہ ایک بار ہاتھ سے کلک کرنا فوری کام ہے۔
-
اصل بگ اور غیر مستحکم سلیکٹر میں فرق کرنا
QA ٹیمیں یہ جانچتی ہیں کہ ناکام اینڈ ٹو اینڈ ٹیسٹ اصل بگ ہے یا محض غیر مستحکم سلیکٹر، پوری سویٹ کو اندھا دھند دوبارہ چلانے کے بجائے۔
-
کسٹمر کی بتائی ہوئی خرابی کو دہرانا
سپورٹ ٹیمیں وہ بگ دہراتی ہیں جو کسٹمر نے بیان تو کیا مگر ٹھیک سے اسکرین شاٹ نہ لے سکا۔
-
تصدیق کہ پیج توقع کے مطابق رینڈر ہوا
اسکریپنگ جابز یہ تصدیق کرتی ہیں کہ پیج واقعی ویسا رینڈر ہوا جیسا سلیکٹر توقع کرتا ہے، اس سے پہلے کہ یہ فرض کیا جائے کہ سلیکٹر خود خراب ہے۔
-
اسے لائیو چلتے دکھانا
کلائنٹ ڈیموز، جہاں کسی چیز کو لائیو چلتے دکھانا، کسی سے ٹرمینل لاگ پر بھروسا کرنے کو کہنے سے کہیں بہتر ہے۔
اپنی اسکرپٹ میں UI / لائیو ویور کیسے فعال کریں
ایک سیشن بیک وقت آٹومیشن کنکشن اور لائیو ویو نہیں چلا سکتا۔ ایک کو بند کرنے سے دوسرے کا راستہ کھلتا ہے، اور بعد میں واپس سوئچ کرنے میں اتنا ہی وقت لگتا ہے جتنا ہٹنے میں لگا تھا:
- اسکرپٹ اپنے موجودہ سیشن سے ڈسکنیکٹ ہو جاتی ہے۔
- اسی سیشن کے لیے لائیو ویو طلب کیا جاتا ہے اور براؤزر ٹیب میں کھولا جاتا ہے۔
- جو بھی چیز سنبھالنی ہو، انسان اسے سنبھالتا ہے – CAPTCHA، 2FA کوڈ، یا ایک بار آنے والی منظوری کی اسکرین۔
- اسکرپٹ سیشن سے نیا کنکشن مانگتی ہے اور عین وہیں سے دوبارہ شروع کرتی ہے جہاں چھوڑا تھا۔
await browser.close(); // hand off to a human// POST /v2/browser/sessions/{id}/live-view -> { liveViewUrl }// person opens liveViewUrl, solves the CAPTCHA / 2FA prompt// GET /v2/browser/sessions/{id} -> fresh connectUrl, script resumes connectUrl اور liveViewUrl دونوں کو پاس ورڈ کی طرح سنبھالیں: انہیں کہیں لاگ نہ کریں، سپورٹ ٹکٹ میں پیسٹ نہ کریں، اور ضرورت سے زیادہ دیر پرانا لنک رکھنے کے بجائے نیا طلب کریں۔