E2E (End-to-End) টেস্টিং ব্যবহার

Aurelia এর টেস্টিং এবং ডিবাগিং - অরেলিয়া Aurelia) - Web Development

336

End-to-End (E2E) টেস্টিং হল একটি সফটওয়্যার টেস্টিং পদ্ধতি যেখানে অ্যাপ্লিকেশনের প্রতিটি ফিচার সিস্টেমের সম্পূর্ণ প্রক্রিয়ায় পরীক্ষা করা হয়। E2E টেস্টিং মূলত ব্যবহারকারীর দৃষ্টিকোণ থেকে পুরো অ্যাপ্লিকেশনের কার্যকারিতা যাচাই করে। Aurelia ফ্রেমওয়ার্কে E2E টেস্টিং করতে WebDriverIO বা Protractor এর মতো টুল ব্যবহার করা যেতে পারে, তবে এখানে আমরা WebDriverIO নিয়ে আলোচনা করব কারণ এটি খুবই জনপ্রিয় এবং ব্যবহারে সহজ।


১. WebDriverIO কি?

WebDriverIO একটি অত্যন্ত জনপ্রিয় JavaScript লাইব্রেরি যা ব্রাউজারের মধ্যে অ্যাপ্লিকেশন টেস্টিং করার জন্য ব্যবহৃত হয়। এটি Selenium WebDriver API এর উপরে ভিত্তি করে কাজ করে এবং WebDriver API এর মাধ্যমে ব্রাউজারের সাথে ইন্টারঅ্যাক্ট করে। WebDriverIO E2E টেস্টিং, ওয়েব পেজ ইন্টারঅ্যাকশন এবং ব্রাউজারের ডোম (DOM) চেকিং খুব সহজভাবে করতে সাহায্য করে।


২. Aurelia-তে E2E টেস্টিং সেটআপ করা

Aurelia অ্যাপ্লিকেশনের জন্য E2E টেস্টিং সেটআপ করার জন্য প্রথমে WebDriverIO এবং তার নির্ভরশীল প্যাকেজগুলো ইনস্টল করতে হবে। নিচে আমরা ধাপে ধাপে সেটআপ প্রক্রিয়া আলোচনা করবো।

২.১. WebDriverIO ইনস্টল করা

প্রথমে WebDriverIO এবং প্রয়োজনীয় অন্যান্য প্যাকেজগুলি ইনস্টল করুন:

npm install --save-dev @wdio/cli wdio-chromedriver-service @wdio/mocha-framework @wdio/spec-reporter

এটি WebDriverIO CLI, ChromeDriver (ক্রোম ব্রাউজারের জন্য), Mocha ফ্রেমওয়ার্ক এবং Spec রিপোর্টার ইনস্টল করবে।

২.২. WebDriverIO কনফিগারেশন ফাইল তৈরি করা

@wdio/cli ইনস্টল করার পর, WebDriverIO কনফিগারেশন ফাইল তৈরি করতে নিচের কমান্ডটি রান করুন:

npx wdio config

এটি একটি কনফিগারেশন ফাইল তৈরি করবে (যেমন wdio.conf.js), যেখানে আপনি আপনার টেস্টিং পরিবেশ কনফিগার করবেন।

কনফিগারেশনের সময় কয়েকটি প্রশ্ন করা হবে, যেমন:

  • টেস্ট ফ্রেমওয়ার্ক: Mocha নির্বাচন করুন।
  • টেস্ট রিপোটিং: Spec রিপোটার নির্বাচন করুন।
  • ব্রাউজার: ChromeDriver ব্যবহার করুন।

২.৩. WebDriverIO কনফিগারেশন ফাইল (wdio.conf.js)

wdio.conf.js ফাইলটি আপনার প্রজেক্টে নিচের মতো দেখতে হবে:

exports.config = {
  runner: 'local',
  specs: ['./test/**/*.e2e.js'], // E2E টেস্ট ফাইলের লোকেশন
  maxInstances: 1,
  capabilities: [{
    browserName: 'chrome'
  }],
  logLevel: 'info',
  framework: 'mocha',
  reporters: ['spec'],
  services: ['chromedriver'],
  mochaOpts: {
    timeout: 60000
  }
};

এখানে, specs ফিল্ডে আপনার E2E টেস্ট ফাইলের লোকেশন নির্ধারণ করুন। এছাড়া, chromedriver সেবাটি ব্যবহার করা হচ্ছে যাতে আপনি Chrome ব্রাউজারে টেস্ট চালাতে পারেন।


৩. E2E টেস্ট তৈরি করা

WebDriverIO সেটআপ করার পর, এখন E2E টেস্ট তৈরি করতে হবে। সাধারণত টেস্ট ফাইলের এক্সটেনশন .e2e.js থাকে।

৩.১. একটি সিম্পল E2E টেস্ট

ধরা যাক, আমরা একটি সিম্পল টেস্ট তৈরি করছি যেখানে একটি অ্যাপের হোম পেজের শিরোনাম (title) যাচাই করা হবে।

  1. test/homepage.e2e.js:
describe('Homepage', () => {
  it('should have the correct title', async () => {
    await browser.url('http://localhost:8080');  // অ্যাপ্লিকেশন URL
    const title = await browser.getTitle();     // পেজের টাইটেল পেতে
    assert.strictEqual(title, 'Aurelia App');   // টাইটেল চেক করা
  });
});

এখানে, আমরা browser.url() ব্যবহার করে অ্যাপ্লিকেশনের হোমপেজে গিয়েছি এবং getTitle() মেথড ব্যবহার করে পেজের টাইটেল যাচাই করেছি।

৩.২. ফর্ম ইন্টারঅ্যাকশন টেস্টিং

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

  1. test/signup.e2e.js:
describe('Signup Form', () => {
  it('should submit the form correctly', async () => {
    await browser.url('http://localhost:8080/signup');
    
    const usernameInput = await $('#username');   // Username ইনপুট ফিল্ড নির্বাচন
    const passwordInput = await $('#password');   // Password ইনপুট ফিল্ড নির্বাচন
    const submitButton = await $('#submit');      // Submit বাটন নির্বাচন

    await usernameInput.setValue('testuser');     // ইউজারনেম ইনপুটে মান প্রদান
    await passwordInput.setValue('password123');  // পাসওয়ার্ড ইনপুটে মান প্রদান
    await submitButton.click();                   // সাবমিট বাটন ক্লিক করা

    const successMessage = await $('#success-message'); // সফল মেসেজ নির্বাচন
    expect(await successMessage.getText()).toBe('Signup successful!');  // মেসেজ যাচাই
  });
});

এখানে, আমরা setValue() মেথড ব্যবহার করে ইউজারনেম এবং পাসওয়ার্ড ইনপুটে মান প্রদান করেছি এবং click() মেথড ব্যবহার করে সাবমিট বাটন ক্লিক করেছি। তারপর, getText() মেথড ব্যবহার করে সফল মেসেজ চেক করা হয়েছে।


৪. E2E টেস্ট চালানো

সবকিছু প্রস্তুত হওয়ার পর, আপনি E2E টেস্ট চালাতে পারেন। নিম্নলিখিত কমান্ডটি চালিয়ে টেস্ট রান করুন:

npx wdio run wdio.conf.js

এটি WebDriverIO কনফিগারেশন ফাইল ব্যবহার করে আপনার E2E টেস্ট রান করবে এবং আপনার ব্রাউজারে ইন্টারঅ্যাকশন দেখাবে।


উপসংহার

Aurelia তে E2E (End-to-End) টেস্টিং ব্যবহার করার মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনের পুরো কার্যকারিতা পরীক্ষা করতে পারেন। WebDriverIO একটি শক্তিশালী টুল যা ব্রাউজার ইন্টারঅ্যাকশন এবং অ্যাপ্লিকেশন টেস্টিং সহজ এবং কার্যকর করে তোলে। E2E টেস্টিং নিশ্চিত করে যে আপনার অ্যাপ্লিকেশন সব ধরনের ব্যবহারকারীর জন্য সঠিকভাবে কাজ করছে এবং সেটি উন্নত কোয়ালিটি নিশ্চিত করে।

Content added By
Promotion

Are you sure to start over?

Loading...