সেলেনিয়াম সাক্ষাত্কার প্রশ্নের এই টিউটোরিয়ালে, আমরা সেলেনিয়াম অটোমেশন ফ্রেমওয়ার্কের সাক্ষাত্কারের আরও উন্নত প্রশ্নগুলির পাশাপাশি সমস্ত সমালোচনামূলক সেলেনিয়াম সাক্ষাত্কারের প্রশ্নগুলিও অন্তর্ভুক্ত করব his এই টিউটোরিয়ালটি তিনটি বিভাগে বিভক্ত:
সেলেনিয়াম ফ্রেমওয়ার্ক সাক্ষাত্কারের প্রশ্নসমূহ
অগ্রিম সেলেনিয়াম সাক্ষাত্কারের প্রশ্নগুলি
ইন্টারমিডিয়েট সেলেনিয়াম সাক্ষাত্কার প্রশ্ন
বিঃদ্রঃ : এই সেলেনিয়াম সাক্ষাত্কার প্রশ্নাবলী এবং উত্তর টিউটোরিয়ালটির কেন্দ্রবিন্দু হল সবচেয়ে সমালোচনামূলক এবং জটিল প্রশ্নপত্রটি আলোচনা করা কারণ আপনি ইতিমধ্যে প্রাথমিক প্রশ্নাবলী সম্পর্কে সচেতন হতে পারেন।
প্রাথমিকভাবে আমরা অগ্রিম সেলেনিয়াম ফ্রেমওয়ার্ক সাক্ষাত্কারের প্রশ্ন এবং উত্তরগুলি দিয়ে শুরু করব এবং তারপরে ক্রিটিকাল / অ্যাডভান্সড সেলেনিয়াম সাক্ষাত্কার প্রশ্ন এবং উত্তরগুলি এগিয়ে নিয়ে যাব এবং শেষ পর্যন্ত আমরা মধ্যবর্তী স্তরের সাথে এই টিউটোরিয়ালটি শেষ করব যাতে আপনি ভাল প্রস্তুতি নিতে পারেন।

সেলেনিয়াম ফ্রেমওয়ার্ক সাক্ষাত্কারের প্রশ্নসমূহ
অগ্রিম সেলেনিয়াম সাক্ষাত্কারের প্রশ্নগুলি
ইন্টারমিডিয়েট সেলেনিয়াম সাক্ষাত্কার প্রশ্ন
সেলেনিয়াম ফ্রেমওয়ার্ক সাক্ষাত্কারের প্রশ্নসমূহ:
সেলেনিয়াম কাঠামোর কতগুলি জনপ্রিয় ধরণের রয়েছে?
চারটি বিভিন্ন ধরণের সেলেনিয়াম কাঠামো রয়েছে, যা রয়েছে:
পেজ অবজেক্ট মডেল ফ্রেমওয়ার্কটি ডিজাইন করার জন্য কতগুলি ভিন্ন পন্থা রয়েছে?
সেলেনিয়ামে পেজ কারখানাটি কী?
পেজ ফ্যাক্টরিটি সেলেনিয়াম লাইব্রেরির একটি ক্লাস যা org.openqa.selenium.support নামে পরিচিত একটি প্যাকেজ যা পৃষ্ঠা অবজেক্ট মডেল কাঠামোতে পৃষ্ঠা অবজেক্ট ডিজাইনের প্যাটার্ন ডিজাইন করতে সহায়তা করে, যার কয়েকটি প্রয়োগ রয়েছে যেমন:
ক্লাসিক পৃষ্ঠা অবজেক্ট মডেল এবং কাস্টমাইজড পৃষ্ঠা অবজেক্ট মডেলের মধ্যে কী ডিজাইনের পার্থক্য রয়েছে?
সুতরাং প্রতিটি ওয়েবপৃষ্ঠায় পৃষ্ঠার স্তরের ওয়েব ক্রিয়াকলাপ এবং তাদের শ্রদ্ধার দৃser়তার জন্য লোকেটার এবং 1 শ্রেণি সংরক্ষণের জন্য একটি ইন্টারফেস থাকতে হবে।
পেজ অবজেক্ট মডেল ফ্রেমওয়ার্কের নকশা নীতিটি কী?
পৃষ্ঠা অবজেক্ট মডেল কাঠামোর ডিজাইনের নীতিটি নীতি বা ধারণার উপর ভিত্তি করে তৈরি করা হয়, যা হ'ল:
সুতরাং, সমস্ত পৃষ্ঠা ক্রিয়াকলাপ (ওয়েব পৃষ্ঠার কার্যকারিতার বিভিন্ন ক্রিয়াকলাপ) সম্পর্কিত পৃষ্ঠা শ্রেণিতে থাকে।
পেজ অবজেক্ট মডেল এবং হাইব্রিড পৃষ্ঠা অবজেক্ট মডেলের মধ্যে মূল পার্থক্য উল্লেখ করুন?
পেজ অবজেক্ট মডেল এবং হাইব্রিড পৃষ্ঠা অবজেক্ট মডেলের মধ্যে পার্থক্য হ'ল হাইব্রিড পেজ অবজেক্ট মডেল ডেটা-চালিত ফ্রেমওয়ার্কের বিস্তৃত বৈশিষ্ট্যগুলির সাথে পেজ অবজেক্ট মডেল ফ্রেমওয়ার্ক ডিজাইনের উপর ভিত্তি করে ডেটা অপারেশন ইউটিলিটিগুলির বিভিন্ন ধরণের যেমন নীচের মতো সমর্থন করে :
শসা-বিডিডি কাঠামোয় পার্সার ভাষাটি কী ব্যবহৃত হয়?
শসা-বিডিডি ফ্রেমওয়ার্কে ব্যবহৃত ভাষা পার্সারটি হলেন গেরকিন।
ঘেরকিন ভাষা কী?
ঘেরকিন হ'ল ডিএসএল (ডোমেন স্পেসিফিক ল্যাঙ্গুয়েজ) এবং ইংরেজী ভাষার মতো ভাষা যা খুব বেশি পঠনযোগ্য এবং বোধগম্য (যেমন, দিন (), কখন (), তারপরে () ইত্যাদি)
ঘেরকিনে প্রদত্ত () দ্বারা আপনি কী বোঝাতে চান?
প্রদত্ত () পদ্ধতিতে কিছু পরিস্থিতি বা দৃশ্যপট দেওয়া বা বিবৃত করা হয়েছে।
ঘেরকিনে () বলতে কী বোঝ?
কখন () অর্থ যখন আপনি কিছু অপারেশন করেন।
ঘেরকিনে ততক্ষণে () বলতে কী বোঝ?
তখন () প্রদত্ত ()। (যখন।) দ্বারা ক্রিয়াকলাপ সম্পাদন করার পরে assertions হিসাবে ব্যবহৃত হয়।
কাঠামোর অংশ হিসাবে আপনি কোন সিআই সরঞ্জাম ব্যবহার করবেন?
আমরা জেনকিন্স (প্রধানত) ওপেন সোর্স সিআই সরঞ্জাম হিসাবে ব্যবহার করি।
কাঠামোর অংশ হিসাবে আপনি কোন বিল্ড টুলটি ব্যবহার করেন?
আমরা মাভেন / গ্রেডল / পিঁপড়ার মতো বিল্ড সরঞ্জামগুলি ব্যবহার করি (এটি আগে ব্যবহৃত হয়েছিল)।
মেভেন এবং গ্রেডলের মধ্যে মূল পার্থক্য কী?
গ্রেডল হ'ল ম্যাভেন কী সম্পাদন করে তার উন্নত সংস্করণ এবং এর সাথে আমরা কাজগুলিও তৈরি করতে পারি (এএনটিতে উপস্থিত বৈশিষ্ট্যটির মতো), তাই আমরা উচ্চ স্তরে বিবেচনা করতে পারি:
গ্রেডল >> >> মাভেন + পিপীলিকা
সেলেনিয়াম সি # এর অংশ হিসাবে, আমরা গ্যালিওকে একটি বিল্ড টুল হিসাবে ব্যবহার করি।
আমরা সেলেনিয়াম অটোমেশন কাঠামোর অংশ হিসাবে যে ইউনিট টেস্ট ফ্রেমওয়ার্কটি ব্যবহার করি তা কী?
সেলেনিয়ামের সাথে অটোমেশন কাঠামোটি তৈরি করার সময় আমরা ইউনিট পরীক্ষার কাঠামোর অংশ হিসাবে টেস্টএনজি / জুনিত (আজকাল জুনিত কম ব্যবহৃত হয়) ব্যবহার করি।
সেলেনিয়াম সি # কাঠামোর অংশ হিসাবে, আমরা ইউনিট পরীক্ষার কাঠামো হিসাবে NUnit / MbUnit ব্যবহার করি।
সেলেনিয়াম কাঠামোর অংশ হিসাবে রিপোর্টিং সরঞ্জামগুলি ডিজাইন করার সময় কোন পদ্ধতির বিষয়টি বিবেচনা করা যেতে পারে?
ফ্রেমওয়ার্ক ডিজাইন করার সময় আমরা গ্রহণ করতে পারি এমন বিভিন্ন প্রতিবেদনের পদ্ধতি:
এই ওপেন সোর্স রিপোর্টিং সরঞ্জামগুলির ইন্টিগ্রেশন ছাড়াও, আমরা নীচের প্রযুক্তিগুলি এবং সরঞ্জামগুলির সাথে বিল্ড করার জন্য কিছু উন্নত প্রতিবেদন বৈশিষ্ট্য বা ড্যাশবোর্ড বেছে নিতে পারি:
আপনি কীভাবে সেলেনিয়াম ফ্রেমওয়ার্কের সাথে রিপোর্টিং ড্যাশবোর্ড তৈরি করতে ELK ব্যবহার করবেন:
অটোমেশন ড্যাশবোর্ড ডিজাইন করতে ব্যবহৃত হচ্ছে একটি বেসিক বেস ডিজাইন নীতি, যা হ'ল:
আপনি কীভাবে একটি HTML কাস্টমাইজড প্রতিবেদন তৈরি করবেন?
আপনি টেস্টএনজি দ্বারা প্রদত্ত বিভিন্ন শ্রোতা এবং সাংবাদিক ইন্টারফেসগুলি ইভেন্টগুলি এবং তাদের সম্পর্কিত ডেটা সেটগুলি রেকর্ড করতে এবং রিপোর্ট ব্যবহারের জন্য এই ডেটা সেট এবং এইচটিএমএল ট্যাগ ব্যবহার করে এইচটিএমএল তৈরি করতে পারেন।
কাঠামো তৈরির সময় আপনি কী কী চ্যালেঞ্জগুলির মুখোমুখি হয়েছিলেন?
কাঠামোগত বিকাশকালে আপনার অভিজ্ঞতা অনুসারে বিভিন্ন চ্যালেঞ্জগুলি উল্লেখ করতে পারেন, উদাহরণস্বরূপ:
আপনার সেলেনিয়াম ফ্রেমওয়ার্কে আপনি যে সমস্ত সেলেনিয়াম উপাদান ব্যবহার করেছেন তা উল্লেখ করুন?
আপনি আপনার কাঠামোর উপর নির্ভর করে উল্লেখ করতে পারেন।
আপনার অটোমেশন কাঠামোর প্রবাহ কি?
আপনি আপনার ফ্রেমওয়ার্ক প্রবাহ এবং আপনি যে সরঞ্জামগুলি ব্যবহার করেছেন তার উপর নির্ভর করে আপনার কাঠামোর কার্য সম্পাদনের প্রবাহ উল্লেখ করতে পারেন; নীচে একটি উদাহরণ আপনি উল্লেখ করতে পারেন:
সিআই (জেনকিনস) → বিল্ড টুলস (ম্যাভেন /Gradle) → ইউনিট টেস্ট ফ্রেমওয়ার্ক (টেস্টএনজি) → টেস্টএনজি.এক্সএমএল - >> টেস্টক্লাসস → বেসস্টেস্ট (প্রতিটি টেস্ট ক্লাস বেসটেষ্ট হিসাবে বেস ক্লাস প্রসারিত করে যেখানে @bearClass / @ এর আগেসুইট ক্লাস ইত্যাদি প্রস্থান করে) -> টেস্টমেথডস od পেজ ক্লাস → পৃষ্ঠা পদ্ধতি → ওয়েব ইউটিলিটিস ( ওয়েবঅ্যাকশন ইউটিলিটিগুলির জন্য পুনরায় ব্যবহারযোগ্য শ্রেণি) - >> ইউটিলগুলি রিপোর্ট করা
ডেটা-চালিত কাঠামোর দ্বারা আপনি কী বোঝেন এবং আমরা কোথায় ডেটা চালিত কাঠামো ব্যবহার করব?
একটি ডেটা-চালিত কাঠামো মূলত এমন একটি কাঠামো যা ডেটা দ্বারা চালিত। যা বলেছে যে একই অ্যাপ্লিকেশন বা সেই ধরণের অ্যাপ্লিকেশন যেখানে একই টেস্টের কেসগুলি বা পরিস্থিতি বিভিন্ন ডেটা সেটগুলির সাথে বেশ কয়েকবার কার্যকর করা হয় বা উত্স বা ডেটা এমন ক্ষেত্রে যেমন আমাদের বিভিন্ন ধরণের যোগাযোগের প্রয়োজন সেখানে ডেটা উত্সগুলি আমরা ডেটা-চালিত কাঠামো ব্যবহার করি।
বিভিন্ন ডেটা উত্স হতে পারে:
একটি সাক্ষাত্কারে সেলেনিয়াম অটোমেশন কাঠামো কীভাবে ব্যাখ্যা করবেন?
একটি সাক্ষাত্কারে সেলেনিয়াম অটোমেশন কাঠামোর ব্যাখ্যা করতে আপনি নিতে পারেন বিভিন্ন পন্থা; সর্বোত্তম সম্ভাব্য পদ্ধতির মডুলার পদ্ধতির হতে পারে, যা ব্যাখ্যাটিকে পৃথক পৃথক মডিউলগুলিতে বিভক্ত করে যেমন:
আসুন বিস্তারিত আলোচনা করুন:
ফ্রেমওয়ার্কের ধরণ এবং ফ্রেমওয়ার্কের কী এবং অনন্য বৈশিষ্ট্য:
আপনার কাঠামোর ধরণের যেমন হাইব্রিড ফ্রেমওয়ার্ক, পৃষ্ঠা অবজেক্ট মডেল ফ্রেমওয়ার্ক, হাইব্রিড পেজ অবজেক্ট মডেল ফ্রেমওয়ার্ক ইত্যাদি উল্লেখ করতে হবে etc.
আপনাকে কাঠামোর অনন্য বৈশিষ্ট্যগুলি উল্লেখ করতে হবে যেমন উদাহরণস্বরূপ:
সেলেনিয়াম কাঠামোয় ব্যবহৃত সরঞ্জাম এবং প্রযুক্তি:
ফ্রেমওয়ার্কটি বিকাশের সময় আপনি ব্যবহৃত সরঞ্জাম ও প্রযুক্তিগুলির উল্লেখ করতে পারেন, যেমন:
সেলেনিয়াম ফ্রেমওয়ার্ক কার্যকর করার প্রবাহ:
আপনি ফ্রেমওয়ার্ক কার্যকর করার প্রবাহের উল্লেখ করতে পারেন, উদাহরণস্বরূপ, আপনি কীভাবে পরীক্ষার স্যুটগুলি ট্রিগার করবেন এবং কীভাবে এটি পরীক্ষার কেস / পদ্ধতিগুলিতে প্রবাহিত হবে এবং ফ্রেমওয়ার্ক ইউটিলগুলি যেমন ওয়েবটুইলস, ডেটা ব্যবহারগুলি, ইত্যাদি পর্যন্ত আপনি উপরের প্রশ্নটি উল্লেখ করতে পারেন যেখানে আমরা সেলেনিয়াম কাঠামোর কার্যকর করার প্রবাহকে কীভাবে ব্যাখ্যা করব তা নিয়ে আলোচনা করেছি।
আপনার কাঠামোর দ্বারা পরিচালিত বিভিন্ন সমালোচনামূলক দৃশ্য:
এই মডিউলটিতে, আপনি আপনার কাঠামোর সাহায্যে আপনার অ্যাপ্লিকেশন অটোমেশনের অংশ হিসাবে স্বয়ংক্রিয়ভাবে তৈরি হওয়া সমালোচনামূলক বৈশিষ্ট্যগুলি নিয়ে আলোচনা করতে পারেন। আপনি এখানে উল্লেখ করতে পারেন এমন অনেকগুলি ব্যবহারের কেস বা বৈশিষ্ট্য থাকতে পারে যেমন:
সেলেনিয়াম কাঠামোর মধ্যে লগিং পরিস্থিতিতে কীভাবে ডিজাইন করবেন?
লগিংয়ের জন্য আপনি লগ 4 জ ব্যবহার করতে পারেন, বা আপনি গ্রেলোগের সাথে রিয়েল-টাইম লগিং এবং ডিবাগিং ড্যাশবোর্ড বাস্তবায়ন ব্যবহার করতে পারেন, যা মূলত রিয়েল-টাইম লগিং এবং ডিবাগিং বিশদের জন্য ব্যাকএন্ডে ইলাস্টিক অনুসন্ধান ব্যবহার করে।
ফ্রেমওয়ার্ক ডিজাইনের সময় আপনি কী ডিজাইনের ধরণগুলি ব্যবহার করেছেন?
আপনি অটোমেশন কাঠামোর প্রয়োজন এবং নকশা অনুযায়ী বিভিন্ন নকশার নিদর্শনগুলি ব্যবহার করতে পারেন, যেমন:
সমালোচক বা অগ্রিম সেলেনিয়াম সাক্ষাত্কারের প্রশ্নগুলি:
আপনি আপনার অটোমেশন স্ক্রিপ্ট সমান্তরালভাবে চালাতে পারেন?
একাধিক উপায় এবং পদ্ধতি রয়েছে যার মাধ্যমে আপনি আপনার পরীক্ষার স্ক্রিপ্টগুলি সমান্তরালভাবে চালাতে পারেন, যেমন:
মাভেন:
নিশ্চিতফায়ার প্লাগইন ব্যবহার:
৫
সত্য
এখানে কাঁটাচামচ গণনা সমান্তরাল থ্রেড গণনার সংখ্যা উপস্থাপন করে।
গ্রেডল:
tasks.withType(Test) {
maxParallelForks = Runtime.runtime.availableProcessors()
}
সেটস্পিড () এবং স্লিপ () পদ্ধতির মধ্যে পার্থক্য কী?
সেলেনিয়ামে সেটস্পিড () পদ্ধতিটি মূলত প্রতিটি ক্রিয়া / কমান্ডের নির্বাহের গতি নির্ধারণ করে।
সুতরাং আসুন আমরা যদি বলি যে আপনি স্পীড ("2000") সেট করেন, তবে মৃত্যুদণ্ডের প্রতিটি লাইন 2000 মিলিসেকেন্ডে বিলম্বিত হবে।
অন্যদিকে, থ্রেড.স্লিপ () একটি 3000 মিলিসেকেন্ড বিলম্ব প্রবর্তন করবে (এটি নির্দিষ্ট ক্রিয়াকলাপের জন্য থ্রেড স্থগিত করবে)।
সুতরাং ঘুম () 1 টি অপারেশনে প্রয়োগ করা হয়; অন্যদিকে, সেটস্পিড () প্রতিটি এবং প্রতিটি ক্রিয়াকলাপের জন্য বিলম্বের পরিচয় দেয় এবং এভাবে সম্পাদনের গতি নির্ধারণ করে।
সেলেনিয়াম সহ স্ক্রোলবারের উপস্থিতি যাচাই করবেন কীভাবে?
সেলেনিয়াম সহ ওয়েবপৃষ্ঠায় অনুভূমিক স্ক্রোল বারটি যাচাই করতে, আমরা নীচের পদ্ধতিতে জাভাস্ক্রিপ্টেক্সেক্টর ব্যবহার করি:
JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
Boolean presenceOfHorizontalScroll = (Boolean) javascriptExecutor.executeScript("return document.documentElement.scrollWidth>document.documentElement.clientWidth;");
ওয়েবপেজে উল্লম্ব স্ক্রল বারটি ব্যবহার করে যাচাই করতে সেলেনিয়াম ওয়েবড্রাইভার এছাড়াও আমাদের Javascriptexecutor ব্যবহার করতে হবে :
JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
Boolean presenceOfVerticalScroll = (Boolean) javascriptExecutor.executeScript("return document.documentElement.scrollHeight>document.documentElement.clientHeight;");
সেলেনিয়াম ওয়েবড্রাইভারে কোনও লুকানো ওয়েব উপাদানগুলি পরিচালনা করতে কোড লিখবেন?
WebElement element=driver.findElement(By.id("id_of_Element"));
JavascriptExecutor jsExecutor = (JavascriptExecutor)driver;
jsExecutor.executeScript("arguments[0].click();", element);
সেলেনিয়াম ওয়েবড্রাইভার ব্যবহার করে উইন্ডো ভিত্তিক পপ আপ পরিচালনা করতে বিভিন্ন পদ্ধতির উল্লেখ করুন?
উইন্ডো ভিত্তিক অ্যাপ্লিকেশন যেমন উইন্ডো পপ আপ হ্যান্ডেল করতে আপনি নীচের পদ্ধতিগুলি ব্যবহার করতে পারেন:
ওয়েবড্রাইভারের প্যারেন্ট ইন্টারফেসটি কী?
অনুসন্ধানকন্টেক্সট
পিওআই এবং জেএক্সএল জারগুলির মধ্যে মূল পার্থক্য উল্লেখ করুন?
পিওআই শর্তসাপেক্ষ বিন্যাসকরণ, সমৃদ্ধ পাঠ্য বিন্যাস বা xlsx ফর্ম্যাটকে সমর্থন করে তবে অন্যদিকে, জেএক্সএল এই বৈশিষ্ট্যগুলির কোনওটির পক্ষে সমর্থন করে না support
জেএক্সএল এর তুলনায় পিওআই লাইব্রেরি রক্ষণাবেক্ষণ এবং আপডেট করা হয়।
সেলেনিয়াম ব্যবহার করে আপনি কীভাবে আপনার নেটওয়ার্কের বিলম্বগুলি পরিচালনা করবেন?
সেলেনিয়াম ব্যবহার করে আমরা নেটওয়ার্কের বিলম্বিতা পরিচালনা করতে নিম্নলিখিতটি ব্যবহার করতে পারি:
ড্রাইভার.মানেজ.পেজ লোডিংটাইম
সেলেনিয়াম ওয়েবড্রাইভারের সাথে অ্যাজাক্স সামগ্রী পরীক্ষার জন্য আপনি কী কী পদ্ধতি গ্রহণ করবেন?
এজেএক্স মূলত অ্যাসিনক্রোনাস জাভাস্ক্রিপ্ট এবং এক্সএমএল। এজেএক্স-ভিত্তিক অ্যাপ্লিকেশনটির সমস্ত যোগাযোগ অ্যাসিনক্রোনাস কলগুলির উপর ভিত্তি করে,
যা ওয়েবপৃষ্ঠাকে রিফ্রেশ না করে কোনও অনুষ্ঠান সম্পাদনের অনুমতি দেয়। প্রতিটি ক্রিয়াকলাপ অন্যান্য ইভেন্ট থেকে স্বতন্ত্রভাবে সম্পাদন করা যায়।
AJAX কল ইন এর সাথে কাজ করার সময় কি কি চ্যালেঞ্জ আছে সেলেনিয়াম ওয়েবড্রাইভার?
এজেএক্স অ্যাপ্লিকেশনটির সাথে কাজ করতে, আপনাকে উপরের বর্ণিত ব্যবহারের ক্ষেত্রে অপেক্ষা করতে হবে:
সেলেনিয়াম ওয়েবড্রাইভারে প্রক্সি নিয়ে কাজ করার পদ্ধতি কী?
সেলেনিয়াম ওয়েবড্রাইভারে আপনি প্রক্সি পরিচালনা করতে পারেন এমন দুটি পৃথক পদ্ধতি রয়েছে:
Proxy proxy=new Proxy();
proxy.setHttpProxy("localhost:8889");
DesiredCapabilities capabilities=new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY, proxy);
WebDriver driver=new FirefoxDriver(capabilities);
ওয়েবড্রাইভারে সিঙ্ক্রোনাইজেশন অর্জনের উপায়গুলি উল্লেখ করুন?
আমরা বিভিন্ন ওয়েট মেকানিজম ব্যবহার করে সেলেনিয়াম ওয়েবড্রাইভারে সিঙ্ক্রোনাইজেশন পরিচালনা করতে পারি:
টেস্টএনজি @ বিফারওয়েস্ট এবং @ বিপোয়ারমথোডের মধ্যে মূল পার্থক্য উল্লেখ করুন?
টেস্টএনজিতে @ বিফারওয়েস্ট এবং @ বিওরমাথোদ এর বিভিন্ন দিক রয়েছে:
সেলেনিয়ামে উপস্থিত বিভিন্ন ধরণের ওয়েবড্রাইভার এপিআই তালিকাবদ্ধ করবেন?
সেলেনিয়ামের সাথে আপনি কত উপায়ে মাথাবিহীন কার্যকর করতে পারবেন?
সেলেনিয়ামের সাথে হেডলেস অটোমেশন অর্জন করতে আমরা নীচের ড্রাইভারগুলি ব্যবহার করতে পারি:
সেলেনিয়াম ওয়েবড্রাইভারে সাবলীল অপেক্ষা কী?
ফ্লুওয়েট দিয়ে আপনি একটি নির্দিষ্ট শর্ত পূরণের জন্য অপেক্ষা করার জন্য সর্বাধিক সময় নির্ধারণ করতে পারেন (আসুন 3 মিনিট বলুন) এবং সেই সময় আপনি একটি নির্দিষ্ট ফ্রিকোয়েন্সি (ক্রমের খুব ছোট ইউনিট, অবিরত 3) দিয়ে অবিচ্ছিন্নভাবে পোল বা পরীক্ষা করবেন will সেকেন্ড) চেক।
যদি শর্তটি পূরণ করা হয়, তবে এটি সত্য হবে এবং যদি তা না হয় তবে এটি একটি "এলিমেন্টনটভিজিবল এক্সেপশন" ব্যতিক্রম ছুঁড়ে ফেলবে।
সেলেনিয়ামে ফ্লাইটওয়েটের সিনট্যাক্সটি হ'ল:
Wait fluentWait = new FluentWait(driver).withTimeout(100, TimeUnit.SECONDS)
.pollingevery(2, TimeUnit.SECONDS)
.ignoring(ElementNotVisibleException.class);
সেলেনিয়াম ওয়েবড্রাইভারের সাথে কাজ করার সময় আপনি যে কিছু সেলেনিয়াম ব্যতিক্রমের মুখোমুখি হয়েছিলেন তা বলুন?
আপনি কীভাবে সেলেনিয়ামে কুকি মুছবেন?
সেলেনিয়ামের কুকিগুলি মুছে ফেলার আদেশটি হ'ল:
driver.manage().deleteAllCookies();
পদ্ধতির ব্যাখ্যা করুন যে আপনি সেলেনিয়াম ওয়েবড্রাইভারে জাভাস্ক্রিপ্ট পরিবর্তনশীলটি কীভাবে পড়বেন?
এটি করতে সক্ষম হতে আমাদের জাভাস্ক্রিপ্টএক্সেক্টর ব্যবহার করতে হবে।
JavascriptExecutor jsExecutor = (JavascriptExecutor) webdriver;
String jsVariable = (String.valueOf(jsExecutor.executeScript("return document.title")));
সেলেনিয়ামে কীভাবে জুম ইন এবং ব্রাউজার অপারেশন জুম করবেন?
দুটি আলাদা পদ্ধতির ব্যবহার করে আমরা সেলেনিয়ামে জুম ইন এবং জুম আউট পরিচালনা করতে পারি:
সেলেনিয়ামে রোবট ক্লাসটি ব্যবহার করে জুম করুন
Robot robotInstance = new Robot();
//Zoom in
robotInstance.keyPress(KeyEvent.VK_CONTROL);
robotInstance.keyPress(KeyEvent.VK_ADD);
robotInstance.keyRelease(KeyEvent.VK_ADD);
robotInstance.keyRelease(KeyEvent.VK_CONTROL);
সেলেনিয়ামে রোবট ক্লাস ব্যবহার করে জুম আউট করুন
Robot robotInstance = new Robot();
robotInstance.keyPress(KeyEvent.VK_CONTROL);
robotInstance.keyPress(KeyEvent.VK_SUBTRACT);
robotInstance.keyRelease(KeyEvent.VK_SUBTRACT);
robotInstance.keyRelease(KeyEvent.VK_CONTROL);
সেলেনিয়ামে কী ক্লাস ব্যবহার করে জুম করুন
driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL,Keys.ADD));
সেলেনিয়ামে রোবট ক্লাস ব্যবহার করে জুম আউট করুন
driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL,Keys.SUBTRACT));
ক্লিন () পদ্ধতিটি ব্যবহার না করে সেলেনিয়ামের ক্ষেত্রটি কীভাবে সাফ করবেন?
আমরা নীচের পদ্ধতির মধ্যে পরিষ্কার () পদ্ধতিটি ব্যবহার না করে যে কোনও ক্ষেত্র সাফ করতে পারি:
আমরা এটি অর্জনের জন্য সেলেনিয়ামের কী শ্রেণি ব্যবহার করতে পারি:
WebElement element = driver.findElement(By.id("id_of_Element"));
element.sendKeys(Keys.chord(Keys.CONTROL, "a"));
element.sendKeys(Keys.DELETE);
সেলেনিয়ামে ব্যর্থ পরীক্ষার মামলাগুলি কীভাবে পুনরায় চালিত করবেন?
নীচে দুটি পদ্ধতির মধ্যে আমরা সেলেনিয়ামে ব্যর্থ পরীক্ষার মামলাগুলি পুনরায় চালু করতে পারি:
স্বয়ংক্রিয়ভাবে উত্পন্ন টেস্টএনজি-ব্যর্থ.এক্সএমএল সহ:
পরীক্ষার প্রয়োগের পরে (টেস্টএন.এক্সএমএল থেকে চালিত), টেস্টএনজি স্বয়ংক্রিয়ভাবে টেস্টএনজি-ব্যর্থ.এক্সএমএল উত্পাদন করে; আপনি কেবলমাত্র ব্যর্থ পরীক্ষাগুলি চালাতে একই এক্সএমএল পুনরায় চালু করতে পারেন।
প্রয়োগ করে IRetryAnalyzer ইন্টারফেস টেস্টএনজি থেকে :
ইন্টারফেস IRetryAnalyzer প্রয়োগ করে আমরা স্বয়ংক্রিয়ভাবে টেস্টএনজি দিয়ে ব্যর্থ পরীক্ষাগুলি পুনরায় চালু করতে পারি:
If you implement the IRetryAnalyzer you can auto rerun failed test with TestNg :
public class Retry implements IRetryAnalyzer {
int counter = 1;
int retryMaxLimit = 3;
public boolean retry(ITestResult result) {
if (counter < retryMaxLimit) {
counter++;
return true;
}
return false;
}
}
সেলেনিয়াম ওয়েবড্রাইভারে এলিমেন্টটি কীভাবে হাইলাইট করবেন?
উপাদানটির উল্লেখ করে ওয়েবেলেটের রঙ নির্ধারণ করতে আমরা জাভাস্ক্রিপ্টএক্সেক্টর ব্যবহার করতে পারি।
WebElement element = driver.findElement(By.xpath("id_of_the_element"));
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
jsExecutor.executeScript("arguments[0].setAttribute('style', 'background: red; border: 2px solid red;');", element);
সেলেনিয়ামে ডাবল ক্লিক করবেন কীভাবে?
আমরা ব্যবহার করতে পারেন সেলেনিয়ামে অ্যাকশন ক্লাস নিচের পদ্ধতিতে DoubleClick অপারেশন সম্পাদন করতে। নিচের পদ্ধতিটি একটি আর্গুমেন্ট নেয় যার উপর আপনাকে DoubleClick করতে হবে।
public void doubleClick(By locator) {
try {
WebElement element = driver.findElement(locator);
Actions actions = new Actions(driver).doubleClick(element);
BASE_LOGGER.info("Performed the double Click on the Element : " + locator);
} catch (StaleElementReferenceException e) {
BASE_LOGGER.error("Element is not attached to the page document " + e.getCause().getMessage());
} catch (NoSuchElementException e) {
BASE_LOGGER.error("Element " + locator + " was not found in DOM " + e.getCause().getMessage());
} catch (Exception e) {
BASE_LOGGER.error("Element " + locator + " was not clickable " + e.getCause().getMessage());
}
}
সেলেনিয়ামে কীভাবে স্ক্রোল করবেন?
আমাদের স্ক্রোলিংটি সম্পাদনের জন্য জাভাস্ক্রিপ্ট ব্যবহার করতে হবে এবং উপাদানটি দৃশ্যমান না হওয়া অবধি নীচের পদ্ধতিটি উপাদানটিতে স্ক্রোল করার জন্য একটি উন্নত পদ্ধতি সরবরাহ করে, যা স্ক্রোলটিতে দৃশ্যমান হয়:
public void scrollIntoView(By locator) {
try {
JavascriptExecutor executor = (JavascriptExecutor) driver;
WebElement element = driver.findElement(locator);
executor.executeScript("arguments[0].scrollIntoView(true);", element);
BASE_LOGGER
.info("scrollIntoView operation has been performed for the locator : " + String.valueOf(element));
} catch (Exception e) {
String exceptionData = e.getCause().getMessage();
BASE_LOGGER.error("Error encountered i.e : " + exceptionData
+ " while performing scrollIntoView on the element : " + locator);
}
}
সেলেনিয়ামে কীভাবে পৃষ্ঠাটিতে সমস্ত লিঙ্ক পাবেন?
লিঙ্ক হিসাবে পৃষ্ঠায় উপলব্ধ সমস্ত লিঙ্কগুলি আনার জন্য আমরা বাই.ট্যাগনাম ("ক") ব্যবহার করতে পারি; পদ্ধতিটি নীচের পদ্ধতিতে চলেছে:
public List<WebElement> getAllLinks() {
try {
List<WebElement> allLinks = driver.findElements(By.tagName("a"));
int numberOfLinks = allLinks.size();
BASE_LOGGER.info("Number of Links in the Current Page is : " + numberOfLinks);
BASE_LOGGER.info("GetAllLinks operation has been performed for the Current Page : ");
return allLinks;
} catch (Exception e) {
String exceptionData = e.getCause().getMessage();
BASE_LOGGER.error("Error encountered i.e : " + exceptionData
+ " while performing GetAllLinks for the Current Page :");
return null;
}
}
সেলেনিয়ামে কোনও পৃষ্ঠায় iframes এর সংখ্যাটি কীভাবে খুঁজে পাবেন?
সেলেনিয়ামে একটি পৃষ্ঠায় iframe এর সংখ্যা জানতে আমরা নীচের পদ্ধতিটি ব্যবহার করতে পারি:
public int numberOfIframesInPage() {
try {
JavascriptExecutor exe = (JavascriptExecutor) driver;
Integer numberOfIFrames = Integer.parseInt(exe.executeScript("return window.length").toString());
BASE_LOGGER.info("Number of IFrames in the current Window are : " + numberOfIFrames);
return numberOfIFrames;
} catch (Exception e) {
BASE_LOGGER
.error("Exception occurred in Finding numberOfIframesInPage with : " + e.getCause().getMessage());
return 0;
}
}
সেলেনিয়াম ওয়েবড্রাইভারে ডিফল্ট ফ্রেমে কীভাবে স্যুইচ করবেন?
সেলেনিয়াম ওয়েবড্রাইভারে ডিফল্ট ফ্রেমে স্যুইচ করতে আমরা সুইচটো ()। ডিফল্ট কনটেন্ট () পদ্ধতিটি ব্যবহার করতে পারি:
public void switchToDefaultFrame() {
try {
driver.switchTo().defaultContent();
BASE_LOGGER.info("Switched to Default Content ");
} catch (Exception e) {
BASE_LOGGER.error("Exception Occurred while switching to default Content ");
}
}
সেলেনিয়ামে ট্যাবগুলি কীভাবে পরিচালনা করবেন?
উপলব্ধ সমস্ত ট্যাব সংরক্ষণের জন্য আমরা একটি তালিকা ব্যবহার করতে পারি এবং ট্যাবগুলি সঞ্চয় করতে ড্রাইভার.getWindowHandles () ব্যবহার করতে পারি এবং এর পরে, আমরা নীচের পদ্ধতির মধ্যে একটি করে ট্যাবগুলি পরিচালনা করতে পারি, যেমন:
public void switchToTab(int indexOfTab) {
try {
ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
driver.switchTo().window(tabs.get(indexOfTab));
BASE_LOGGER.info("Successfully switched to tab with tab index as : " + indexOfTab);
} catch (Exception e) {
String exceptionData = e.getCause().getMessage();
BASE_LOGGER.error(
"Unable to Switch to Tab for :" + indexOfTab + " i.e failed with exception as : " + exceptionData);
}
}
ইন্টারমিডিয়েট সেলেনিয়াম সাক্ষাত্কার প্রশ্ন
ওয়েবড্রাইভার কি ক্লাস বা ইন্টারফেস?
ওয়েবড্রাইভার এমন একটি ইন্টারফেস যেখানে ক্রোমড্রাইভার, ফায়ারফক্সড্রাইভারের মতো সমস্ত ড্রাইভার ক্লাস একটি অবজেক্ট তৈরি করে এবং ওয়েবড্রাইভার ইন্টারফেসের রেফারেন্সের রেফারেন্স দেয়।
এক্সপ্যাথ, বা সিএসএস দ্রুত কোনটি?
সিএসএস এক্সপথের চেয়ে দ্রুত।
সিএসএস কেন এক্সপথের চেয়ে দ্রুত?
প্রতিটি ব্রাউজার ইঞ্জিন পৃথক, এবং তাই পার্সিং কৌশল এবং ইঞ্জিন বাস্তবায়ন লিখিত এক্সপ্যাথের মাধ্যমে পৃথক। এজন্য এক্সপথকে পার্স করা সময়ে সময়ে অসঙ্গতিপূর্ণ হয়ে ওঠে; উদাহরণস্বরূপ, এক্সপ্যাথ পার্স করার জন্য আইই এর নিজস্ব ইঞ্জিন বাস্তবায়ন নেই; সুতরাং সেলেনিয়াম আইই-তে এক্সপ্যাথটি পার্স করতে তার নিজস্ব নেটিভ এক্সপথ ইঞ্জিনকে সংযুক্ত করে।
সুবিধাপ্রাপ্ত ব্রাউজারগুলি কী?
যখন ব্রাউজারগুলি কিছু পূর্বনির্ধারিত সেটিংস (বিশেষাধিকারযুক্ত মোড সহ উদাহরণস্বরূপ) যেমন নির্দিষ্ট প্রোফাইল বা শংসাপত্র সহ খোলা হয়, তখন এটিকে উচ্চতর সুবিধাযুক্ত ব্রাউজারগুলির সেশনগুলি বলা হয়।
আমরা পারি সেলেনিয়াম সহ একটি ব্রাউজার চালু করুন একই উদ্দেশ্যে প্রোফাইলিং বা সেট সার্টিফিকেট সহ।
হেডলেস ব্রাউজার সেলেনিয়াম কী এবং আমরা কীভাবে হেডলেস ব্রাউজার পরীক্ষা করি?
হেডলেস ব্রাউজারটি ব্রাউজারের জন্য একটি সিমুলেশন প্রোগ্রাম যা যেখানে আমাদের কাছে ইউআই নেই তবে আমরা এখনও অদৃশ্য মোডে পরীক্ষার আওতায় অ্যাপ্লিকেশনটি চালাতে পারি can
এবং পটভূমিতে কাঙ্ক্ষিত ওয়েব অপারেশন সম্পাদন করুন।
আমরা হেডলেস ব্রাউজার ড্রাইভার যেমন এইচটিএমএলআইএনআইটি ড্রাইভার বা ফ্যান্টমজেএস ড্রাইভারকে হেডলেস ব্রাউজার পরীক্ষার জন্য ব্যবহার করি।
সেলেনিয়াম বনাম কুকুরছানা?
সেলেনিয়াম এবং পুতুলের মধ্যে বেশ কয়েকটি পার্থক্য রয়েছে (যা সেলেনিয়ামের তুলনায় একটি নতুন সরঞ্জাম এবং গুগল ক্রোম ডিইভি দ্বারা বিকাশ করা)
আমরা এখানে বিভিন্ন দিক থেকে সেলেনিয়াম ভিএস পপিটারের মধ্যে তুলনা আলোচনা করব:
হার্ডআসর্ট বনাম সফটএসার্ট?
উভয় পক্ষেই দৃ .়চিকিত্সার পরীক্ষাগুলি টেস্টএনজি থেকে এবং তাদের প্রত্যেকেরই নিজস্ব মতামত এবং বোধ রয়েছে
যখন আপনি এমন পরিস্থিতিতে রয়েছেন যেখানে আপনার দৃ .় স্পষ্টতার একটি দাবি থাকা দরকার, অর্থাত্, সেই পদক্ষেপটি ছাড়াই, স্ক্রিপ্টের অবশিষ্ট পদক্ষেপগুলি কার্যকর করার অর্থবোধ করে না, তবে আপনি সেখানে হার্ড এসার্টটি রাখতে পারেন।
সেলেনিয়ামে উইন্ডোর আকারটি কীভাবে সেট করবেন?
আমরা ডাইমেনশন ক্লাসের একটি অবজেক্ট তৈরি করতে পারি এবং সেটিকে সেটসাইজ () পদ্ধতিতে পাস করতে পারি:
Dimension dimension = new Dimension(480,700);
driver.manage().window().setSize(dimension);
সেলেনিয়ামের সাথে কাজ করার সময় আপনি যে সংস্করণ নিয়ন্ত্রণ ব্যবস্থা ব্যবহার করেন তা কী?
আপনি যে কোনও ভিসিএস ব্যবহার করতে পারেন যেমন গিথুব, এসভিএন ইত্যাদি উল্লেখ করতে পারেন You
গিট রেপো ক্লোন কিভাবে করবেন?
আমরা ব্যবহার করে গিট রেপো ক্লোন করতে পারি:
Git clone repo
গিট রেপো কোডটি কীভাবে টানবেন?
Git pull remoteRepoURL branchName
গিট রেপোতে কোডটি কীভাবে চাপবেন?
Git push remoteURL branchName
রিমোট সেট করবেন কীভাবে?
git remote add ProvideARemoteName remoetURL
উপলব্ধ রিমোটগুলি কীভাবে যাচাই করবেন?
Git remote -v
আপনি বর্তমানে কোন দূরবর্তী ইউআরএলে আছেন তা কীভাবে পরীক্ষা করবেন?
git config --get remote.origin.url
আপনি কীভাবে জেনকিনসের সাথে আপনার কাঠামোকে সংহত করতে পারেন?
সেলেনিয়াম অটোমেশন কাঠামোর অংশ হিসাবে, আমরা বিল্ড সরঞ্জামগুলি ব্যবহার করছি (যেমন ম্যাভেন / গ্রেডল), এবং আমরা জিনকিনস জব তৈরি করতে এবং ভিসিএসের (যেমন, গিথুব ইত্যাদি) কনফিগারেশন সরবরাহ করে মাভেন / গ্রেডল সংযোগ করতে পারি
সিকুলির অসুবিধাগুলি কী কী?
সেলেনিয়াম ব্যবহার করে কীভাবে ডাটাবেস টেস্টিং করবেন?
আমরা নীচের মডুলার পদ্ধতির মধ্যে সেলেনিয়াম ব্যবহার করে ডাটাবেস টেস্টিং করতে পারি:
উপরের পদক্ষেপগুলির জন্য কোড স্নিপেটের নীচে এখানে রয়েছে:
JAVA JDBC এর সাথে সেলেনিয়াম ডাটাবেস সংযোগ সেটআপ করে এবং একটি ডিবি বিবৃতি তৈরি করে:
static Connection connection = null;
private static Statement statement;
public static String DataBase_URL = "DB_URL";
public static String DataBase_USER = "DB_UserName";
public static String DataBase_PASSWORD = "DB_password";
/* This method Creates the connection with Java JDBC and return it to the Test method to use along with statement
*/
@BeforeTest
public void setUp() throws Exception {
try{
String dbClass = "com.mysql.cj.jdbc.Driver";
Class.forName(dbClass).newInstance();
Connection con = DriverManager.getConnection(DataBase_URL, DataBase_USER, DataBase_PASSWORD);
statement = con.createStatement();
}
catch (Exception e)
{
e.getCause().getMessage().toString();
}
}
এসকিউএল দিয়ে ডিবিকে জিজ্ঞাসা করতে বিবৃতিটি ব্যবহার করুন:
@Test
public void test() {
try{
String queryData = "select * from TableName";
ResultSet res = statement.executeQuery(queryData);
while (res.next())
{
System.out.print(res.getString(1));
System.out.print(" " + res.getString(2));
}
}
catch(Exception e)
{
e.getMessage();
}
}
ডেটা সংযোগটি বন্ধ করা হচ্ছে:
এই ধাপে খুবই গুরুত্বপূর্ণ; অন্যথায়, আমরা ব্যবহারের পরে এগুলি বন্ধ না করে একাধিক ডাটাবেস সংযোগ তৈরি শেষ করতে পারি, যা বেশ কয়েকটি সমস্যার কারণ হতে পারে।
এর জন্য কোড স্নিপেট এখানে:
@AfterTest
public void tearDown() throws Exception {
if (connection != null) {
connection.close();
}
}
সেলেনিয়াম ব্যবহার করে কোনও ওয়েবএলমেটের পটভূমির রঙ এবং রঙ কীভাবে যাচাই করবেন?
আমাদের একটি পদ্ধতি বলা উচিত রঙ পুনরুদ্ধারের জন্য getCssValue ("রঙ") একটি ওয়েবেলেট এবং getCssValue ("পটভূমির রঙ") একটি ওয়েবেলেটের পটভূমি রঙ টানতে।
কোড স্নিপেট এখানে:
String colour = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("color");
String backgroundColour = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("background-color");
সেলেনিয়াম ওয়েবড্রাইভার ব্যবহার করে কীভাবে কোনও ওয়েবলেটর ফন্ট-আকার যাচাই করবেন?
আমরা getCssValue ("ফন্ট-আকার") নামক পদ্ধতিটি ব্যবহার করতে পারি
String fontSize = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("font-size");
সেলেনিয়াম ওয়েবড্রাইভারে একটি ওয়েবেলেটের ফন্টের প্রকারটি কীভাবে যাচাই করবেন?
String fontSize = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("font-type");
সেলেনিয়ামে কীভাবে টুলটিপ পাঠ্য পাবেন?
ওয়েবএলিমেন্টের সরঞ্জামদণ্ডের পাঠ্য প্রাপ্তি নীচের পদ্ধতিতে ওয়েবেলেটের শিরোনাম বৈশিষ্ট্য অর্জন করা ছাড়া আর কিছুই নয়:
public String getToolTipData(By locator){
WebElement element=driver.findElement(locator);
return element.getAttribute("title");
}
স্ট্যালিলিটি এক্সেকশন কী?
স্টিল এলিমেন্টের অর্থ হ'ল যখন কোনও ওয়েব উপাদান আর ডম / ওয়েবপেজের সাথে সংযুক্ত থাকে না যা আগে উপস্থিত ছিল। সেক্ষেত্রে সেলেনিয়াম স্ট্যালিলিমেটেক্সেপশন ছুড়ে দেয়।
এটি একাধিক কারণে যেমন এজেএক্স বা জাভাস্ক্রিপ্ট কলগুলির কারণে ঘটতে পারে যা রাষ্ট্র পরিবর্তন করে
উপাদানটির এটিকে ডিওএম থেকে অনুপলব্ধ / বিচ্ছিন্ন করে তোলে।
উপসংহার : এগুলি সহ আমরা সেলেনিয়াম ফ্রেমওয়ার্ক সাক্ষাত্কারের প্রশ্নগুলি সমাহার করে সমালোচনামূলক সেলেনিয়াম সাক্ষাত্কার প্রশ্নগুলির সেটগুলি সম্পন্ন করেছি, গভীরতা পেতে এখানে পড়ুন সেলেনিয়াম ধারণা সেলেনিয়াম আর্কিটেকচার বুঝতে।