TestNG এর সাথে XML কনফিগারেশন

TestNG সেটআপ এবং ইনস্টলেশন - টেস্টএনজি (TestNG) - Java Technologies

408

TestNG XML কনফিগারেশন TestNG ফ্রেমওয়ার্কে টেস্ট কেস সংগঠিত ও পরিচালনা করার একটি গুরুত্বপূর্ণ উপায়। XML ফাইল ব্যবহার করে বিভিন্ন টেস্ট মেথড, ক্লাস এবং প্যাকেজ কনফিগার করা যায়, যা টেস্টিং প্রক্রিয়াকে আরও ফ্লেক্সিবল এবং সুগঠিত করে।


কেন TestNG XML কনফিগারেশন ব্যবহার করবেন?

  • মাল্টিপল ক্লাস ও প্যাকেজ পরিচালনা: একাধিক টেস্ট ক্লাস ও প্যাকেজ একত্রে রান করার জন্য।
  • টেস্ট গ্রুপিং: নির্দিষ্ট টেস্ট গ্রুপ চালানোর জন্য।
  • কাস্টমাইজেশন: টেস্ট মেথডের অর্ডার এবং প্যারামিটার সেটআপের জন্য।
  • পোর্টেবল টেস্ট কনফিগারেশন: XML ফাইল টেস্ট পরিকল্পনা এবং এক্সিকিউশন সহজ করে।

TestNG XML ফাইলের কাঠামো

একটি সাধারণ TestNG XML ফাইলের কাঠামো নিম্নরূপ:

<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
<suite name="TestSuiteName">
    <test name="TestName">
        <classes>
            <class name="package_name.ClassName" />
        </classes>
    </test>
</suite>

উপাদানের বিবরণ:

  • <suite>: টেস্ট স্যুটের নাম এবং কনফিগারেশন।
  • <test>: একটি নির্দিষ্ট টেস্ট গ্রুপ বা টেস্ট কনফিগারেশন।
  • <classes>: টেস্ট ক্লাস লিস্ট।
  • <class>: নির্দিষ্ট টেস্ট ক্লাস।

উদাহরণ: একাধিক টেস্ট ক্লাস কনফিগার করা

<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
<suite name="MySuite">
    <test name="MyTest">
        <classes>
            <class name="com.example.TestClass1" />
            <class name="com.example.TestClass2" />
        </classes>
    </test>
</suite>

এখানে TestClass1 এবং TestClass2 একত্রে রান করবে।


টেস্ট গ্রুপিং XML ফাইলের মাধ্যমে

TestNG-তে গ্রুপিং ব্যবহার করে নির্দিষ্ট টেস্ট গ্রুপ চালানো যায়।

কোড উদাহরণ:

import org.testng.annotations.Test;

public class GroupExample {
    @Test(groups = { "regression" })
    public void regressionTest() {
        System.out.println("Regression Test");
    }

    @Test(groups = { "sanity" })
    public void sanityTest() {
        System.out.println("Sanity Test");
    }

    @Test(groups = { "sanity", "regression" })
    public void bothTests() {
        System.out.println("Both Groups Test");
    }
}

XML ফাইল:

<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
<suite name="MySuite">
    <test name="GroupTest">
        <groups>
            <run>
                <include name="sanity" />
            </run>
        </groups>
        <classes>
            <class name="com.example.GroupExample" />
        </classes>
    </test>
</suite>

এখানে শুধুমাত্র sanity গ্রুপের টেস্ট মেথডগুলো রান হবে।


প্যারামিটার ব্যবহারের জন্য XML ফাইল

TestNG XML কনফিগারেশন ব্যবহার করে টেস্ট মেথডে প্যারামিটার পাস করা যায়।

কোড উদাহরণ:

import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class ParameterExample {
    @Test
    @Parameters({ "username", "password" })
    public void loginTest(String username, String password) {
        System.out.println("Username: " + username);
        System.out.println("Password: " + password);
    }
}

XML ফাইল:

<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
<suite name="MySuite">
    <test name="ParameterTest">
        <parameter name="username" value="admin" />
        <parameter name="password" value="12345" />
        <classes>
            <class name="com.example.ParameterExample" />
        </classes>
    </test>
</suite>

এখানে username এবং password প্যারামিটার টেস্ট মেথডে পাস হবে।


টেস্ট অর্ডার সেট করা

XML ফাইল ব্যবহার করে টেস্ট মেথডগুলোর অর্ডার নির্ধারণ করা সম্ভব।

XML ফাইল:

<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
<suite name="MySuite">
    <test name="OrderedTest">
        <classes>
            <class name="com.example.TestClass">
                <methods>
                    <include name="testMethod2" />
                    <include name="testMethod1" />
                </methods>
            </class>
        </classes>
    </test>
</suite>

এখানে testMethod2 আগে এবং testMethod1 পরে চালানো হবে।


সারাংশ

TestNG XML কনফিগারেশন টেস্ট পরিচালনা করার জন্য একটি সহজ এবং কার্যকর পদ্ধতি। এর মাধ্যমে টেস্ট ক্লাস, গ্রুপ, প্যারামিটার, এবং অর্ডার কাস্টমাইজ করা যায়। এটি বড় প্রকল্পে টেস্টিং প্রক্রিয়া পরিচালনা করতে গুরুত্বপূর্ণ ভূমিকা পালন করে।

Content added By
Promotion

Are you sure to start over?

Loading...