আমরা শুরু করতে যাচ্ছি সেলেনিয়াম টিউটোরিয়াল কাল বই সম্পূর্ণ এবং ভিন্ন পদ্ধতির সাথে, সেলেনিয়াম টিউটোরিয়ালটির এই প্রথম বিভাগে, আমরা সে সম্পর্কে আলোচনা করবসেলেনিয়াম ওয়েবড্রাইভার আর্কিটেকচার, সেলেনিয়াম ওয়েবড্রাইভার কী, সেলেনিয়াম ওয়েবড্রাইভার ওভারভিউ, সেলেনিয়ামের সংক্ষিপ্ত ইতিহাস, সেলেনিয়ামের উপকারিতা, সেলেনিয়ামের সীমাবদ্ধতা, সেলেনিয়াম উপাদানগুলি কী এবং কিছু ঘন ঘন প্রশ্ন জিজ্ঞাসা করা।
সেলেনিয়াম ওয়েবড্রাইভার কী
সেলেনিয়াম একটি ওপেন সোর্স প্রযুক্তি বা কাঠামো যার মাধ্যমে আমরা ওয়েব ভিত্তিক অ্যাপ্লিকেশন স্বয়ংক্রিয় করতে পারি। সেলেনিয়াম মাল্টি ব্রাউজার টেস্টিং সমর্থন করে, জাভা, রুবি, পার্ল, পাইথনের মতো একাধিক ভাষাও সমর্থিত। এটি প্ল্যাটফর্মের অংশ হিসাবে Windows, Linux, macOS ইত্যাদির মতো বিভিন্ন একাধিক প্ল্যাটফর্ম সমর্থন করে।
সেলেনিয়াম সম্পর্কে সংক্ষিপ্ত ইতিহাস:
সেলেনিয়াম প্রথমদিকে অভ্যন্তরীণ সরঞ্জাম থেকে 2004 সালে জেসন হাগিন্স দ্বারা বিকশিত হয়েছিল থট ওয়ার্কস.
পরবর্তীতে ২০০ H সালে, হাগিনস গুগল সংস্থাতে যোগ দিয়েছিল এবং জেনিফার বেভানের মতো অন্যদের সাথে তিনি সেলেনিয়াম নামক প্রাথমিক পরিবর্তনের একটির নকশা এবং বিকাশ চালিয়ে যান called সেলেনিয়াম আরসি। একই সময়ের মধ্যে, থট ওয়ার্কস থেকে সাইমন স্টুয়ার্ট নামে আরেকজন ব্যক্তি ওয়েবড্রাইভার হিসাবে একটি অগ্রিম ওয়েব ব্রাউজার অটোমেশন সরঞ্জাম তৈরি করেছিলেন।
২০০৮ সালে, থট ওয়ার্কস থেকে ফিলিপ হ্যানরিগু নামে এক ব্যক্তি "সেলেনিয়াম গ্রিড" নামে পরিচিত দূরবর্তী অটোমেশন ধারণাগুলি নিয়ে এসেছিলেন।
২০০৯ সালে গুগল টেস্ট অটোমেশন সম্মেলনে দুটি প্রকল্প একত্রিত করার সিদ্ধান্ত নেওয়া হয় এবং সেলেনিয়াম ওয়েবড্রাইভার বা সেলেনিয়াম ২.০ হিসাবে নামকরণ করা হয়।
সেলেনিয়াম ওয়েবড্রাইভারের সুবিধা:
উ: মুক্ত উত্স:
সেলেনিয়াম একটি ওপেন সোর্স প্রযুক্তি / কাঠামো, অতএব বিশাল সম্প্রদায় সমর্থন উপলব্ধ যেখানে বিকাশ এবং উন্নতির সুযোগ দ্রুত এবং বিস্তৃত রয়েছে, এর মুক্ত উত্স হিসাবে আপনি আপনার কাজের অংশ হিসাবে প্রয়োজনীয় যে কোনও নির্দিষ্ট বৈশিষ্ট্যটি প্রয়োগ করতে পারেন এবং মুক্ত অংশে অবদান রাখতে পারেন উত্স সম্প্রদায়।
বি মাল্টি প্রোগ্রামিং ভাষা সমর্থিত:
সেলেনিয়াম বহুল ব্যবহৃত ভাষা দ্বারা সমর্থিত; এটি বিভিন্ন প্রোগ্রামিং ভাষার বাইন্ডিংয়ের সাথে আসে, যাতে আপনি আপনার প্রয়োজন এবং দক্ষতা অনুযায়ী সেলেনিয়ামের সাথে কাজ করতে আপনার অনুকূল ভাষা বেছে নিতে পারেন।
সেলেনিয়াম নীচের প্রোগ্রামিং ভাষার জন্য সহায়তা সরবরাহ করে:
- জাভা
- C#
- পার্ল
- পাইথন
- চুনি
- জাভাস্ক্রিপ্ট
সি প্ল্যাটফর্ম স্বাধীন:
সেলেনিয়াম প্ল্যাটফর্ম-স্বতন্ত্র, সুতরাং আপনি আপনার ওয়েব অ্যাপ্লিকেশনগুলি যে কোনও প্ল্যাটফর্ম এবং অপারেটিং সিস্টেমের যেকোনও যেমন উইন্ডোজ, লিনাক্স, ম্যাকোস ইত্যাদির মাধ্যমে স্বয়ংক্রিয় করতে পারেন can
ডি ক্রস ব্রাউজার পরীক্ষার ক্ষমতা
সেলেনিয়াম আপনার ওয়েব অ্যাপ্লিকেশনগুলির জন্য ক্রস ব্রাউজারের পরীক্ষার ক্ষমতা সমর্থন করে; আপনি ফায়ারফক্স, ক্রোম, আইই, সাফারি ইত্যাদির মতো একাধিক ব্রাউজারে সেলেনিয়াম দিয়ে লেখা আপনার টেস্ট স্যুটটি চালাতে পারেন
ই। ক্রস ডিভাইস পরীক্ষার ক্ষমতা
সেলেনিয়াম টেস্ট অটোমেশন অ্যান্ড্রয়েড, আইওএসের মতো বিভিন্ন ডিভাইসে মোবাইল ওয়েব অ্যাপ্লিকেশন টেস্টিং অটোমেশনের জন্য ব্যবহৃত হয়।
এফ। রিমোট বা মেঘ কার্যকর:
সেলেনিয়াম জিআরআইডি আপনাকে মেঘে আপনার ওয়েব অ্যাপ্লিকেশনটির অটোমেশন পরীক্ষা স্ক্রিপ্টটি চালিত ও নিয়ন্ত্রণ করতে বৈশিষ্ট্য সরবরাহ করে যার মাধ্যমে একটি সিস্টেমকে মাস্টার নোড এবং অন্যান্য সিস্টেমকে স্লেভ নোড হিসাবে তৈরি করে, স্লেভ নোডগুলি একটি মাস্টার নোডের সাথে সংযুক্ত হয় এবং মাস্টার নোড দাসকে পর্যবেক্ষণ করে নোড, সুতরাং আপনার পরীক্ষাগুলি বিভিন্ন অপারেটিং সিস্টেম এবং ক্রোম, ফায়ারফক্স, ইন্টারনেট এক্সপ্লোরার ইত্যাদির মতো বিভিন্ন ব্রাউজারের সাথে বিভিন্ন স্লভ নোডে রয়েছে
জি সমান্তরাল পরীক্ষার ক্ষমতা:
সেলেনিয়ামের সাহায্যে আপনি অটোমেটেড প্যারালাল টেস্টিং ক্ষমতা অর্জন করতে পারবেন, অর্থাত আপনি নিজের পরীক্ষার স্ক্রিপ্ট বা অটোমেশন পরীক্ষার কেসগুলিকে বিভিন্ন বা একই ব্রাউজারে এবং বিভিন্ন বা একই অপারেটিং সিস্টেমকে সমান্তরালভাবে চালাতে পারেন। এই বৈশিষ্ট্যটি আপনার কাছে থাকা পুরো অটোমেশন টেস্ট স্যুটটির জন্য কম সঞ্চালনের সময় অর্জনে সহায়তা করে এবং সমান্তরালে একাধিক অপারেটিং সিস্টেম এবং একাধিক ব্রাউজারের সাথে আপনার ওয়েব অ্যাপ্লিকেশনটির সম্ভাব্যতা এবং সামঞ্জস্যতাও পরীক্ষা করতে পারেন।
এইচ। একাধিক ফ্রেমওয়ার্ক এবং তৃতীয় পক্ষের সরঞ্জাম এবং প্রযুক্তির সাথে সামঞ্জস্য
সেলেনিয়াম ফ্রেমওয়ার্ক সহজেই একাধিক বিভিন্ন তৃতীয় পক্ষের প্রযুক্তি এবং ফ্রেমওয়ার্ক যেমন বিভিন্ন ইউনিট টেস্ট ফ্রেমওয়ার্কের সাথে একত্রিত করা যেতে পারে, যেমন টেস্টএনজি, JUnit, MbUnit, Nunit ইত্যাদি ইত্যাদি, বিভিন্ন বিল্ড টুল যেমন Ant, Maven, Gradle ইত্যাদি, ক্রমাগত ইন্টিগ্রেশন টুলস, যেমন Jenkins, বিভিন্ন টেস্ট ম্যানেজমেন্ট টুল যেমন জিরা, টেস্টলিংক ইত্যাদি, বিভিন্ন রিপোর্টিং টুল যেমন অ্যালুর, এক্সটেনশন রিপোর্ট ইত্যাদি।
আই। হেডলেস ব্রাউজার কার্যকর:
সেলেনিয়াম ওয়েবড্রাইভার স্বয়ংক্রিয় জন্য হেডলেস ব্রাউজার ড্রাইভার সমর্থন করে টেস্ট কেস এক্সিকিউশন, যেখানে আপনার সমস্ত অটোমেশন টেস্ট কেস হেডলেস ব্রাউজার মোডে চলে, অর্থাৎ কোনও ব্রাউজার খোলা হয় না এবং এক্সিকিউশন দ্রুত হয়ে যায় যাতে আপনি জরুরী রিলিজ এবং বৈধতার ক্ষেত্রে আপনার টেস্ট স্ক্রিপ্ট এবং কার্যকারিতা দ্রুত সম্পূর্ণ করতে পারেন।
আপনি মূলত ব্যবহার করতে পারেন htmlUnitdriver or ভুত ড্রাইভার সেলেনিয়াম সহ মাথা বিহীন কার্যকর করার জন্য execution
সেলেনিয়ামের অসুবিধাগুলি:
- স্থানীয়/উইন্ডো ভিত্তিক অ্যাপ সমর্থন, উপস্থিত নয়:
- সেলেনিয়াম ওয়েব বিড অ্যাপ্লিকেশন স্বয়ংক্রিয়করণের জন্য ব্যবহৃত হয়, তবে এটি নেটিভ অ্যাপ্লিকেশন বা উইন্ডোজ ভিত্তিক অ্যাপ্লিকেশনগুলির জন্য সমর্থন সরবরাহ করে না।
- সম্পূর্ণ চিত্র-ভিত্তিক অটোমেশন:
- চিত্র-ভিত্তিক সমস্যা বা অ্যাপ্লিকেশনগুলিকে স্বয়ংক্রিয় করার জন্য সেলেনিয়াম বিস্তৃত সমর্থন সরবরাহ করে না, যদিও আমরা কিছু তৃতীয় পক্ষের সরঞ্জাম যেমন সিকুলি, টেসারেক্ট ওসিআর ভিত্তিক সমাধানগুলি ব্যবহার করতে পারি যা ইমেজের বৈধতা / ক্রিয়াকলাপ সম্পর্কিত কোনও কাজ করতে সেলেনিয়ামের সাথে সংহত করা যায় বা চিত্রের ডেটা এক্সট্রাকশন এবং বৈধতাগুলির সাথে তাদের কিছু সীমাবদ্ধতাও রয়েছে যেমন আপনার প্যারালাল টেস্টিং, হস্তাক্ষর লিখিত ডকুমেন্ট সনাক্তকরণ এবং আপনার অ্যাপ্লিকেশনটি স্বয়ংক্রিয়ভাবে প্রক্রিয়ায় ব্যবহারযোগ্য ক্ষেত্রে ব্যবহারের ক্ষেত্রে যাচাইয়ের ক্ষেত্রে সমস্যাগুলির মুখোমুখি হতে পারে।
- তৃতীয় পক্ষের সরঞ্জামগুলির সাথে একীকরণ:
- সেলেনিয়ামের সাথে একাধিক তৃতীয় পক্ষের সরঞ্জামগুলির সাথে ইন্টিগ্রেশনের একটি নেতিবাচক দিকটি হ'ল আপনার অটোমেশন স্ক্রিপ্টটি অনেক সময় ধীর হয়ে যেতে পারে।
- সেলেনিয়াম ফ্রেমওয়ার্ক উন্নয়ন:
- সেলেনিয়ামের সাথে একটি অগ্রিম টেস্ট অটোমেশন কাঠামো ডিজাইন করা এবং বিকাশের জন্য সেলেনিয়ামের সাথে একাধিক সরঞ্জামের সাথে একটি অটোমেশন কাঠামো তৈরি করতে খুব সোজা নয়, সেলেনিয়াম সম্পর্কে অনেক দক্ষতার প্রয়োজন।
- ব্রাউজার নির্দিষ্ট সমস্যা:
- সেলেনিয়ামের সাথে কাজ করার সময় আপনি কিছু ব্রাউজার-নির্দিষ্ট সমস্যার মুখোমুখি হতে পারেন, বিশেষত আইইয়ের সাথে, কখনও কখনও আপনি ওয়েব ক্রিয়া যেমন ক্লিক, সেন্ডকি ইত্যাদি ব্যবহার করতে পারবেন না এবং ব্রাউজারটি মারা যেতে পারে। সুতরাং বুটস্ট্র্যাপ জেএস-এ নির্মিত অ্যাপ্লিকেশনটি স্বয়ংক্রিয় করতে এবং এটি ব্রাউজারে কার্যকর করার সময় areas অঞ্চলগুলি পরিচালনা করতে আপনার অগ্রিম জ্ঞান থাকা দরকার।
- এছাড়াও, আপনি সেলেনিয়াম ওয়েবড্রাইভার সংস্করণগুলির সাথে ব্রাউজারের সামঞ্জস্যতার সমস্যার মুখোমুখি হতে পারেন; আপনার সুনির্দিষ্ট ফায়ারফক্স, ক্রোম বা অন্য যে কোনও ব্রাউজারটি আপনি সেলেনিয়াম ওয়েবড্রাইভার সংস্করণে কাজ করছেন তা নিশ্চিত করতে হবে।
- কোন সরকারী সমর্থন নেই:
- অন্য যে কোনও ওপেন সোর্স সরঞ্জামগুলির মতো সেলেনিয়ামও একটি ওপেন-সোর্স সরঞ্জাম, যার অর্থ আপনার কোনও প্রদেয় সরঞ্জামের মতো আপনার সমস্যার জন্য সরকারী সমর্থন পাবেন না, যদিও সেখানে প্রচুর বিশাল সম্প্রদায় সমর্থন পাওয়া যায়, আপনি তাদের সাথে সমস্যার বিবরণী নিয়ে কাজ করতে পারেন , কিন্তু এটি ভারীভাবে সময় সাপেক্ষ হতে পারে।
সেলেনিয়াম উপাদান:
একটি সরঞ্জাম হিসাবে সেলেনিয়ামের নীচে উল্লিখিত উপাদানগুলি রয়েছে:
সেলেনিয়াম আইডিই:
- সেলেনিয়াম আইডিই বা সেলেনিয়াম ইন্টিগ্রেটেড ডেভলপমেন্ট এনভায়রনমেন্ট ওয়েব অ্যাপ্লিকেশন অটোমেশনের জন্য সেলেনিয়ামের সর্বাধিক প্রাথমিক সংস্করণ।
- সেলেনিয়াম আইডিই হ'ল এক ধরণের রেকর্ড এবং প্লেব্যাক সরঞ্জাম, যা আপনি ব্রাউজারের একটি প্লাগইন হিসাবে ব্যবহার করতে পারেন এবং আপনার ওয়েব অ্যাপ্লিকেশনগুলিকে আপনার অ্যাপ্লিকেশনগুলি রেকর্ড করতে পারেন এবং এটি একটি স্ক্রিপ্ট হিসাবে সংরক্ষণ করতে পারে এবং পরে আপনি একই রেকর্ড করা স্ক্রিপ্টটি চালাতে এবং চালাতে পারবেন বৈধতা।
- তবে এর কিছু সীমাবদ্ধতা রয়েছে যেমন:
- আপনাকে রেকর্ড করা স্ক্রিপ্টটি চালাতে হবে, স্ক্রিপ্টটি পরিবর্তন করা ততটা নমনীয় নয় বা আপনি নিজের স্বাধীন পদ্ধতিতে কেস এবং স্ক্রিপ্ট ব্যবহার করতে পারবেন না।
- মৃত্যুদন্ড খুব ধীর প্রকৃতির।
- প্রধানত ফায়ারফক্স সমর্থন করে, যদিও গুগল ক্রোমের মতো অন্যান্য ব্রাউজারে রেকর্ড করা স্ক্রিপ্ট চালানোর জন্য আপনি কিছু পরিবর্তন করতে পারেন।
- সমান্তরাল মৃত্যুদন্ড সমর্থিত নয়।
- মোবাইল টেস্টিং সমর্থিত নয়।
- রিপোর্ট জেনারেশন বেশ ভালো নয়।
- এটি সেলেনিয়ামের প্রকৃতপক্ষে খুব প্রাথমিক সংস্করণ, এটি ব্যবহার করে আপনি আপনার ওয়েব অ্যাপ্লিকেশনগুলির জন্য খুব সীমিত টেস্ট অটোমেশন করতে পারেন।
সেলেনিয়াম আরসি
- সেলেনিয়াম রিমোট কন্ট্রোল হল সেলেনিয়ামের পরবর্তী সংস্করণ এবং প্রায়শই এটি সেলেনিয়াম 1.0 হিসাবে উল্লেখ করা হয়।
সেলেনিয়াম আরসি অভ্যন্তরীণভাবে কীভাবে কাজ করে:
সেলেনিয়াম আরসি দুটি প্রধান উপাদান রয়েছে যেমন সেলেনিয়াম সার্ভার, সেলেনিয়াম ক্লায়েন্ট।
সেলেনিয়াম সার্ভার ব্রাউজারগুলি আরম্ভ করে এবং বিভিন্ন ভাষাতে উপলভ্য সেলেনিয়াম ক্লায়েন্ট লাইব্রেরিগুলি ব্যবহার করে আপনি যে পরীক্ষা সেল অটোমেশন স্ক্রিপ্ট হিসাবে লিখেছেন সেলেনিয়াম কমান্ডগুলি চালায়।
সেলেনিয়াম সার্ভার কমান্ড / টেস্ট স্ক্রিপ্টগুলিকে সেলেনিজ কমান্ড বলে কিছুতে রূপান্তর করে এবং এটি একটি এইচটিটিপি প্রক্সি হিসাবে কাজ করে।
সেলেনিয়াম সার্ভার ওয়েব ব্রাউজার ইঞ্জিনের সাথে যোগাযোগ করে এবং ওয়েব অপারেশন সম্পাদন করে যা আপনি পরীক্ষার অধীনে অ্যাপ্লিকেশনটির জন্য পরীক্ষার কেসগুলির অংশ হিসাবে স্বয়ংক্রিয়ভাবে চেষ্টা করার চেষ্টা করছেন।
সেলেনিয়াম আরসি ব্যবহারের পদক্ষেপ:
- সেলেনিয়াম-আরসি সার্ভার ইনস্টল করুন।
- আপনার পছন্দসই প্রোগ্রামিংয়ের ভাষা এবং ব্রাউজার ড্রাইভারের সাথে নির্দিষ্ট ভাষা ব্যবহার করে একটি প্রকল্প তৈরি করুন।
- সেলেনিয়াম সার্ভার ইনস্টল করুন
- আপনি কেবল সেলেনিয়াম-সার্ভার.জার ফাইলটি ডাউনলোড করে নীচে কমান্ডটি ব্যবহার করে এটি আপনার সিস্টেমে চালনা করে সেলেনিয়াম সার্ভার সেট আপ করতে পারেন:
- java -jar সেলেনিয়াম-সার্ভার.জার
- সেলেনিয়াম ক্লায়েন্ট লাইব্রেরি ব্যবহার করে এবং সেলেনিয়াম সার্ভার ব্যবহার করে স্ক্রিপ্ট লিখুন।
সেলেনিয়াম আরসির সীমাবদ্ধতা:
- সেলেনিয়াম রিমোট কন্ট্রোলে, অটোমেশন ড্রাইভার এবং ব্রাউজারটি কিছুটা ধীর হয়ে যায় কারণ ব্রাউজার ইঞ্জিনটি সরাসরি যোগাযোগ করা হয় না, বরং সেলেনিয়াম আরসি ব্রাউজার ইঞ্জিনে জাভাস্ক্রিপ্ট সংক্রামিত করে, এটি সেলেনিয়াম কোর হিসাবেও উল্লেখ করা হয়।
- সার্ভারটি যা পরীক্ষার স্ক্রিপ্ট প্রয়োগের আগে এবং চলাকালীন চলতে থাকে।
- অগ্রণী ওয়েব ক্রিয়াকলাপগুলি সেলেনিয়াম আরসি যেমন সেলসিয়াম ওয়েবড্রাইভারের বিপরীতে যেমন মাউস মুভমেন্ট, ডাবল ক্লিক, কীবোর্ড থেকে ইনপুট নেওয়া ইত্যাদি ব্যবহার করে স্বয়ংক্রিয় ও পরিচালনা করা যায় না।
- সেলেনিয়াম আরসি মোবাইল অ্যাপ্লিকেশন পরীক্ষার জন্য সমর্থন করে না।
- অটোমেশন টেস্টিং স্ক্রিপ্টটি চালানোর জন্য সেলেনিয়াম আরসি প্রকৃত ব্রাউজারের উপর নির্ভরশীল এবং এটি সেলেনিয়াম ওয়েবড্রাইভারের বিপরীতে হেডলেস ব্রাউজার যেমন এইচটিএমএলইনডিট্রাইভার বা জিহস্টড্রাইভার ইত্যাদি সমর্থন করে না।
সেলেনিয়াম ওয়েবড্রাইভার:
সেলেনিয়াম ওয়েবড্রাইভার হ'ল সেলেনিয়াম উপাদানগুলির মধ্যে অগ্রিম সংস্করণ যা খুব দৃust় এবং ওয়েব ইন্টারঅ্যাকশনগুলির অগ্রিম সংস্করণকে সমর্থন করে এবং এটি ব্রাউজারের সাথে জাভাস্ক্রিপ্টের মাধ্যমে সেলেনিয়াম আরসির বিপরীতে ইন্টারঅ্যাক্ট করে না এবং এতে মোবাইল অ্যাপ্লিকেশন পরীক্ষার সমর্থনও রয়েছে। এটি প্রায়শই সেলেনিয়াম 2.0 এর অংশ হিসাবে উল্লেখ করা হয়।
ওয়েবড্রাইভার গতিশীল উপাদানগুলি পরিচালনা করতে পারে এবং একাধিক বিভিন্ন ব্রাউজারের সাথে সমান্তরাল সম্পাদনকে সমর্থন করে।
আসন্ন বিভাগগুলিতে আমরা বিস্তারিত আলোচনা করব।
সেলেনিয়াম গ্রিড:
সেলেনিয়াম জিআরআইডি সেলেনিয়ামের আরেকটি উপাদান যা দিয়ে আপনি মাস্টার-স্লেভ নোড তৈরি করে আপনার অটোমেশন টেস্টিং স্ক্রিপ্টটির রিমোট এক্সিকিউশন করতে পারবেন। সেলেনিয়াম জিআরআইডি একই ব্রাউজারে পাশাপাশি একাধিক ব্রাউজারে সমান্তরাল পরীক্ষার সহায়তা করে।
আসন্ন বিভাগগুলিতে আমরা সেলেনিয়াম জিআরআইডি নিয়ে আরও আলোচনা করব।
ওয়েবড্রাইভার 3.0
সেলেনিয়াম 3.0 হল সেলেনিয়াম উপাদানগুলির সর্বশেষ সংস্করণ যা মূলত WebDriver 2.0 এবং GRID 3 এর বিবর্তনের সংমিশ্রণ।
এই পরবর্তী বিভাগে, আমরা আলোচনা করতে চলেছি বিস্তারিত সেলেনিয়াম ওয়েবড্রাইভার আর্কিটেকচার, এবং শেষ পর্যন্ত, এটি চিত্রিত হয় সেলেনিয়াম অভ্যন্তরীণভাবে কীভাবে কাজ করে,.
সেলেনিয়াম ওয়েবড্রাইভার আর্কিটেকচার :
সেলেনিয়াম ওয়েবড্রাইভার আর্কিটেকচারের অংশ হিসাবে পাঁচটি প্রধান বৈশিষ্ট্য বা উপাদান রয়েছে:
- সেলেনিয়াম ক্লায়েন্ট লাইব্রেরি বা সেলেনিয়াম-প্রোগ্রামিং ভাষার বাইন্ডিং
- ওয়েবড্রাইভার প্রোটোকল বা জেসন ওয়্যার প্রোটোকল ওভার এইচটিটিপি
- ব্রাউজারের ড্রাইভার
- ব্রাউজার ইঞ্জিন
- ব্রাউজারের রেন্ডারিং ইঞ্জিন

সেলেনিয়াম ক্লায়েন্ট লাইব্রেরি বা প্রোগ্রামিং ভাষার বাইন্ডিং:
সেলেনিয়াম আপনার অটোমেশন ডেভলপমেন্ট এবং অটোমেশন পরীক্ষার স্ক্রিপ্টের অংশ হিসাবে একাধিক ভিন্ন ভাষাকে সমর্থন করার জন্য ক্লায়েন্ট লাইব্রেরিগুলির জন্য আলাদা আলাদা ভাষা বন্ডিং সরবরাহ করে। উদাহরণস্বরূপ, সি # এর সাথে সেলেনিয়াম, জাভা সহ সেলেনিয়াম, পাইথনের সাথে সেলেনিয়াম ইত্যাদি
ওয়েবড্রাইভার প্রোটোকল বা জসন ওয়্যার প্রোটোকল:
JSON যা মূলত জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন এর জন্য দাঁড়িয়েছে। এই প্রোটোকলটিকে ওয়েবড্রাইভার প্রোটোকল হিসাবেও উল্লেখ করা হয়, যা ওয়েবে সার্ভার-ক্লায়েন্ট ডেটা স্থানান্তর করার জন্য ব্যবহৃত হয়। প্রতিটি ব্রাউজার ড্রাইভারের (যেমন ফায়ারফক্সড্রাইভার, ক্রোমড্রাইভার ইত্যাদি) এর নিজস্ব এইচটিটিপি সার্ভার রয়েছে এবং এই প্রোটোকলটি এইচটিটিপি অনুরোধ এবং এইচটিটিপি প্রতিক্রিয়া আকারে রেস্ট ওয়েবসার্চের মাধ্যমে ডেটা স্থানান্তর করতে ব্যবহার করে।
ব্রাউজার ড্রাইভার:
প্রতিটি ব্রাউজারের নিজস্ব ব্রাউজার ড্রাইভার থাকে। ব্রাউজার ড্রাইভারগুলি ব্রাউজার ইঞ্জিনের মাধ্যমে সংশ্লিষ্ট ব্রাউজারের সাথে যোগাযোগ স্থাপন করে।
অটোমেশন স্ক্রিপ্টটি কার্যকর হয়ে গেলে, এটি সরাসরি ব্রাউজার ড্রাইভার এবং অবশেষে সম্পর্কিত ব্রাউজারের সাথে যোগাযোগ করে। অনুরোধ এবং প্রতিক্রিয়া HTTP অনুরোধ এবং HTTP প্রতিক্রিয়া মাধ্যমে স্থানান্তরিত হয়।
ব্রাউজার ইঞ্জিন:
প্রতিটি ব্রাউজারের নিজস্ব ব্রাউজার ইঞ্জিন থাকে; ব্রাউজার ইঞ্জিনটি মূলত ইউআই এবং রেন্ডারিং ইঞ্জিনের মধ্যে একটি মধ্যবর্তী স্তর হিসাবে কাজ করে।
ব্রাউজার রেন্ডারিং ইঞ্জিন:
ব্রাউজার রেন্ডারিং ইঞ্জিন অনুরোধ-প্রতিক্রিয়া এবং ডেটার জন্য প্রয়োজনীয় নির্দিষ্ট উপাদানগুলি রেন্ডার করে অনুরোধ করা দস্তাবেজটি প্রদর্শন করার জন্য দায়বদ্ধ।
সংক্ষেপে সেলেনিয়াম ওয়েবড্রাইভার আর্কিটেকচার এবং কাজের কার্যকারিতা :
সেলেনিয়াম-ওয়েবড্রাইভার অটোমেশন এবং এর জাভাস্ক্রিপ্ট ইঞ্জিনের জন্য প্রতিটি ব্রাউজারের স্থানীয় সমর্থন ব্যবহার করে সরাসরি ব্রাউজারটিকে অনুরোধ করে। এই কলগুলি কীভাবে করা হচ্ছে এবং যে বৈশিষ্ট্যগুলি তারা সমর্থন করে তা আপনি ব্যবহার করছেন সেই ব্রাউজারের উপর নির্ভর করে।
ব্রাউজারটি লোড হয়ে গেলে এটি সেলেনিয়াম-আরসি এর মতো জাভাস্ক্রিপ্ট ইনজেক্ট করে না।
ওয়েবড্রাইভার স্ক্রিপ্টটি চালনার সময় নিম্নলিখিত ঘটনাগুলি ঘটে:
- আমরা যেকোন ল্যাঙ্গুয়েজ বাইন্ডিং (জাভা/সি# ইত্যাদি) ব্যবহার করে অটোমেশন স্ক্রিপ্টিং করি, এবং এটি ওয়েবড্রাইভার এপিআই ট্রিগার করে স্ক্রিপ্ট কার্যকর হয় যখন।
- স্ক্রিপ্ট এবং অবশেষে কমান্ড (যেমন ড্রাইভার.ফাইন্ডএলিমেন্ট (By.id (“idName”))) হল অভ্যন্তরীণভাবে জাভাস্ক্রিপ্টে রূপান্তরিত হচ্ছে।
- ব্রাউজার ইঞ্জিন ব্যবহার করে, এটি আবার JSON এ ফিরে রূপান্তরিতযা একধরণের মূল-মান জুড়ি।
- নিজ নিজ চাবির মান পাওয়ার পর, এটি সম্পর্কিত ওয়েব উপাদানগুলি সনাক্ত করে এবং সম্পর্কিত ব্যবহারকারী ক্রিয়াগুলি সম্পাদন করে (যেমন ক্লিক করুন, কীগুলি প্রেরণ করুন ইত্যাদি)।
- সমস্ত যোগাযোগ একটি ব্যবহার করে করা হয় জেএসএন-ওয়্যার বা ওয়েবড্রাইভার প্রোটোকল কল, এবং এইচটিটিপি-র মাধ্যমে একটি HTTP অনুরোধ এবং HTTP প্রতিক্রিয়া হিসাবে বিশ্রাম API আকারে যোগাযোগগুলি ঘটে response
সেলেনিয়াম প্রায়শই জিজ্ঞাসা করা প্রশ্ন:
সেলেনিয়ামে উপলব্ধ WebDriver API গুলি কি কি?
সেলেনিয়াম ওয়েবড্রাইভার একটি ইন্টারফেস এবং জাভা, সি #, পাইথন ইত্যাদির মতো বিভিন্ন প্রোগ্রামিং ভাষার জন্য বিভিন্ন ভাষার বাইন্ডিং রয়েছে,
সেলেনিয়াম ওয়েবড্রাইভারের প্রধানত দুটি ভিন্ন রূপ রয়েছে যেমন:
- সেলেনিয়াম ওয়েব ড্রাইভার স্থানীয়।
- সেলেনিয়াম ওয়েব ড্রাইভার রিমোট।
সেলেনিয়াম ওয়েব ড্রাইভার লোকাল নির্দিষ্ট ভাষা বাঁধাইয়ের সাথে কাজ করতে এপিআই ব্যবহার করে এবং আপনি এগুলি নিয়ে স্থানীয় নির্বাহের সাথে কাজ করতে পারেন অন্যদিকে আপনি যদি রিমোটে আপনাকে অটোমেশন টেস্টিং স্ক্রিপ্টগুলি কার্যকর করতে চান তবে আপনাকে এটি ব্যবহার করতে হবে দূরবর্তী সেলেনিয়াম ওয়েব ড্রাইভার এপিআই।
সেলেনিয়াম ব্যবহার করে আমরা স্বয়ংক্রিয়ভাবে করতে পারি না এমন পরিস্থিতিতে কী কী তা ব্যাখ্যা করুন?
সেলেনিয়াম আবেদনের দিকগুলির নীচের ক্ষেত্রগুলিকে স্বয়ংক্রিয় করার কোনও উপায় সরবরাহ করে না, যা:
- অ্যাপ্লিকেশন কর্মক্ষমতা পরীক্ষা
- অ্যাপ্লিকেশন নিরাপত্তা পরীক্ষা.
- চিত্র-ভিত্তিক প্রক্রিয়াকরণ এবং অটোমেশন
- ক্যাপচা ভিত্তিক অটোমেশন।
- ভিডিও স্ট্রিমিং দৃশ্যকল্প.
- নেটিভ অ্যাপ্লিকেশন বা উইন্ডো-ভিত্তিক অ্যাপ্লিকেশন।
- স্ট্রিমিং অ্যাপ্লিকেশন
সেলেনিয়াম 2.0 এবং সেলেনিয়াম 3.0 এর মধ্যে পার্থক্য?
- সেলেনিয়াম 2.0 এর জন্য ন্যূনতম প্রয়োজন জাভা 1.7, অন্যদিকে সেলেনিয়াম 3.0 এর জন্য, ন্যূনতম প্রয়োজনীয় জাভা সংস্করণ হল 1.8
- সেলেনিয়াম 3.0 এর জন্য 47 এর উপরে ফায়ারফক্স সংস্করণের জন্য GeckOdriver প্রয়োজন, তবে এটি সেলেনিয়াম 2.0 এর ক্ষেত্রে নয়
- সেলেনিয়াম 3.0 আধুনিক ব্রাউজার সমর্থন করে যেমন এজ, সাফারি ইত্যাদি কিন্তু অন্যদিকে সেলেনিয়াম 2.0 এর জন্য, মজিলার জন্য ব্রাউজার ড্রাইভার, ক্রোমড্রাইভার, IE যা সেলেনিয়াম ডেভেলপারদের দ্বারা তৈরি।
- সেলেনিয়াম 3-এ, মোবাইল অটোমেশন পরীক্ষার জন্য সমর্থন সরানো হয়েছে, যেমন AndroidDriver এবং iPhoneDriver, এবং আপনাকে সরঞ্জামগুলি ব্যবহার করতে হবে মোবাইল অটোমেশন পরীক্ষার জন্য অ্যাপিয়াম, যা সেলেনিয়াম 2.0 এর ক্ষেত্রে নয়।
- সেলেনিয়াম 3.0 হেডলেস ড্রাইভারকে সমর্থন করে না, যেমন HTMLUnitWebDriver, কিন্তু সেলেনিয়াম 2.0-এর হেডলেস এক্সিকিউশনের জন্য সমর্থন রয়েছে, যেমন HTMLUnitDriver বা ঘোস্টড্রাইভারের সাথে।
- সেলেনিয়াম 3 এর মধ্যে, সেলেনিয়াম ওয়েবড্রাইভার W3C স্ট্যান্ডার্ডে পরিণত হয়েছে; অন্যদিকে, সেলেনিয়াম 2.0-এ সেলেনিয়াম ওয়েবড্রাইভার W3C স্ট্যান্ডার্ডের অন্তর্গত নয়।
উপসংহার : এটির সাথে আমরা এর প্রথম বিভাগটি শেষ করি সেলেনিয়াম টিউটোরিয়াল ব্ল্যাকবুক আচ্ছাদন সেলেনিয়াম কি, সেলেনিয়াম ওয়েব ড্রাইভার আর্কিটেকচার, সেলেনিয়াম ওভারভিউ, সেলেনিয়ামের সুবিধা এবং অসুবিধা, আসন্ন বিভাগে সেলেনিয়াম টিউটোরিয়াল মডিউল 2 আমরা সেলেনিয়াম ইনস্টলেশন সম্পর্কিত সেটআপ, সেলেনিয়াম কমান্ড এবং সেলেনিয়ামের অন্যান্য মৌলিক, মধ্যবর্তী এবং অগ্রিম বিষয়গুলি নিয়ে আলোচনা করব