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



সেলেনিয়াম ওয়েবড্রাইভারে কীভাবে স্ক্রিনশট নেওয়া যায় সে সম্পর্কে এই নিবন্ধটি আপনাকে কীভাবে স্ক্রিনশটটি টেকস্ক্রিনশট পদ্ধতি এবং টেস্টএনজি শ্রোতার সাহায্যে স্ক্রিনশটটি ক্যাপচার করবেন তা শিখতে সহায়তা করে

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

আমি নিম্নলিখিত বিষয়গুলি নিয়ে আলোচনা করব:

সুতরাং, আসুন শুরু করা যাক, ভাবেন!





সেলেনিয়াম ওয়েবড্রাইভারের স্ক্রিনশট: অটোমেশন পরীক্ষায় স্ক্রিনশট কেন প্রয়োজন?

স্ক্রিনশটগুলি বাগ বিশ্লেষণের জন্য কাম্য। কার্যকর করার সময় স্বয়ংক্রিয়ভাবে স্ক্রিনশট নিতে পারে। মনে করুন আপনি কোনও ওয়েব পৃষ্ঠা স্বয়ংক্রিয় করার জন্য একটি পরীক্ষা স্ক্রিপ্ট লিখেছেন, আপনি প্রতিবার ঠিকঠাক কাজ করছেন কিনা তা পর্যবেক্ষণ রাখবেন না। আপনি স্ক্রিপ্টটির কাজটি করতে দেবেন এবং আপনি অন্য কোনও কাজে নিযুক্ত থাকবেন।

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

এখন, আসুন আমরা এগিয়ে চলুন এবং অ্যাপ্লিকেশন পরীক্ষার সময় আপনি কীভাবে স্ক্রিনশট নিতে পারেন তা শিখি।



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

সেলেনিয়ামে একটি স্ক্রিনশট ক্যাপচার করতে, আমরা একটি ইন্টারফেস ব্যবহার করতে পারি, যাকে বলা হয় স্ক্রিনশট নেয়। এই পদ্ধতি iড্রাইভারটিকে এনডিকেট করে, এটি একটি স্ক্রিনশট ক্যাপচার করে এটি বিভিন্ন উপায়ে সংরক্ষণ করতে পারে।

বাক্য গঠন:



ফাইল ফাইল = ((টেকস্ক্রিনশট) ড্রাইভার) .getScreenshotAs (আউটপুট টাইপ.এফআইএল) স্ট্রিং স্ক্রিনশটবেস 64 = ((টেকস্ক্রিনশট) ড্রাইভার) .getScreenshotAs (আউটপুটটাইপ.বিএসই 64))

কোথায় আউটপুট টাইপ স্ক্রিনশটের জন্য আউটপুট ধরণের সংজ্ঞা দেয়।

স্ক্রিনশট ক্যাপচার করতে এবং এটি কোনও নির্দিষ্ট জায়গায় সঞ্চয় করতে, একটি পদ্ধতি রয়েছে যা “ getScreenshotAs '

আসুন এটি বিস্তারিতভাবে বুঝতে পারি

ওয়েবড্রাইভার প্রসারিত জন্য স্ক্রিনশট নেয় পদ্ধতি, এটি পছন্দনীয় ক্রমে নিম্নলিখিতটি ফিরে আসার জন্য ব্রাউজারের উপর নির্ভর করে সেরা চেষ্টা করে:

  • পুরো পৃষ্ঠা
  • বর্তমান উইন্ডো
  • বর্তমান ফ্রেমের দৃশ্যমান অংশ
  • ব্রাউজার সহ পুরো ডিসপ্লেটির একটি স্ক্রিনশট
  • এইচটিএমএল উপাদানটির সম্পূর্ণ সামগ্রী - এইচটিএমএল উপাদানটির দৃশ্যমান অংশ

বাক্য গঠন:

এক্স getScreenshotAs (আউটপুট টাইপ (এক্স)। লক্ষ্য) ওয়েবড্রাইভারএক্সসেপশন ছুড়ে দেয়

কোথায়

  • এক্স পদ্ধতির রিটার্ন টাইপ
  • লক্ষ্যটি গন্তব্যের ঠিকানা ধারণ করে
  • নিক্ষেপ অন্তর্নিহিত বাস্তবায়ন যদি স্ক্রিনশট ক্যাপচারকে সমর্থন করে না।

পরীক্ষার কেস ব্যর্থ হয়েছে

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

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

এটি করার জন্য, প্রথমে আমার প্রয়োজন হবে

  • একটি ক্লাস তৈরি করুন এবং তারপরে বাস্তবায়ন করুনটেস্টএনজি ‘ ITestListener '
  • তারপরে একটি পদ্ধতি কল করুন ‘অনটেষ্টফেলার’
  • এই পদ্ধতিতে স্ক্রিনশটটি নিতে কোড যুক্ত করুন।
  • কেবল স্ক্রিনশট নেওয়ার পরিবর্তে, পরীক্ষার পদ্ধতির নাম পান এবং পরীক্ষার নাম সহ একটি স্ক্রিনশট নিন এবং এটি গন্তব্য ফোল্ডারে রাখুন।

এখন, প্রশ্নটি কীভাবে টেস্টএনজি ব্যবহার করে টেস্টলিস্টনারে ক্লাসে ড্রাইভার অবজেক্ট পাবেন?

টাইপকাস্ট ডাবল টু ইন জাভা

এটি করা কতটা সহজ তা আমি আপনাকে বুঝতে সাহায্য করব।

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

আমি এখানে দুটি পৃথক প্রোগ্রাম ব্যাখ্যা করব যাতে আপনি সেলেনিয়ামে কীভাবে স্ক্রিনশট নেবেন সে সম্পর্কে সঠিক ধারণা পান।

প্রথম প্রোগ্রামটি সফলভাবে সঞ্চালনের ক্ষেত্রে কেস স্ক্রিনশট ক্যাপচার করতে পারে। দ্বিতীয় প্রোগ্রাম আপনাকে পরীক্ষা ব্যর্থতার সময় কীভাবে স্ক্রিনশট নিতে হয় তা বুঝতে সহায়তা করে।

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

r প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহারকারী সংস্থাগুলি

আপনি যখন কোনও ওয়েব অ্যাপ্লিকেশন পরীক্ষা করতে চান তখন প্রথম কাজটি হ'ল সেলেনিয়াম জার ফাইল এবং জাভা লাইব্রেরি। আপনি আপনার পছন্দের একটি আইডিই চয়ন করতে পারেন। আমি Eclipse IDE এ কাজ করা পছন্দ করি কারণ এটি ব্যবহারকারী-বান্ধব।

  • আমি ব্রাউজার ড্রাইভার সেট করতে হবে
  • ChromeDriver দিয়ে ড্রাইভারের ইনস্ট্যান্ট ইনস্ট্যান্ট করুন।
  • ওয়েবপৃষ্ঠার URL পান।
  • সংশ্লিষ্ট ক্রিয়া সম্পাদন করুন।

এই ক্ষেত্রে, আমি আমাদের অফিসিয়াল ওয়েবপৃষ্ঠার একটি স্ক্রিনশট নেব

নীচের কোডটি দেখুন:

আমদানি java.io.File আমদানি java.io.IOException আমদানি org.apache.commons.io.FileUtils আমদানি org.openqa.selenium.TutScreenshot আমদানি org.openqa.selenium.WebDriver আমদানি org.op. । সেলেনিয়াম.ক্রোম.ক্রোমড্রাইভার পাবলিক ক্লাসের স্ক্রিন {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরগস) ছোঁড়া ব্যতিক্রম {System.setProperty ('ওয়েবড্রাইভার.ক্রোম.ড্রাইভার', 'সি: ইউজারনেহা_ভাইদ্যাডিজটপ ক্রোমড্রাইভার_উইন 32 ক্রোমড্রাইভার ড্রাইভার) ডায়ারডিআর ড্রাইভার.get ('http://www.edureka.co/') ড্রাইভার স্ক্রিনশট ts = (টেকস্ক্রিনশট) ড্রাইভার ফাইল উত্স = ts.getScreenshotAs (আউটপুটটাইপ.ফায়াল) ফাইল ইউটিলস.কপি ফাইল (উত্স, নতুন ফাইল ('। / স্ক্রিনশট / স্ক্রিন) .png ')) System.out.println (' স্ক্রিনশটটি নেওয়া ') ড্রাইভার.কুইট ()}}

উপরের কোডটির আউটপুট নীচে চিত্রিত হয়েছে:

স্ক্রিনআউটপুট - সেলেনিয়াম - এডুরেকাতে কীভাবে স্ক্রিনশট নেবেন

এবং ফোল্ডারে চিত্রটি রয়েছে

এখন আসুন বুঝতে পারি কীভাবে পরীক্ষার স্ক্রিনশট নেওয়া যায়

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

আপনি এই কোডটি উল্লেখ করতে পারেন:

বেসক্লাস

প্যাকেজ com.edureka আমদানি java.io.File আমদানি java.io.IOException আমদানি org.apache.commons.io.FileUtils আমদানি org.openqa.selenium.OutputType আমদানি org.openqa.selenium.TakeScreenshot আমদানি org.openqa.selenium.WebDriver আমদানি করুন org.openqa.selenium.chrome.ChromeDriver আমদানি org.testng.annotations.Listeners সর্বজনীন ক্লাস বেসক্লাস {পাবলিক স্ট্যাটিক ওয়েবড্রাইভার ড্রাইভার পাবলিক স্ট্যাটিক শূন্য প্রারম্ভিককরণ ()। System.setProperty ('ওয়েবড্রাইভার.ক্রোম.ড্রাইভার', 'সি: ইউজারনেহ_ট্রোড্রাইভারড্রাইডড্রাইভারড্রাইভড্রাইভিড .32) import উদাহরণ ') ড্রাইভার = নতুন ক্রোমড্রাইভার () ড্রাইভার.get (' http://www.edureka.co/ ')} সর্বজনীন শূন্যতা ব্যর্থ হয়েছে () s ফাইল srcFile = ((টেকস্ক্রিনশট) ড্রাইভার) .getScreenshotAs (আউটপুটটাইপ.ফায়াল) চেষ্টা U FileUtils.copyFile (srcFile, নতুন ফাইল ('/ সি: / ব্যবহারকারী / নেহা_ বৈদ্য / এক্সপ্লিপ-ওয়ার্কস্পেস / স্ক্রিনস /' + 'স্ক্রিনশটটেকন / টেস্ট.জেপিজি'))} ক্যাচ (আইওএক্সেপশন ই) {ই.প্রিন্টস্ট্যাক ট্র্যাকস ()}} }

ডেমোক্লাস

প্যাকেজ com.edureka আমদানি org.testng.Assert আমদানি org.testng.annotations.AfterMethod আমদানি org.testng.annotations.BeforeMethod আমদানি org.testng.annotations.Listeners আমদানি org.testng.annotations.Test @Listeners (শ্রোতার ক্লাস.class) সর্বজনীন ক্লাস ডেমো বেসস্লাস বাড়ায় {@BeforeMethod পাবলিক শূন্য সেটআপ () {ইনিশিয়েশন () A @ আফটারমেথড পাবলিক শূন্য টিয়ারডাউন ()। ড্রাইভার.quit () est @ সর্বস্তরের পাবলিক শূন্য টেকস্ক্রিনশট টেস্ট () sert Assert.assertEquals (সত্য, মিথ্যা)}}

শ্রোতাশ্রেণী

প্যাকেজ com.edureka আমদানি org.testng.ITestContext আমদানি org.testng.ITestListener আমদানি org.testng.ITestResult সর্বজনীন শ্রেনীর শ্রোতার ক্লাস বেসট্লাস প্রয়োগ করে ITestListener {সর্বজনীন শূন্য অনটেলস্টার্ট (ITestResult ফলাফল) {// টোডো স্বয়ংক্রিয়ভাবে তৈরি পদ্ধতি স্টুডব পাবলিক ভিড (আইটিএস্টআরসাল্ট ফলাফল) {// টোডো অটো-উত্পন্ন পদ্ধতি স্টাব} সার্বজনীন শূন্যতম onTestFailure (ITestResult ফলাফল) {System.out.println ('ব্যর্থ পরীক্ষা') ব্যর্থ হয়েছে () est সর্বজনীন শূন্য অন টেস্টস্কিপড (ITestResult ফলাফল) {// TODO অটো- জেনারেটেড মেথ স্টাব on টেস্টফয়েলডবুইটিনসুকসেস্পেরসেন্টেজ (আইটিএস্টআরসাল্ট রেজাল্ট)} // টোডো অটো-জেনারেট মেথ স্টাব} পাবলিক বায়োড অন স্টার্ট (আইটিস্টকনটেক্সট প্রসঙ্গ) {// টোডো অটো-জেনারেট মেথ স্টাব} ফিনিশ (আইটিএস্টকন্টেক্স প্রসঙ্গ) context //DODD জেনারেটেড মেথড স্টাব}

আউটপুট এই পদ্ধতিতে চিত্রিত করা হয়:

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