JSoup ব্যবহার করে HTML কন্টেন্ট এবং ডেটা এক্সট্র্যাকশনের জন্য টেস্ট কেস তৈরি করা একটি গুরুত্বপূর্ণ পদক্ষেপ, যা আপনার ওয়েব স্ক্র্যাপিং এবং HTML ডকুমেন্ট পার্সিং প্রক্রিয়ার সঠিকতা নিশ্চিত করতে সহায়তা করে। নিচে, JSoup ব্যবহার করে HTML কন্টেন্ট এবং ডেটা এক্সট্র্যাকশনের জন্য কিছু সাধারণ টেস্ট কেস তৈরি করার প্রক্রিয়া দেওয়া হলো।
1. HTML ডকুমেন্ট পার্স করা এবং ট্যাগের টেক্সট এক্সট্র্যাকশন
টেস্ট কেস: Test_ParseHtmlDocument
এই টেস্ট কেসে, আমরা একটি সাধারণ HTML ডকুমেন্ট পার্স করব এবং <h1> ট্যাগের টেক্সট এক্সট্র্যাক্ট করব।
টেস্ট কেস:
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 HtmlContentTest {
@Test
public void Test_ParseHtmlDocument() {
// HTML ডকুমেন্ট
String html = "<html><body><h1>Welcome to JSoup</h1></body></html>";
// JSoup দিয়ে HTML পার্স
Document doc = Jsoup.parse(html);
// <h1> ট্যাগের টেক্সট এক্সট্র্যাক্ট করা
Element h1 = doc.select("h1").first();
// টেস্ট চেক করা
assertEquals("Welcome to JSoup", h1.text());
}
}
এখানে, HTML ডকুমেন্টে <h1> ট্যাগের টেক্সট "Welcome to JSoup" এক্সট্র্যাক্ট করা হয়েছে এবং এর সাথে টেস্ট করা হয়েছে।
2. HTML অ্যাট্রিবিউট এক্সট্র্যাকশন
টেস্ট কেস: Test_ExtractAttributeValue
এই টেস্ট কেসে, আমরা একটি HTML ডকুমেন্ট থেকে একটি ইমেজ ট্যাগের src অ্যাট্রিবিউট এক্সট্র্যাক্ট করব।
টেস্ট কেস:
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 HtmlContentTest {
@Test
public void Test_ExtractAttributeValue() {
// HTML ডকুমেন্ট
String html = "<html><body><img src='image.jpg' alt='Sample Image'/></body></html>";
// JSoup দিয়ে HTML পার্স
Document doc = Jsoup.parse(html);
// <img> ট্যাগের src অ্যাট্রিবিউট এক্সট্র্যাক্ট করা
Element img = doc.select("img").first();
String srcValue = img.attr("src");
// টেস্ট চেক করা
assertEquals("image.jpg", srcValue);
}
}
এখানে, <img> ট্যাগের src অ্যাট্রিবিউটের মান "image.jpg" এক্সট্র্যাক্ট করা হয়েছে এবং এটি টেস্ট করা হয়েছে।
3. HTML টেবিল থেকে ডেটা এক্সট্র্যাকশন
টেস্ট কেস: Test_ExtractDataFromTable
এই টেস্ট কেসে, আমরা একটি HTML টেবিল থেকে সেলের ডেটা এক্সট্র্যাক্ট করব।
টেস্ট কেস:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.junit.Test;
import static org.junit.Assert.*;
public class HtmlContentTest {
@Test
public void Test_ExtractDataFromTable() {
// HTML টেবিল
String html = "<html><body><table><tr><td>John</td><td>25</td></tr><tr><td>Alice</td><td>30</td></tr></table></body></html>";
// JSoup দিয়ে HTML পার্স
Document doc = Jsoup.parse(html);
// টেবিল থেকে ডেটা এক্সট্র্যাক্ট করা
Elements rows = doc.select("table tr");
// প্রথম রো থেকে ডেটা এক্সট্র্যাক্ট করা
Element firstRow = rows.get(0);
Elements cols = firstRow.select("td");
String name = cols.get(0).text();
String age = cols.get(1).text();
// টেস্ট চেক করা
assertEquals("John", name);
assertEquals("25", age);
}
}
এখানে, একটি HTML টেবিল থেকে প্রথম রোতে থাকা ডেটা "John" এবং "25" এক্সট্র্যাক্ট করা হয়েছে এবং এটি টেস্ট করা হয়েছে।
4. HTML ডকুমেন্টে ক্লাসের মাধ্যমে উপাদান নির্বাচন
টেস্ট কেস: Test_ExtractDataByClass
এই টেস্ট কেসে, আমরা HTML ডকুমেন্ট থেকে একটি নির্দিষ্ট ক্লাসের মাধ্যমে উপাদান নির্বাচন করব এবং তার টেক্সট এক্সট্র্যাক্ট করব।
টেস্ট কেস:
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 HtmlContentTest {
@Test
public void Test_ExtractDataByClass() {
// HTML ডকুমেন্ট
String html = "<html><body><div class='content'>JSoup is awesome!</div></body></html>";
// JSoup দিয়ে HTML পার্স
Document doc = Jsoup.parse(html);
// .content ক্লাসের মাধ্যমে ডেটা এক্সট্র্যাক্ট করা
Element contentDiv = doc.select(".content").first();
// টেস্ট চেক করা
assertEquals("JSoup is awesome!", contentDiv.text());
}
}
এখানে, .content ক্লাসের মাধ্যমে ডেটা এক্সট্র্যাক্ট করা হয়েছে এবং এটি টেস্ট করা হয়েছে।
সারাংশ
HTML কন্টেন্ট এবং ডেটা এক্সট্র্যাকশনের জন্য JSoup ব্যবহার করে টেস্ট কেস তৈরি করা একটি গুরুত্বপূর্ণ কাজ। আপনি HTML ডকুমেন্টের বিভিন্ন ট্যাগ, অ্যাট্রিবিউট, টেবিল রো, ক্লাস ইত্যাদি থেকে ডেটা এক্সট্র্যাক্ট করতে পারেন এবং সেগুলির সঠিকতা টেস্ট করতে পারেন। JUnit ব্যবহার করে এই টেস্ট কেসগুলি কার্যকরভাবে তৈরি এবং পরিচালনা করা সম্ভব। JSoup এর মাধ্যমে HTML পার্সিং ও ডেটা এক্সট্র্যাকশনের টেস্ট কেসগুলি ওয়েব স্ক্র্যাপিং এবং ডেটা প্রক্রিয়ার সঠিকতা নিশ্চিত করতে সহায়ক।
Read more