Practical উদাহরণ: JSoup এর জন্য Automated Testing

JSoup এর জন্য Unit Testing এবং Integration Testing - জেসুপ (JSoup) - Java Technologies

289

JSoup একটি শক্তিশালী লাইব্রেরি যা HTML parsing, DOM manipulation, এবং ওয়েব স্ক্র্যাপিংয়ের জন্য ব্যবহৃত হয়। যখন আপনি JSoup ব্যবহার করে ডাটা এক্সট্র্যাক্ট বা ম্যানিপুলেশন করেন, তখন আপনার কোডের সঠিকতা যাচাই করার জন্য অটোমেটেড টেস্টিং অত্যন্ত গুরুত্বপূর্ণ। জাভা ভাষায় JSoup ব্যবহারের জন্য অটোমেটেড টেস্টিং করার জন্য সাধারণত JUnit বা TestNG এর মতো টেস্টিং ফ্রেমওয়ার্ক ব্যবহার করা হয়।

এখানে আমরা JUnit ব্যবহার করে JSoup এর জন্য একটি সাধারণ অটোমেটেড টেস্টিং উদাহরণ দেখব, যেখানে HTML ডকুমেন্ট পার্সিং এবং ডাটা এক্সট্র্যাক্টিংয়ের সঠিকতা যাচাই করা হবে।


JUnit দিয়ে JSoup এর Automated Testing

JUnit হলো একটি জনপ্রিয় টেস্টিং ফ্রেমওয়ার্ক যা আপনাকে কোডের কার্যকারিতা পরীক্ষা করতে সাহায্য করে। নিচে একটি উদাহরণ দেওয়া হলো যেখানে JSoup দিয়ে HTML পার্স করা এবং নির্দিষ্ট ট্যাগ থেকে ডাটা এক্সট্র্যাক্ট করার জন্য JUnit টেস্ট তৈরি করা হয়েছে।

১. JSoup টেস্টিং এর উদাহরণ

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.junit.Test;
import static org.junit.Assert.*;

public class JsoupTest {
    
    @Test
    public void testParseHtml() {
        String html = "<html><head><title>Test Page</title></head><body><h1>Welcome to JSoup</h1></body></html>";
        
        // HTML পার্সিং
        Document doc = Jsoup.parse(html);
        
        // টাইটেল ট্যাগের মান যাচাই
        assertEquals("Test Page", doc.title());
        
        // <h1> ট্যাগের টেক্সট যাচাই
        Element heading = doc.select("h1").first();
        assertNotNull(heading);
        assertEquals("Welcome to JSoup", heading.text());
    }
}

এখানে আমরা দুটি মূল পরীক্ষা করেছি:

  1. টাইটেল ট্যাগের মান যাচাই: assertEquals("Test Page", doc.title()); এর মাধ্যমে যাচাই করা হয়েছে যে, পার্স করা ডকুমেন্টের টাইটেল সঠিক কিনা।
  2. <h1> ট্যাগের টেক্সট যাচাই: assertEquals("Welcome to JSoup", heading.text()); এর মাধ্যমে যাচাই করা হয়েছে যে, h1 ট্যাগের টেক্সট সঠিকভাবে এক্সট্র্যাক্ট হচ্ছে কিনা।

২. HTML ফাইলের মধ্যে ট্যাগ নির্বাচন এবং এক্সট্র্যাকশন

ধরা যাক, আমাদের HTML ডকুমেন্টে বেশ কিছু ট্যাগ রয়েছে এবং আমরা তাদের মধ্যে কিছু নির্দিষ্ট ডাটা এক্সট্র্যাক্ট করতে চাই। এই উদাহরণে, আমরা <div> ট্যাগ থেকে ক্লাস অনুযায়ী ডাটা এক্সট্র্যাক্ট করব এবং তার সঠিকতা যাচাই করব।

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.junit.Test;
import static org.junit.Assert.*;

public class JsoupTest {
    
    @Test
    public void testExtractDataFromDiv() {
        String html = "<html><head><title>Test Page</title></head><body>" +
                "<div class='content'>This is content</div>" +
                "<div class='footer'>Footer content</div>" +
                "</body></html>";
        
        // HTML পার্সিং
        Document doc = Jsoup.parse(html);
        
        // 'content' ক্লাস সহ <div> ট্যাগের মান যাচাই
        Element contentDiv = doc.select("div.content").first();
        assertNotNull(contentDiv);
        assertEquals("This is content", contentDiv.text());
        
        // 'footer' ক্লাস সহ <div> ট্যাগের মান যাচাই
        Element footerDiv = doc.select("div.footer").first();
        assertNotNull(footerDiv);
        assertEquals("Footer content", footerDiv.text());
    }
}

এখানে, আমরা দুটি div ট্যাগের মান যাচাই করছি: একটি class="content" এবং আরেকটি class="footer"assertNotNull() মেথড দিয়ে যাচাই করা হচ্ছে যে, সংশ্লিষ্ট ট্যাগগুলো সফলভাবে এক্সট্র্যাক্ট হয়েছে, এবং assertEquals() দিয়ে তাদের টেক্সট ঠিকভাবে এসেছে কিনা তা যাচাই করা হচ্ছে।

৩. JUnit টেস্ট রান করা

এই কোডগুলি রান করার জন্য, আপনার Maven বা Gradle প্রকল্পে JUnit ডিপেনডেন্সি অন্তর্ভুক্ত করা থাকতে হবে। নিচে Maven এর জন্য pom.xml এ JUnit ডিপেনডেন্সি দেওয়া হলো:

<dependencies>
    <!-- JSoup Dependency -->
    <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>1.15.3</version>
    </dependency>

    <!-- JUnit Dependency -->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.7.0</version>
    </dependency>
</dependencies>

৪. Maven কমান্ড দিয়ে টেস্ট চালানো

Maven ব্যবহার করে JUnit টেস্ট চালানোর জন্য নিচের কমান্ড ব্যবহার করতে পারেন:

mvn test

এটি আপনার সমস্ত টেস্ট রান করবে এবং টেস্টের আউটপুট কনসোলে দেখাবে।


সারাংশ

JSoup দিয়ে HTML parsing, DOM manipulation, এবং ওয়েব স্ক্র্যাপিং করার ক্ষেত্রে অটোমেটেড টেস্টিং করা অত্যন্ত গুরুত্বপূর্ণ। JUnit ফ্রেমওয়ার্ক ব্যবহার করে আপনি সহজেই JSoup এর কার্যকারিতা পরীক্ষা করতে পারেন। টেস্টিংয়ের মাধ্যমে আপনি নিশ্চিত হতে পারবেন যে আপনার কোড সঠিকভাবে কাজ করছে, যেমন HTML ট্যাগ পার্সিং, ডাটা এক্সট্র্যাকশন, এবং DOM ম্যানিপুলেশন। JSoup এর জন্য অটোমেটেড টেস্টিং কোডের নির্ভরযোগ্যতা এবং স্থিতিশীলতা বজায় রাখতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...