คำอธิบายโดยละเอียดของตัวอย่างที่ขับเคลื่อนด้วยข้อมูลโดยใช้ XML เป็นแหล่งข้อมูลใน Java และ TestNG
ฟังก์ชั่นของ TestNG นั้นมีประสิทธิภาพมาก ใช้ XML เป็นตัวอย่างที่นี่:
หมายเหตุ: @dataProvider ประเภทประเภทค่าส่งคืนสามารถเป็นวัตถุเท่านั้น [] [] และ iterator <jobch> []
testdata.xml:
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <data> <testMethod1> <put> 1 </อินพุต> <button> 2 </ปุ่ม> </testMethod1> <TestMethod1> <put> 3 </put> <button> 4 </putton> </testMethod4> </tato>
ใช้ dom4j เพื่อแยกวิเคราะห์ XML, parserxml.java ไฟล์:
แพ็คเกจ com.test; นำเข้า java.io.file; นำเข้า java.util.arraylist; นำเข้า java.util.hashmap; นำเข้า java.util.iterator; นำเข้า java.util.list; นำเข้า java.util.map; Reader; Public Class Parserxml {รายการสาธารณะ parser3xml (ชื่อไฟล์สตริง) {ไฟล์ inputxml = ไฟล์ใหม่ (ชื่อไฟล์); hmap (); hashmap (); Intln (E.GetMessage ());จากนั้นรายการที่แยกวิเคราะห์จะถูกแปลงเป็นวัตถุ [] [] ข้อมูลและรวมกันใน @Dataprovider
ไฟล์ testdata.java:
แพ็คเกจ com.test; นำเข้า java.io.file; นำเข้า java.lang.reflect.method; นำเข้า java.util.arraylist; นำเข้า java.util.hashmap; นำเข้า java.util.iterator; นำเข้า java.util.list; Public TestData () {this.getxmldata (); parserxml (); l = p.parser3xml (ไฟล์ใหม่ ("src/com/test/testdata.xml"). getabsolutepath (); ; String> DM = (MAP <String, String>) M.Get (Method.getName ();จากนั้นทดสอบไฟล์ทดสอบ:
testDataprovider.java ไฟล์:
แพ็คเกจ com.test; นำเข้า java.util.map; นำเข้า org.testng.annotations.*; Public Class TestDataprovider ขยาย TestData {@Test (dataProvider = "ProviderMethod") Public TestMethod1 (MAP <? "providermethod") โมฆะสาธารณะ testMethod2 (แผนที่ <?,?> param) { System.out.println ("Method2 ได้รับ:"+param.get ("อินพุต"));} @test (dataprovider = "providermethod") โมฆะสาธารณะ testmethod3 (แผนที่ <? ");}}กลับมาและวิเคราะห์ไฟล์ XML , testMethod2, testMethod3 และ testMethod4 ทำงานหนึ่งครั้งและผลลัพธ์มีดังนี้:
วิธีการที่ได้รับ: 1Method1 ได้รับ: 3Method2 ได้รับ: 3Method3 ได้รับ: 3Method4 ได้รับ: 4Passed: testMethod1 ({อินพุต = 1, ปุ่ม = 2}) ผ่าน: testMethod1 ({อินพุต = 3, ปุ่ม = 4}) ผ่าน: TestMethod2 (อินพุต = 3, ปุ่ม = 3) TestMethod4 ==================================================================================================================== ========================================================== กล่าวอีกนัยหนึ่งด้วยวิธีนี้คุณจะต้องเขียนฟังก์ชั่นทดสอบก่อนจากนั้นกำหนดข้อมูลในไฟล์ XML และคุณสามารถควบคุมได้ว่าฟังก์ชั่นทำงานจำนวนการรันและข้อมูลที่ทำงาน
โอเคมาลอง ...
ขอบคุณสำหรับการอ่านฉันหวังว่ามันจะช่วยคุณได้