সেলেনিয়াম ওয়েবড্রাইভার আর্কিটেকচার: বেশিরভাগ শিক্ষানবিস জানেন না

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

সেলেনিয়াম ওয়েবড্রাইভার কি?

সেলেনিয়াম একটি ওপেন সোর্স প্রযুক্তি বা কাঠামো যার মাধ্যমে আমরা ওয়েব ভিত্তিক অ্যাপ্লিকেশন স্বয়ংক্রিয় করতে পারি। সেলেনিয়াম মাল্টি ব্রাউজার টেস্টিং সমর্থন করে, জাভা, রুবি, পার্ল, পাইথনের মতো একাধিক ভাষাও সমর্থিত। এটি প্ল্যাটফর্মের অংশ হিসাবে Windows, Linux, macOS ইত্যাদির মতো বিভিন্ন একাধিক প্ল্যাটফর্ম সমর্থন করে।

সেলেনিয়াম সম্পর্কে সংক্ষিপ্ত ইতিহাস:

সেলেনিয়াম প্রাথমিকভাবে 2004 সালে জেসন হাগিন্স দ্বারা একটি অভ্যন্তরীণ হাতিয়ার থেকে বিকশিত হয়েছিল থট ওয়ার্কস.

পরবর্তীতে 2007 সালে, Huggins Google সংগঠনে যোগদান করেন এবং জেনিফার বেভানের মতো অন্যদের সাথে তিনি সেলেনিয়াম নামক প্রাথমিক বৈচিত্রগুলির একটির নকশা এবং বিকাশ চালিয়ে যান। সেলেনিয়াম আরসি. একই সময়ের মধ্যে, থটওয়ার্কস থেকে সাইমন স্টুয়ার্ট নামে অন্য একজন ওয়েবড্রাইভার হিসাবে একটি অগ্রিম ওয়েব ব্রাউজার অটোমেশন সরঞ্জাম তৈরি করেছেন। 

2008 সালে, থটওয়ার্কসের ফিলিপ হ্যানরিগো নামে একজন ব্যক্তি "সেলেনিয়াম গ্রিড" নামে পরিচিত দূরবর্তী অটোমেশন ধারণা নিয়ে আসেন।

2009 সালে, Google টেস্ট অটোমেশন কনফারেন্সে, দুটি প্রকল্পকে একত্রিত করার সিদ্ধান্ত নেওয়া হয়েছিল, এবং সেলেনিয়াম ওয়েবড্রাইভার বা সেলেনিয়াম 2.0 নামে নাম দেওয়া হয়েছিল।

সেলেনিয়াম ওয়েব ড্রাইভারের সুবিধা:

উ: ওপেন সোর্স:

সেলেনিয়াম হল একটি ওপেন সোর্স প্রযুক্তি/ফ্রেমওয়ার্ক, তাই বিশাল সম্প্রদায় সমর্থন পাওয়া যায় যেখানে উন্নয়ন এবং উন্নতির সুযোগ দ্রুত এবং বিস্তৃত, এছাড়াও এটির ওপেন সোর্স হিসেবে আপনি আপনার কাজের অংশ হিসাবে আপনার প্রয়োজন এমন কোনো নির্দিষ্ট বৈশিষ্ট্য বাস্তবায়ন করতে পারেন এবং ওপেনে অবদান রাখতে পারেন। উৎস সম্প্রদায়। 

B. মাল্টি প্রোগ্রামিং ভাষা সমর্থিত:

সেলেনিয়াম ব্যাপকভাবে ব্যবহৃত ভাষা দ্বারা সমর্থিত; এটি বিভিন্ন প্রোগ্রামিং ল্যাঙ্গুয়েজ বাইন্ডিং নিয়ে আসে, তাই আপনি আপনার প্রয়োজন এবং দক্ষতা অনুযায়ী সেলেনিয়ামের সাথে কাজ করার জন্য আপনার অনুকূল ভাষা বেছে নিতে পারেন।

সেলেনিয়াম নীচের প্রোগ্রামিং ভাষার জন্য সমর্থন প্রদান করে: 

  • জাভা 
  • C#
  • পার্ল
  • পাইথন
  • চুনি  
  • জাভাস্ক্রিপ্ট

C. প্ল্যাটফর্ম স্বাধীন:

সেলেনিয়াম প্ল্যাটফর্ম-স্বাধীন, তাই আপনি যেকোনো প্ল্যাটফর্ম এবং যেকোনো অপারেটিং সিস্টেম যেমন উইন্ডোজ, লিনাক্স, ম্যাকওএস ইত্যাদিতে আপনার ওয়েব অ্যাপ্লিকেশনগুলিকে স্বয়ংক্রিয় করতে পারেন।

D. ক্রস ব্রাউজার টেস্টিং ক্ষমতা

সেলেনিয়াম আপনার ওয়েব অ্যাপ্লিকেশনের জন্য ক্রস ব্রাউজার টেস্টিং ক্ষমতা সমর্থন করে; আপনি একাধিক ব্রাউজার যেমন Firefox, Chrome, IE, Safari ইত্যাদিতে সেলেনিয়াম দিয়ে লেখা আপনার টেস্ট স্যুট চালাতে পারেন।

E. ক্রস ডিভাইস টেস্টিং ক্ষমতা

সেলেনিয়াম টেস্ট অটোমেশন বিভিন্ন ডিভাইস যেমন অ্যান্ড্রয়েড, আইওএস-এ মোবাইল ওয়েব অ্যাপ্লিকেশন টেস্টিং অটোমেশনের জন্য ব্যবহৃত হয়। 

F. রিমোট বা ক্লাউড এক্সিকিউশন:

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

G. সমান্তরাল পরীক্ষার ক্ষমতা:

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

H. একাধিক ফ্রেমওয়ার্ক এবং তৃতীয় পক্ষের সরঞ্জাম এবং প্রযুক্তির সাথে সামঞ্জস্যপূর্ণ

সেলেনিয়াম ফ্রেমওয়ার্ক সহজেই একাধিক বিভিন্ন তৃতীয় পক্ষের প্রযুক্তি এবং ফ্রেমওয়ার্ক যেমন বিভিন্ন ইউনিট টেস্ট ফ্রেমওয়ার্কের সাথে একত্রিত করা যেতে পারে, যেমন টেস্টএনজি, JUnit, MbUnit, Nunit ইত্যাদি ইত্যাদি, বিভিন্ন বিল্ড টুল যেমন Ant, Maven, Gradle ইত্যাদি, ক্রমাগত ইন্টিগ্রেশন টুলস, যেমন Jenkins, বিভিন্ন টেস্ট ম্যানেজমেন্ট টুল যেমন জিরা, টেস্টলিংক ইত্যাদি, বিভিন্ন রিপোর্টিং টুল যেমন অ্যাল্যুর, এক্সটেনশন রিপোর্ট ইত্যাদি।

I. হেডলেস ব্রাউজার এক্সিকিউশন: 

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

আপনি মূলত ব্যবহার করতে পারেন htmlUnitdriver or ভূত ড্রাইভার সেলেনিয়ামের সাথে মাথাবিহীন মৃত্যুদণ্ডের জন্য।  

সেলেনিয়ামের অসুবিধা:

  • স্থানীয়/উইন্ডো ভিত্তিক অ্যাপ সমর্থন, উপস্থিত নেই: 
    • সেলেনিয়াম স্বয়ংক্রিয় ওয়েব বেড অ্যাপ্লিকেশনের জন্য ব্যবহৃত হয়, তবে এটি নেটিভ অ্যাপ্লিকেশন বা উইন্ডোজ ভিত্তিক অ্যাপ্লিকেশনগুলির জন্য সমর্থন প্রদান করে না।
  • সম্পূর্ণ চিত্র-ভিত্তিক অটোমেশন: 
    • সেলেনিয়াম ইমেজ-ভিত্তিক সমস্যা বা অ্যাপ্লিকেশনগুলিকে স্বয়ংক্রিয় করার জন্য সম্পূর্ণ সমর্থন প্রদান করে না, যদিও আমরা কিছু তৃতীয়-পক্ষের টুল ব্যবহার করতে পারি যেমন সিকুলি, টেসার্যাক্ট ওসিআর ভিত্তিক সমাধান যা সেলেনিয়ামের সাথে একীভূত করা যেতে পারে ছবির বৈধতা/অপারেশনের সাথে সম্পর্কিত কাজ করতে বা ইমেজ ডেটা নিষ্কাশন এবং বৈধকরণের ক্ষেত্রেও কিছু সীমাবদ্ধতা রয়েছে যেমন আপনি সমান্তরাল পরীক্ষা, হস্তলিখিত নথি শনাক্তকরণ এবং আপনার আবেদন স্বয়ংক্রিয় করার প্রক্রিয়ার ক্ষেত্রে যদি এই ধরনের ব্যবহারের ক্ষেত্রে সমস্যাগুলির সম্মুখীন হতে পারেন।
  • তৃতীয় পক্ষের সরঞ্জামগুলির সাথে একীকরণ: 
    • সেলেনিয়ামের সাথে একাধিক থার্ড-পার্টি টুলের সাথে ইন্টিগ্রেশনের একটি নেতিবাচক দিক হল যে আপনার অটোমেশন স্ক্রিপ্ট মাঝে মাঝে ধীর হয়ে যেতে পারে।
  • সেলেনিয়াম ফ্রেমওয়ার্ক উন্নয়ন:
    • সেলেনিয়ামের সাথে একটি অগ্রিম টেস্ট অটোমেশন ফ্রেমওয়ার্ক ডিজাইন এবং ডেভেলপ করার জন্য সেলেনিয়ামের উপর প্রচুর দক্ষতার প্রয়োজন এবং সেলেনিয়ামের সাথে একাধিক টুল সহ একটি অটোমেশন ফ্রেমওয়ার্ক তৈরি করার জন্য এটি খুব সোজা নয়।
  • ব্রাউজার নির্দিষ্ট সমস্যা: 
    • সেলেনিয়ামের সাথে কাজ করার সময় আপনি কিছু ব্রাউজার-নির্দিষ্ট সমস্যার সম্মুখীন হতে পারেন, বিশেষ করে IE এর সাথে, কখনও কখনও আপনি ক্লিক, সেন্ডকি ইত্যাদির মতো ওয়েব অ্যাকশনগুলি পরিচালনা করতে সক্ষম নাও হতে পারেন এবং ব্রাউজারটি মৃত হয়ে যেতে পারে। সুতরাং বুটস্ট্র্যাপ জেএস-এ নির্মিত অ্যাপ্লিকেশনটিকে স্বয়ংক্রিয় করার সময় এবং IE ব্রাউজারে এটি কার্যকর করার সময় সেই অঞ্চলগুলি পরিচালনা করার জন্য আপনাকে অগ্রিম জ্ঞান থাকতে হবে।
    • এছাড়াও, আপনি সেলেনিয়াম ওয়েবড্রাইভার সংস্করণগুলির সাথে ব্রাউজার সামঞ্জস্যতার সমস্যার মুখোমুখি হতে পারেন; আপনাকে নিশ্চিত করতে হবে যে আপনি সামঞ্জস্যপূর্ণ ফায়ারফক্স, ক্রোম বা অন্য কোনো ব্রাউজার ব্যবহার করছেন যা আপনি সেলেনিয়াম ওয়েবড্রাইভার সংস্করণের সাথে কাজ করছেন।
  • কোন সরকারী সমর্থন নেই: 
    • অন্য যেকোন ওপেন সোর্স টুলের মতো সেলেনিয়ামও একটি ওপেন সোর্স টুল, যার মানে হল যেকোন পেইড টুলের মতো আপনার সমস্যার জন্য আপনার কাছে অফিসিয়াল সাপোর্ট থাকবে না, যদিও সেখানে অনেক বড় কমিউনিটি সাপোর্ট পাওয়া যায়, আপনি আপনার সমস্যা স্টেটমেন্ট দিয়ে তাদের সাথে কাজ করতে পারেন। , কিন্তু যে ভারী সময় গ্রাসকারী হতে পারে.

সেলেনিয়াম উপাদান: 

একটি টুল হিসাবে সেলেনিয়ামের নীচে উল্লিখিত উপাদান রয়েছে, যা হল: 

সেলেনিয়াম আইডিই:

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

সেলেনিয়াম আরসি

  • সেলেনিয়াম রিমোট কন্ট্রোল সেলেনিয়ামের পরবর্তী সংস্করণ এবং প্রায়শই এটি সেলেনিয়াম 1.0 হিসাবে উল্লেখ করা হয়।

কিভাবে সেলেনিয়াম আরসি অভ্যন্তরীণভাবে কাজ করে:

সেলেনিয়াম আরসি দুটি প্রধান উপাদান নিয়ে গঠিত, যেমন সেলেনিয়াম সার্ভার, সেলেনিয়াম ক্লায়েন্ট।

সেলেনিয়াম সার্ভার ব্রাউজারগুলি চালু করে এবং সেলেনিয়াম কমান্ডগুলি চালায় যা আপনি বিভিন্ন ভাষায় উপলব্ধ সেলেনিয়াম ক্লায়েন্ট লাইব্রেরিগুলি ব্যবহার করে পরীক্ষা অটোমেশন স্ক্রিপ্ট হিসাবে লিখেছেন।

সেলেনিয়াম সার্ভার কমান্ড/টেস্ট স্ক্রিপ্টগুলিকে সেলেনিজ কমান্ড বলে কিছুতে রূপান্তর করে এবং এটি একটি HTTP প্রক্সি হিসাবে কাজ করে।

সেলেনিয়াম সার্ভার ওয়েব ব্রাউজার ইঞ্জিনের সাথে ইন্টারঅ্যাক্ট করে এবং সেই ওয়েব অপারেশনটি সম্পাদন করে যা আপনি পরীক্ষার অধীনে অ্যাপ্লিকেশনের জন্য পরীক্ষার ক্ষেত্রের অংশ হিসাবে স্বয়ংক্রিয় করার চেষ্টা করছেন।

সেলেনিয়াম আরসি ব্যবহার করার পদক্ষেপ: 

  • সেলেনিয়াম-আরসি সার্ভার ইনস্টল করুন।
    • আপনার পছন্দের প্রোগ্রামিং ভাষা এবং ব্রাউজার ড্রাইভারের জন্য নির্দিষ্ট ভাষা ব্যবহার করে একটি প্রকল্প তৈরি করুন।
  • সেলেনিয়াম সার্ভার ইনস্টল করুন
    • আপনি কেবলমাত্র selenium-server.jar ফাইলটি ডাউনলোড করে সেলেনিয়াম সার্ভার সেট আপ করতে পারেন এবং নীচের কমান্ডটি ব্যবহার করে এটি আপনার সিস্টেমে চালান: 
    • java -jar selenium-server.jar
  • সেলেনিয়াম ক্লায়েন্ট লাইব্রেরি ব্যবহার করে এবং সেলেনিয়াম সার্ভার ব্যবহার করে স্ক্রিপ্ট লিখুন।

সেলেনিয়াম আরসি এর সীমাবদ্ধতা:

  • সেলেনিয়াম রিমোট কন্ট্রোলে, অটোমেশন ড্রাইভার এবং ব্রাউজার কিছুটা ধীর হয়ে যায় কারণ ব্রাউজার ইঞ্জিন সরাসরি ইন্টারঅ্যাক্ট হয় না, বরং সেলেনিয়াম আরসি ব্রাউজার ইঞ্জিনে জাভাস্ক্রিপ্ট ইনজেক্ট করে, এটি সেলেনিয়াম কোর হিসাবেও উল্লেখ করা হয়।
  • সার্ভার যা পরীক্ষা স্ক্রিপ্ট নির্বাহের আগে এবং চলাকালীন চালু থাকতে হবে।
  • সেলেনিয়াম ওয়েবড্রাইভারের বিপরীতে সেলেনিয়াম আরসি ব্যবহার করে অ্যাডভান্স ওয়েব অ্যাকশন স্বয়ংক্রিয় এবং পরিচালনা করা যায় না যেমন মাউস মুভমেন্ট, ডাবল ক্লিক, কীবোর্ড থেকে ইনপুট নেওয়া ইত্যাদি ইত্যাদি।
  • সেলেনিয়াম আরসি মোবাইল অ্যাপ টেস্টিং সমর্থন করে না।
  • অটোমেশন টেস্টিং স্ক্রিপ্ট চালানোর জন্য সেলেনিয়াম আরসি আসল ব্রাউজারের উপর নির্ভরশীল এবং এটি সেলেনিয়াম ওয়েবড্রাইভারের বিপরীতে HTMLUnitDriver বা GHostDriver ইত্যাদির মতো হেডলেস ব্রাউজার সমর্থন করে না।

সেলেনিয়াম ওয়েবড্রাইভার:

সেলেনিয়াম ওয়েবড্রাইভার হল সেলেনিয়াম উপাদানগুলির মধ্যে একটি অগ্রিম সংস্করণ যা অত্যন্ত শক্তিশালী এবং ওয়েব ইন্টারঅ্যাকশনের অগ্রিম সংস্করণকে সমর্থন করে এবং এছাড়াও এটি সেলেনিয়াম আরসি থেকে ভিন্ন জাভাস্ক্রিপ্টের মাধ্যমে ব্রাউজারের সাথে ইন্টারঅ্যাক্ট করে না এবং মোবাইল অ্যাপ্লিকেশন টেস্টিং সমর্থনও রয়েছে। এটি প্রায়শই সেলেনিয়াম 2.0 এর অংশ হিসাবে উল্লেখ করা হয়।

ওয়েবড্রাইভার গতিশীল উপাদানগুলি পরিচালনা করতে পারে এবং একাধিক ভিন্ন ব্রাউজারগুলির সাথে সমান্তরাল সম্পাদনকে সমর্থন করে।

আমরা আসন্ন বিভাগে একটি বিস্তারিত আলোচনা হবে.

সেলেনিয়াম গ্রিড: 

সেলেনিয়াম গ্রিড হল সেলেনিয়ামের আরেকটি উপাদান যার মাধ্যমে আপনি মাস্টার-স্লেভ নোড তৈরি করে আপনার অটোমেশন টেস্টিং স্ক্রিপ্টের দূরবর্তী কার্য সম্পাদন করতে পারেন। সেলেনিয়াম গ্রিড একই ব্রাউজার এবং একাধিক ব্রাউজারে সমান্তরাল পরীক্ষা সমর্থন করে। 

আমরা আসন্ন বিভাগে সেলেনিয়াম গ্রিড নিয়ে আরও আলোচনা করব।

ওয়েবড্রাইভার 3.0

সেলেনিয়াম 3.0 হল সেলেনিয়াম উপাদানগুলির সর্বশেষ সংস্করণ যা মূলত WebDriver 2.0 এবং GRID 3 এর বিবর্তনের সংমিশ্রণ।

এই পরবর্তী বিভাগে, আমরা আলোচনা করতে যাচ্ছি সেলেনিয়াম ওয়েবড্রাইভার আর্কিটেকচার বিস্তারিত, এবং অবশেষে, এটি চিত্রিত করে কিভাবে সেলেনিয়াম অভ্যন্তরীণভাবে কাজ করে,.

সেলেনিয়াম ওয়েবড্রাইভার আর্কিটেকচার  :

সেলেনিয়াম ওয়েবড্রাইভার আর্কিটেকচারের অংশ হিসাবে পাঁচটি প্রধান বৈশিষ্ট্য বা উপাদান রয়েছে: 

    

  • সেলেনিয়াম ক্লায়েন্ট লাইব্রেরি বা সেলেনিয়াম-প্রোগ্রামিং ভাষা বাইন্ডিং
  • HTTP এর উপর WebDriver প্রোটোকল বা JSON ওয়্যার প্রোটোকল
  • ব্রাউজার এর ড্রাইভার
  • ব্রাউজার ইঞ্জিন
  • ব্রাউজারের রেন্ডারিং ইঞ্জিন
সেলেনিয়াম ওয়েবড্রাইভার আর্কিটেকচার
সেলেনিয়াম টিউটোরিয়াল-সেলেনিয়াম ওয়েবড্রাইভার আর্কিটেকচার

সেলেনিয়াম ক্লায়েন্ট লাইব্রেরি বা প্রোগ্রামিং ভাষা বাঁধাই: 

সেলেনিয়াম আপনার অটোমেশন ডেভেলপমেন্ট এবং অটোমেশন টেস্ট স্ক্রিপ্টের অংশ হিসাবে একাধিক ভিন্ন ভাষা সমর্থন করার জন্য বিভিন্ন ভাষা বাইন্ডিং প্রদান করে, যেমন ক্লায়েন্ট লাইব্রেরিগুলি। উদাহরণস্বরূপ, C# সহ সেলেনিয়াম, জাভা সহ সেলেনিয়াম, পাইথন সহ সেলেনিয়াম ইত্যাদি।

ওয়েবড্রাইভার প্রোটোকল বা JSON ওয়্যার প্রোটোকল:

JSON যা মূলত জাভাস্ক্রিপ্ট অবজেক্ট নোটেশনের জন্য দাঁড়ায়। এই প্রোটোকলটিকে ওয়েবড্রাইভার প্রোটোকল হিসাবেও উল্লেখ করা হয়, যা ওয়েবে সার্ভার-ক্লায়েন্ট ডেটা স্থানান্তরের জন্য ব্যবহৃত হয়। প্রতিটি ব্রাউজার ড্রাইভারের (যেমন FirefoxDriver, ChromeDriver ইত্যাদি) নিজস্ব HTTP সার্ভার রয়েছে এবং HTTP অনুরোধ এবং HTTP প্রতিক্রিয়া আকারে রেস্ট ওয়েব সার্ভিসের মাধ্যমে ডেটা স্থানান্তর করতে এই প্রোটোকল ব্যবহার করে।

 ব্রাউজার ড্রাইভার:

প্রতিটি ব্রাউজারের নিজস্ব ব্রাউজার ড্রাইভার আছে। ব্রাউজার ড্রাইভার ব্রাউজার ইঞ্জিনের মাধ্যমে সংশ্লিষ্ট ব্রাউজারের সাথে যোগাযোগ স্থাপন করে। 

যখন অটোমেশন স্ক্রিপ্টটি কার্যকর হয়, এটি সরাসরি ব্রাউজার ড্রাইভারের সাথে এবং অবশেষে সংশ্লিষ্ট ব্রাউজারের সাথে যোগাযোগ করে। অনুরোধ এবং প্রতিক্রিয়া HTTP অনুরোধ এবং HTTP প্রতিক্রিয়া মাধ্যমে স্থানান্তরিত হয়.

ব্রাউজার ইঞ্জিন:

প্রতিটি ব্রাউজার এর নিজস্ব ব্রাউজার ইঞ্জিন আছে; ব্রাউজার ইঞ্জিন মূলত UI এবং রেন্ডারিং ইঞ্জিনের মধ্যে একটি মধ্যস্থতাকারী স্তর হিসাবে কাজ করে।

ব্রাউজার রেন্ডারিং ইঞ্জিন: 

ব্রাউজার রেন্ডারিং ইঞ্জিন অনুরোধ-প্রতিক্রিয়া এবং ডেটার জন্য প্রয়োজনীয় নির্দিষ্ট উপাদানগুলি রেন্ডার করে অনুরোধ করা নথি প্রদর্শনের জন্য দায়ী।

সেলেনিয়াম ওয়েবড্রাইভার আর্কিটেকচার এবং সংক্ষেপে কাজের কার্যকারিতা :

Selenium-WebDriver অটোমেশন এবং এর জাভাস্ক্রিপ্ট ইঞ্জিনের জন্য প্রতিটি ব্রাউজারের নেটিভ সমর্থন ব্যবহার করে সরাসরি ব্রাউজারকে আহ্বান করে। এই কলগুলি কীভাবে করা হচ্ছে এবং তারা যে বৈশিষ্ট্যগুলি সমর্থন করে তা নির্ভর করে আপনি যে ব্রাউজার ব্যবহার করছেন তার উপর।

ব্রাউজার লোড হলে এটি সেলেনিয়াম-আরসি-এর মতো জাভাস্ক্রিপ্ট ইনজেক্ট করে না।

Webdriver স্ক্রিপ্ট চালানোর সময় নিম্নলিখিত ঘটনা ঘটে:

  •  আমরা যেকোন ল্যাঙ্গুয়েজ বাইন্ডিং (জাভা/সি# ইত্যাদি) ব্যবহার করে অটোমেশন স্ক্রিপ্টিং করি, এবং এটি WebDriver API ট্রিগার করে যখন স্ক্রিপ্ট কার্যকর হয়।
  •   স্ক্রিপ্ট এবং অবশেষে কমান্ড (যেমন ড্রাইভার.ফাইন্ডএলিমেন্ট (By.id (“idName”))) হল অভ্যন্তরীণভাবে জাভাস্ক্রিপ্টে রূপান্তরিত হচ্ছে।
  •   ব্রাউজার ইঞ্জিন ব্যবহার করে, এটি আবার JSON-এ আবার রূপান্তরিত হয়েছে, যা একটি কী-মানের জোড়ার ধরনের।
  •   নিজ নিজ চাবির মান পাওয়ার পর, এটি সংশ্লিষ্ট WebElements শনাক্ত করে এবং সংশ্লিষ্ট ব্যবহারকারীর ক্রিয়া সম্পাদন করে (যেমন ক্লিক, কী পাঠান ইত্যাদি)।
  •   সমস্ত যোগাযোগ একটি ব্যবহার করে করা হয় JSON-ওয়্যার বা ওয়েবড্রাইভার প্রোটোকল কল, এবং যোগাযোগ একটি HTTP অনুরোধ এবং HTTP প্রতিক্রিয়া হিসাবে Rest API আকারে HTTP এর মাধ্যমে ঘটে।

সেলেনিয়াম সম্পর্কিত প্রায়শ জিজ্ঞাস্য প্রশ্নাবলী: 

সেলেনিয়ামে উপলব্ধ WebDriver API গুলি কি কি?

সেলেনিয়াম ওয়েবড্রাইভার একটি ইন্টারফেস এবং বিভিন্ন প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন জাভা, সি#, পাইথন ইত্যাদির জন্য বিভিন্ন ভাষা বাইন্ডিং রয়েছে। 

সেলেনিয়াম ওয়েবড্রাইভারের প্রধানত দুটি ভিন্ন রূপ রয়েছে যেমন: 

  • সেলেনিয়াম ওয়েব ড্রাইভার স্থানীয়।
  • সেলেনিয়াম ওয়েব ড্রাইভার রিমোট। 

সেলেনিয়াম ওয়েব ড্রাইভার স্থানীয় নির্দিষ্ট ভাষার বাঁধাইয়ের সাথে কাজ করার জন্য API ব্যবহার করে এবং আপনি স্থানীয় সম্পাদনের সাথে এটির সাথে কাজ করতে পারেন, অন্যদিকে আপনি যদি রিমোটে আপনার অটোমেশন টেস্টিং স্ক্রিপ্টগুলি চালাতে চান তবে আপনাকে ব্যবহার করতে হবে দূরবর্তী সেলেনিয়াম ওয়েব ড্রাইভার APIs।

সেলেনিয়াম ব্যবহার করে আমরা স্বয়ংক্রিয়ভাবে করতে পারি না এমন পরিস্থিতিতে কী কী তা ব্যাখ্যা করুন?

সেলেনিয়াম অ্যাপ্লিকেশনের দিকগুলির নীচের ক্ষেত্রগুলিকে স্বয়ংক্রিয় করার একটি উপায় প্রদান করে না, যা হল: 

  • অ্যাপ্লিকেশনের কর্মক্ষমতা পরীক্ষা
  • অ্যাপ্লিকেশন নিরাপত্তা পরীক্ষা.
  • চিত্র-ভিত্তিক প্রক্রিয়াকরণ এবং অটোমেশন
  • ক্যাপচা ভিত্তিক অটোমেশন।
  • ভিডিও স্ট্রিমিং দৃশ্যকল্প.
  • নেটিভ অ্যাপ্লিকেশন বা উইন্ডো-ভিত্তিক অ্যাপ্লিকেশন।
  • স্ট্রিমিং অ্যাপ্লিকেশন

সেলেনিয়াম 2.0 এবং সেলেনিয়াম 3.0 এর মধ্যে পার্থক্য?

  • সেলেনিয়াম 2.0 এর জন্য ন্যূনতম প্রয়োজন জাভা 1.7, অন্যদিকে সেলেনিয়াম 3.0 এর জন্য, ন্যূনতম প্রয়োজনীয় জাভা সংস্করণ হল 1.8
  • সেলেনিয়াম 3.0 এর জন্য 47 এর উপরে ফায়ারফক্স সংস্করণের জন্য GeckOdriver প্রয়োজন, তবে এটি সেলেনিয়াম 2.0 এর ক্ষেত্রে নয় 
  • সেলেনিয়াম 3.0 আধুনিক ব্রাউজার সমর্থন করে যেমন এজ, সাফারি ইত্যাদি কিন্তু অন্যদিকে সেলেনিয়াম 2.0 এর জন্য, মজিলার জন্য ব্রাউজার ড্রাইভার, ক্রোমড্রাইভার, IE যা সেলেনিয়াম ডেভেলপারদের দ্বারা তৈরি।
  • সেলেনিয়াম 3-এ, মোবাইল অটোমেশন পরীক্ষার জন্য সমর্থন সরানো হয়েছে, যেমন অ্যান্ড্রয়েডড্রাইভার এবং আইফোনড্রাইভার, এবং আপনাকে সরঞ্জামগুলি ব্যবহার করতে হবে মোবাইল অটোমেশন পরীক্ষার জন্য অ্যাপিয়াম, যা সেলেনিয়াম 2.0 এর ক্ষেত্রে নয়।
  • সেলেনিয়াম 3.0 হেডলেস ড্রাইভারকে সমর্থন করে না, যেমন HTMLUnitWebDriver, কিন্তু সেলেনিয়াম 2.0-এ হেডলেস এক্সিকিউশনের জন্য সমর্থন রয়েছে, যেমন HTMLUnitDriver বা ঘোস্টড্রাইভারের সাথে।
  • সেলেনিয়াম 3 এর মধ্যে, সেলেনিয়াম ওয়েবড্রাইভার W3C স্ট্যান্ডার্ডে পরিণত হয়েছে; অন্যদিকে, সেলেনিয়াম 2.0-এ সেলেনিয়াম ওয়েবড্রাইভার W3C স্ট্যান্ডার্ডের অন্তর্গত নয়।

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

মতামত দিন