การยืนยันใน SoapUI: สคริปต์, XQuery, บทช่วยสอนประเภท XPath

การยืนยันคืออะไร?

การยืนยันหมายถึงการกระทำที่ยืนยันหรือระบุบางสิ่งบางอย่าง นอกจากนี้ยังสามารถตีความได้ว่าเป็นจุดตรวจสอบหรือจุดตรวจสอบ

เมื่อคำขอถูกส่งไปยังเว็บเซิร์ฟเวอร์ก็จะได้รับการตอบกลับ เราจำเป็นต้องตรวจสอบว่าคำตอบมีข้อมูลที่เราคาดหวังหรือไม่ เพื่อที่จะตรวจสอบคำตอบ เราจำเป็นต้องใช้การยืนยัน

ประเภทของการยืนยัน

มีหลายวิธีในการยืนยันคำตอบ อย่างไรก็ตาม เราจะมุ่งเน้นไปที่ประเภท SoapUI Assertions ที่ใช้กันทั่วไปในขณะที่ตรวจสอบคำตอบ ด้านล่างนี้คือรายการที่มีอยู่ใน SoapUI เวอร์ชันโอเพ่นซอร์ส

  1. เนื้อหาทรัพย์สิน
  2. มาตรฐานสถานะการปฏิบัติตาม
  3. ต้นฉบับ
  4. SLA
  5. จส
  6. ความปลอดภัย
ประเภทของการยืนยันใน SoapUI
ประเภทของการยืนยันใน SoapUI

นอกเหนือจากที่ระบุไว้ข้างต้น รุ่น PRO ยังมี JDBC Assertion ในตัวซึ่งเราสามารถยืนยันได้ว่าบริการเว็บได้อัปเดตฐานข้อมูลอย่างถูกต้องหรือไม่

มีการยืนยัน

ค้นหาการมีอยู่ของสตริงที่ระบุ นอกจากนี้ยังรองรับการแสดงออกปกติด้วย

เราจะดำเนินการต่อด้วยตัวอย่างเดียวกันจากบทช่วยสอนก่อนหน้านี้โดยมีคำขอ WSDL เป็น http://www.dneonline.com/calculator.asmx.

ขั้นตอนที่ 1: โดยค่าเริ่มต้นไม่มีการยืนยัน

  • จำนวนการยืนยันจะแสดงอยู่ในแท็บการยืนยัน
  • หากต้องการเพิ่มการยืนยันใหม่ ให้คลิกที่ปุ่ม 'เพิ่มการยืนยันใหม่'

ประกอบด้วยการยืนยัน

ขั้นตอนที่ 2: ตอนนี้

  1. เลือกหมวดหมู่การยืนยัน
  2. เลือกประเภทการยืนยัน
  3. คลิก 'เพิ่ม'

ประกอบด้วยการยืนยัน

ขั้นตอนที่ 3: ให้เราตรวจสอบว่ามีสตริง '46' ในการตอบกลับหรือไม่ คลิก 'ตกลง'

หมายเหตุ: นอกจากนี้เรายังสามารถละเว้นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่และเพิ่มนิพจน์ทั่วไปได้

ประกอบด้วยการยืนยัน

ขั้นตอนที่ 4: เมื่อเพิ่มเข้าไป การยืนยันจะถูกดำเนินการทันทีและแสดงว่า VALID หรือ INVALID

ประกอบด้วยการยืนยัน

ขั้นตอนที่ 5: ตอนนี้สมมติว่าเราเปลี่ยนเนื้อหาของ 'Contains Assertion in SoapUI' เป็น '47' และดูว่าเกิดอะไรขึ้น

ประกอบด้วยการยืนยัน

ขั้นตอนที่ 6: การยืนยันจะถูกดำเนินการและผลลัพธ์จะถูกส่งไปยังผู้ใช้ เนื่องจากเราไม่มีสตริง '47' ในการตอบกลับ การยืนยันจึงล้มเหลว

ประกอบด้วยการยืนยัน

ไม่มีการยืนยัน

ค้นหาการไม่มีอยู่ของสตริงที่ระบุ นอกจากนี้ยังรองรับการแสดงออกปกติด้วย

ขั้นตอนที่ 1: ตอนนี้หลังจากคลิกที่ปุ่ม 'เพิ่มการยืนยันใหม่'

  1. เลือกหมวดหมู่การยืนยัน
  2. เลือกประเภทการยืนยัน - ในกรณีนี้ 'ไม่มี'
  3. คลิก 'เพิ่ม'

ไม่มีการยืนยัน

ขั้นตอนที่ 2: ให้เราตรวจสอบว่ามีสตริง 'intA' ในการตอบกลับหรือไม่ ป้อนสตริง 'FromCurrency' และคลิก 'ตกลง'

ไม่มีการยืนยัน

ขั้นตอนที่ 3: ทันทีที่มีการเพิ่มคำยืนยัน ระบบจะดำเนินการและแสดงผลลัพธ์ จนถึงตอนนี้ เราได้เพิ่มคำยืนยันสองรายการ ดังนั้นคำยืนยันทั้งสองรายการจึงถูกดำเนินการและแสดงผลลัพธ์

ไม่มีการยืนยัน

ขั้นตอนที่ 4: ตอนนี้ให้เราเปลี่ยนเนื้อหาของ 'ไม่มีการยืนยัน' และดูว่าเกิดอะไรขึ้น เราจะตรวจสอบการไม่มีสตริง “AddResult”

ไม่มีการยืนยัน

ขั้นตอนที่ 5: จริงๆ แล้วสตริง 'AddResult' ปรากฏอยู่ในการตอบกลับ ดังนั้นการยืนยัน 'NOT ประกอบด้วย' จะล้มเหลวดังที่แสดงด้านล่าง

ไม่มีการยืนยัน

การยืนยันการจับคู่ XPATH

การใช้งาน XPath นิพจน์เพื่อเลือกโหนดเป้าหมายและค่าของมัน XPath เป็นภาษาคิวรี XML สำหรับการเลือกโหนดจากเอกสาร XML

ขั้นตอนที่ 1: ตอนนี้หลังจากคลิกที่ปุ่ม 'เพิ่มการยืนยันใหม่'

  1. เลือกหมวดหมู่การยืนยัน
  2. เลือกประเภทการยืนยัน – ในกรณีนี้คือ 'XPath Match'
  3. คลิก 'เพิ่ม'

การยืนยันการจับคู่ XPath

ขั้นตอนที่ 2: หน้าต่างเพิ่ม XPath จะเปิดขึ้น

ก่อนที่จะเพิ่ม SoapUI XPath เราจำเป็นต้องประกาศ NameSpace เนมสเปซ XML คือชุดของชื่อที่ระบุโดยการอ้างอิง Uniform Resource Identifier (URI) ซึ่งใช้ในเอกสาร XML เป็นชื่อองค์ประกอบและแอตทริบิวต์ เช่นเดียวกับที่ใช้ใน SOAP UI XPath Assertion

สำหรับการประกาศเนมสเปซ XML เราเพียงแค่ต้องคลิกที่ปุ่ม 'ประกาศ' ซึ่งจะทำหน้าที่แทนเรา ไม่เช่นนั้น เราก็สามารถประกาศเนมสเปซด้วยตนเองได้

หลังจากประกาศเนมสเปซแล้ว เราจำเป็นต้องอ้างอิง XPath โดยใช้เนมสเปซที่สร้างขึ้น

เมื่อคลิกปุ่ม 'ประกาศ' เนมสเปซสองรายการจะปรากฏขึ้นเนื่องจากเรามี URI สองรายการ หนึ่งในนั้นคือ URL ของสคีมาและอีกอันหนึ่งสอดคล้องกับ URL ของบริการเว็บจริง เราจำเป็นต้องใช้เนมสเปซจริงที่มีบริการเว็บตั้งอยู่ และไม่ใช่เนมสเปซสคีมาในขณะที่อ้างอิง XPath

การยืนยันการจับคู่ XPath

ประกาศสบู่เนมสเปซ = 'http://schemas.xmlsoap.org/soap/envelope/';

ประกาศเนมสเปซ ns1='http://tempuri.org/';

การยืนยันการจับคู่ XPath

ขั้นตอนที่ 3: ตอนนี้เราต้องป้อน XPath ของโหนด XML ที่เราต้องตรวจสอบ

//ns1:AddResult ให้ค่าของโหนดที่อยู่ระหว่างนั้นแก่เรา - และ ns1 สอดคล้องกับเนมสเปซที่ประกาศซึ่งชี้ไปที่ 'http://tempuri.org/'

หลังจากป้อน XML แล้ว เราจะต้องคลิกที่ 'เลือกจากปัจจุบัน' เพื่อให้ค่าจากการตอบกลับปัจจุบันถูกหยิบขึ้นมาเพื่อการเปรียบเทียบในอนาคต

การยืนยันการจับคู่ XPath

ขั้นตอนที่ 4: เพื่อให้ห่างไกล

  1. หลังจากประกาศเนมสเปซแล้ว เราได้ป้อน XPath ของโหนด XML ที่เราจำเป็นต้องตรวจสอบ
  2. เราจำเป็นต้องคลิก 'เลือกจากปัจจุบัน' เพื่อให้ค่าปัจจุบันเป็นค่าที่คาดหวัง
  3. ค่าปัจจุบันจะแสดงให้ผู้ใช้เห็นซึ่งเราสามารถแก้ไขได้หากจำเป็น
  4. คลิก 'บันทึก'

การยืนยันการจับคู่ XPath

ขั้นตอนที่ 5: Assertion ที่เพิ่มเข้ามาใน SoapUI จะแสดงดังที่แสดงด้านล่าง

การยืนยันการจับคู่ XPath

การยืนยันสคริปต์

เทคนิคการยืนยันนี้เป็นเทคนิคที่ใช้กันอย่างแพร่หลายที่สุด เนื่องจากเป็นเรื่องยากมากที่จะจัดการและรักษาการยืนยันหลายร้อยรายการ

SOAP UI ใช้ทั้ง Groovy การเขียนสคริปต์หรือ Javaต้นฉบับ สำหรับการยืนยันสคริปต์ เทคนิคการเขียนสคริปต์ถูกนำมาใช้เพื่อพัฒนากรอบงานสำหรับการทดสอบ SOAP การยืนยันสคริปต์จะใช้ภายใต้สถานการณ์ต่อไปนี้

การเขียนสคริปต์ช่วยให้ผู้ใช้สามารถดำเนินการบางอย่างก่อนและหลังการดำเนินการ TestCase โดยใช้เมธอด set up และ teardown ตามลำดับ Set up เป็นกระบวนการที่ดำเนินการก่อนดำเนินการเมธอดเฉพาะ (ตัวอย่าง – การสร้างอ็อบเจ็กต์และการเริ่มต้น) ในขณะที่ teardown เป็นกระบวนการที่ดำเนินการหลังจากดำเนินการเมธอดแล้ว (ตัวอย่าง: การทำลายอ็อบเจ็กต์และการทำความสะอาด) คุณลักษณะนี้ไม่มีใน Assertion ประเภทอื่นและสามารถทำได้โดยการเขียนโค้ดเท่านั้น

อนุญาตให้ผู้ใช้ดำเนินการเปิด/ปิดโปรเจ็กต์ เพื่อเริ่มต้นหรือล้างการตั้งค่าที่เกี่ยวข้องกับโปรเจ็กต์ และยังทำงานกับตัวแปรสภาพแวดล้อมซึ่งมีประโยชน์มากในระหว่างการเขียนสคริปต์

ช่วยเราในการยืนยันเนื้อหาการตอบสนองแบบไดนามิก

การยืนยันสคริปต์ใช้สำหรับการสร้างการยืนยันที่ผู้ใช้กำหนดซึ่งไม่ได้กำหนดไว้ล่วงหน้าโดย SOAP UI

สำหรับการสาธิตการยืนยันสคริปต์ใน SoapUI เราจะใช้เครื่องคิดเลข WSDL ซึ่งเป็นกรณีทดสอบ 'เพิ่ม' ที่เราสร้างไว้ก่อนหน้านี้

ขั้นตอนที่ 1: ขั้นตอนในการเพิ่มสคริปต์ Groovy จะเหมือนกับการยืนยันอื่นๆ ยกเว้นว่าการยืนยันนั้นไม่ใช่การยืนยันที่กำหนดไว้ล่วงหน้า แต่เป็นการยืนยันที่ผู้ใช้กำหนดซึ่งให้ความยืดหยุ่นมากกว่าการยืนยันที่มีอยู่

เลือกขั้นตอนการทดสอบที่จะต้องเพิ่มการยืนยัน

การยืนยันสคริปต์

คลิกปุ่ม 'เพิ่มการยืนยัน' ดังที่แสดงด้านล่าง

การยืนยันสคริปต์

ขั้นตอนที่ 2: ตอนนี้เลือกหมวดการยืนยัน

  1. ในกรณีนี้คือสคริปต์
  2. เลือก SoapUI Script Assertion และไม่มีประเภทย่อยที่เกี่ยวข้อง
  3. คลิก 'เพิ่ม'

การยืนยันสคริปต์

ขั้นตอนที่ 3: กล่องโต้ตอบการเขียนสคริปต์จะเปิดขึ้นโดยที่ผู้ใช้จะสามารถเขียนสคริปต์ที่ผู้ใช้กำหนดเพื่อตรวจสอบความถูกต้องของ XML ตอบกลับ

การยืนยันสคริปต์

ขั้นตอนที่ 4: ตอนนี้ให้เราเขียนสคริปต์ที่น่าสนใจเพื่อตรวจสอบอัตราการแปลง สคริปต์ที่แนบมาด้านล่างพร้อมกับความคิดเห็นที่ฝังอยู่ แนะนำให้มีความรู้เกี่ยวกับ Java สคริปต์หรือ Groovy สคริปต์ก่อนที่จะพยายามเขียนสคริปต์ของคุณเอง

//Define Groovy Utils and holder for validating the XML reponse content
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)

//Define the NameSpace
holder.namespaces["ns1"] = "http://tempuri.org/"

//Get the Value of the Node 'AddResult' and assign to a variable
def addResult = holder.getNodeValue("//ns1:AddResult")

//print the value of the result in the Output panel
log.info "The result value for integers is " + addResult

//Comparing the value to print 'Pass' or 'Fail'
if(addResult=="46")
{ log.info "Pass" }
else
{ log.info "fail"}
  1. คลิกปุ่ม 'ดำเนินการ' เพื่อเริ่มการดำเนินการ
  2. ผลลัพธ์ของสคริปต์จะแสดงในบานหน้าต่างผลลัพธ์ มีการพิมพ์ทั้งมูลค่า Conversion และผลลัพธ์สุดท้าย (ผ่านหรือล้มเหลว)
  3. ระบบจะแสดงข้อมูลว่า 'Script Assertion Passed' คลิก OK

หมายเหตุ: ป๊อปอัปข้อมูลสุดท้ายจะแสดงพร้อมข้อความ 'Script Assertion Passed' เสมอ ตราบใดที่สคริปต์มีไวยากรณ์ที่ถูกต้อง ไม่มีความสัมพันธ์กับการยืนยันของคุณภายในสคริปต์

การยืนยันสคริปต์

คลิกตกลง

ขั้นตอนที่ 5: ตอนนี้แท็บการยืนยันจะแสดงการยืนยันทั้งหมดที่เราได้เพิ่มสำหรับชุดการทดสอบนี้พร้อมสถานะเทียบกับแต่ละรายการ

การยืนยันสคริปต์

ขั้นตอนที่ 6:

  1. เลือกชุดทดสอบจากแผนผังเนวิเกเตอร์
  2. คลิกปุ่ม 'เรียกใช้'
  3. ผลลัพธ์จะแสดงสำหรับชุดการทดสอบทั้งหมด

การยืนยันสคริปต์

การยืนยันการจับคู่ Xquery

ใช้นิพจน์ Xquery เพื่อเลือกเนื้อหาจากคุณสมบัติเป้าหมาย เราต้องการ XML ตอบกลับที่ใหญ่กว่ามากเพื่อที่จะเข้าใจการยืนยัน XQuery ใน SoapUI ได้ดียิ่งขึ้น ให้เรานำเข้า WSDL อื่นหนึ่งรายการดังที่แสดงด้านล่าง: http://www.webservicex.net/medicareSupplier.asmx?WSDL

ขั้นตอนที่ 1: ทำการคลิกขวาที่โปรเจ็กต์ที่มีอยู่แล้วเลือก 'เพิ่ม WSDL'

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 2: ทำการคลิกขวาที่โปรเจ็กต์ที่มีอยู่แล้วเลือก 'เพิ่ม WSDL' ปล่อยให้ตัวเลือกอื่นเป็นค่าเริ่มต้นและคลิกปุ่ม 'ตกลง'

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 3: การดำเนินการทั้งหมดแสดงดังแสดงด้านล่างนี้

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 4: ตอนนี้ให้เราเพิ่มก กรณีทดสอบ ภายในชุดทดสอบเดียวกันกับที่เราสร้างขึ้น การทดสอบ ตัวแปลงสกุลเงิน

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 5: ป้อนชื่อของกรณีทดสอบและคลิกปุ่ม 'ตกลง'

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 6: กรณีทดสอบถูกสร้างขึ้นตามที่แสดงด้านล่าง

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 7: เพิ่ม
ขั้นตอนการทดสอบใหม่ประเภท 'Soap Test Request' ดังที่แสดงด้านล่าง

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 8: ป้อนชื่อของขั้นตอนการทดสอบ ให้เราพูดว่า – Supplier_by_City ซึ่งจะมีความหมายมากกว่า คลิก 'ตกลง'

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 9: เลือก Operaข้อมูลที่เราต้องการตรวจสอบ ในกรณีนี้คือ 'MedicareSupplierSoap -> GetSupplierByCity' คลิก 'ตกลง'

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 10: ป้อนชื่อของกรณีทดสอบแล้วคลิก 'ตกลง'

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 11: โครงร่างคำขอ XML จะแสดงดังที่แสดงด้านล่าง

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 12: ตอนนี้ให้เราค้นหาข้อมูลซัพพลายเออร์ทั้งหมดสำหรับ 'นิวยอร์ก' ซิตี้

เมื่อต้องการทำเช่นนี้ ให้เพิ่มบรรทัดต่อไปนี้ลงในโค้ดของคุณ

<GetSupplierByCity xmlns="http://www.webservicex.net/">

<City>New York</City>

</GetSupplierByCity>

WSDL ใน URL ด้านล่าง – http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 13: เมื่อดำเนินการทดสอบ เราจะได้รับคำตอบด้านล่าง

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 14: สมมติว่าเราจำเป็นต้องตรวจสอบหมายเลขซัพพลายเออร์ทั้งหมด เราไม่สามารถใช้ XPath Assertion ได้ เนื่องจากเราจำเป็นต้องมี XPath Assertion หลายร้อยรายการ ดังนั้นการใช้งาน XQuery จึงหลีกเลี่ยงไม่ได้ในกรณีนี้

XQuery Assertion ช่วยให้เราตรวจสอบกลุ่มการตอบสนอง XML ที่มีลักษณะซ้ำกัน

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 15: ตอนนี้คลิกที่ 'เพิ่มการยืนยัน'

  1. เลือก 'หมวดหมู่การยืนยัน' – เนื้อหาทรัพย์สินในกรณีนี้
  2. เลือกประเภทการยืนยันเป็น 'การยืนยัน XQuery'
  3. คลิก 'เพิ่ม'

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 16: เช่นเดียวกับ XPath Assertion เราจำเป็นต้องประกาศเนมสเปซ

  1. คลิกปุ่ม "ประกาศ" เพื่อให้ SOAP UI ประกาศเนมสเปซโดยอัตโนมัติ เมื่อคลิกปุ่มประกาศ จะปรากฏ "ป็อปอัป" พร้อมข้อความ "ประกาศเนมสเปซจากสคีมาแทน" แก่ผู้ใช้ คลิก "ใช่" เพื่อดำเนินการต่อตามที่แสดงด้านล่าง

    หมายเหตุ เมื่อกดปุ่ม 'ประกาศ' คุณอาจพบว่า URL ที่แตกต่างกันเป็นการประกาศเนมสเปซ อย่างไรก็ตาม เนมสเปซตำแหน่งบริการเว็บจริงคือสิ่งที่จะได้รับการพิจารณาสำหรับการเข้ารหัส

    การยืนยันการจับคู่ Xquery

  2. ในการเรียกข้อมูล Supplier Number ทั้งหมด เราจำเป็นต้องเขียน XPath Query และเราจะวางไว้ภายใน < SupplierNumber> และ แท็ก
  3. คลิก 'เลือกจากปัจจุบัน' ซึ่งจะดำเนินการจากการตอบกลับปัจจุบัน
  4. เมื่อคลิก 'เลือกจากปัจจุบัน' หมายเลขซัพพลายเออร์ทั้งหมดจะแสดงอยู่ในรายการ
  5. คลิก 'บันทึก'
// Namespace declaration
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace ns1='http://www.webservicex.net/';
declare namespace x = '';

// Placing the result in Myresult Tags

{
// Iterating through all the supplier number 
for $x in //ns1:GetSupplierByCityResponse/ns1:SupplierDataLists/ns1:SupplierDatas/ns1:SupplierData

//Return all the Supplier number within ‘SupplierNumber’ Tags.
return {data($x/ns1:SupplierNumber)}
}

การยืนยันการจับคู่ Xquery

ขั้นตอนที่ 17: XQuery Assertion ดำเนินการและแสดงผลลัพธ์สุดท้ายในแผง 'Assertion' ดังที่แสดงด้านล่าง ตอนนี้เราได้เพิ่มการยืนยัน Xquery สำเร็จแล้ว ซึ่งเราได้ตรวจสอบข้อมูลหมายเลขซัพพลายเออร์ทั้งหมดแล้ว สิ่งเดียวกันนี้จะถูกเปรียบเทียบกับของจริงทุกครั้งที่ส่งคำขอไปยังเว็บเซิร์ฟเวอร์

หมายเหตุ: ค่าจริงจะไม่ปรากฏ หากค่าจริงทั้งหมดตรงกับค่าที่คาดไว้ ระบบจะแสดงเป็น VALID มิฉะนั้นระบบจะแสดงเป็น 'Failed'

การยืนยันการจับคู่ Xquery

เมื่อใดจึงจะใช้การยืนยันแบบ Inbuilt?

  • เมื่อการตอบกลับสั้นจนสามารถตรวจสอบได้โดยใช้การยืนยันที่มีอยู่อย่างใดอย่างหนึ่ง
  • นอกจากนี้เรายังสามารถใช้ Inbuilt Assertion ได้หากการตอบกลับที่ส่งจากเว็บเซิร์ฟเวอร์มีลักษณะคงที่อยู่เสมอ หากเป็นแบบไดนามิก เราจะไม่สามารถยืนยันโดยใช้การยืนยันแบบฝังได้
  • เมื่อการใช้การยืนยันในตัว เช่น การยืนยันการหมดเวลา และการยืนยันความปลอดภัยกลายเป็นเรื่องที่หลีกเลี่ยงไม่ได้
  • Inbuilt Assertions ถือว่าค่อนข้างดีสำหรับการใช้งานครั้งเดียวโดยไม่จำเป็นต้องทำการทดสอบซ้ำ

ตัวเลือกการยืนยัน

การยืนยันที่สร้างขึ้นสามารถควบคุมได้ดีที่สุดด้วยความช่วยเหลือของแผงควบคุมที่ไฮไลต์ด้านล่าง

ตัวเลือกการยืนยัน

ข้อความยืนยันที่สร้างขึ้นช่วยให้ผู้ทดสอบสามารถกำหนดค่าสิ่งต่าง ๆ ต่อไปนี้ได้จากกล่องเครื่องมือข้อความยืนยัน

ตัวเลือกเสริม (Option) Descriptไอออน

ตัวเลือกการยืนยัน

การยืนยันที่เลือกจะเลื่อนขึ้นตามลำดับ

ตัวเลือกการยืนยัน

การยืนยันที่เลือกจะเลื่อนลงตามลำดับ

ตัวเลือกการยืนยัน

ลบการยืนยันที่เลือก

ตัวเลือกการยืนยัน

กำหนดค่าใหม่/แก้ไขการยืนยันที่เลือก
  • ด้านล่างนี้เป็นคุณสมบัติที่มีเฉพาะใน SOAP UI เวอร์ชัน PRO เท่านั้น เวอร์ชัน PRO ยังช่วยเราจัดกลุ่มการยืนยัน เพื่อให้เราสามารถเพิ่มการตรวจสอบความถูกต้องอีกหนึ่งชั้นให้กับการยืนยันที่สร้างขึ้น
  • และ: การยืนยันทั้งหมดได้รับการประเมินว่าเป็นการยืนยันที่ถูกต้อง ซึ่งจะส่งผลให้มีเงื่อนไขกลุ่มผ่าน หรือ: การยืนยันภายในกลุ่มอย่างน้อยหนึ่งรายการจะต้องถูกต้องจึงจะยืนยันเงื่อนไขกลุ่มผ่านได้

  • เวอร์ชัน Pro ยังอนุญาต การโคลนการยืนยัน: ตัวเลือกนี้ช่วยให้ผู้ทดสอบอนุญาตให้คัดลอกการยืนยันไปยังขั้นตอนการทดสอบอื่นในโปรเจ็กต์เดียวกันหรือโปรเจ็กต์อื่น
  • ปิดใช้งาน/เปิดใช้งานการยืนยัน: ตัวเลือกนี้ช่วยให้สามารถปิดใช้งานหรือเปิดใช้งานการยืนยันแบบกลุ่มหรือไม่ได้จัดกลุ่มใดๆ ได้ หากปิดใช้งานการยืนยัน การยืนยันนั้นจะกลายเป็นสีเทา และเมื่อดำเนินการกรณีทดสอบ การยืนยันที่ปิดใช้งานจะไม่ถูกดำเนินการ
  • ยกเลิกการยืนยันการจัดกลุ่ม: การยืนยันที่จัดกลุ่มใดๆ สามารถยกเลิกการจัดกลุ่มได้หากผู้ทดสอบตัดสินใจทำเช่นนั้น

รายการวิธีการทั้งหมดที่มีอยู่ในการยืนยันประเภทต่างๆ

กลไกการยืนยัน

Descriptไอออน

เนื้อหาเกี่ยวกับทรัพย์สิน
ประกอบด้วย ค้นหาการมีอยู่ของสตริงที่ระบุ นอกจากนี้ยังรองรับการแสดงออกปกติด้วย
ไม่มี ค้นหาการไม่มีอยู่ของสตริงที่ระบุ นอกจากนี้ยังรองรับการแสดงออกปกติด้วย
การแข่งขัน XPath ใช้นิพจน์ XPath เพื่อเลือกโหนดเป้าหมายและค่าของมัน
การแข่งขัน XQuery ใช้นิพจน์ Xquery เพื่อเลือกเนื้อหาจากคุณสมบัติเป้าหมาย
การปฏิบัติตาม สถานะ มาตรฐาน
HTTP ดาวน์โหลดทรัพยากรทั้งหมด ตรวจสอบเอกสาร HTML หลังจากดาวน์โหลดและถือเป็นคุณสมบัติที่ดีกับคุณสมบัติใด ๆ ที่มี HTML
รหัสสถานะ HTTP ไม่ถูกต้อง ตรวจสอบว่าการตอบสนอง HTML มีรหัสสถานะที่ไม่อยู่ในรายการรหัสที่กำหนดหรือไม่
ไม่ใช่ความผิดของสบู่ ตรวจสอบว่าข้อความที่ได้รับล่าสุดไม่ใช่ SOAP Fault หรือไม่ เห็นได้ชัดว่าใช้ได้กับขั้นตอนการทดสอบ SOAP เท่านั้น
การปฏิบัติตามสคีมา ตรวจสอบว่าข้อความที่ได้รับล่าสุดเป็นไปตามข้อกำหนดสคีมามาตรฐาน WSDL หรือ WADL หรือไม่ เหมาะสำหรับขั้นตอนการทดสอบ SOAP และ REST
ข้อผิดพลาดของสบู่ ตรวจสอบว่าข้อความที่ได้รับล่าสุดเป็น SOAP Fault หรือไม่ มันเป็นสิ่งที่ตรงกันข้ามกับการยืนยันข้อผิดพลาด 'NOT SOAP'
การตอบสนองของสบู่ ตรวจสอบว่าการตอบสนองที่ได้รับล่าสุดเป็นการตอบกลับ SOAP ที่ถูกต้องหรือไม่ และใช้ได้กับขั้นตอนคำขอทดสอบ SOAP เท่านั้น
รหัสสถานะ HTTP ที่ถูกต้อง ตรวจสอบว่าการตอบสนอง HTML มีรหัสสถานะที่อยู่ในรายการรหัสที่กำหนดหรือไม่ มันเป็นสิ่งที่ตรงกันข้ามกับการยืนยัน 'รหัสสถานะ HTTP ไม่ถูกต้อง'
คำขอที่อยู่ WS ตรวจสอบว่าคำขอที่ได้รับครั้งล่าสุดมีส่วนหัว WS-Addressing ที่เหมาะสมหรือไม่
การตอบสนองที่อยู่ WS ตรวจสอบว่าการตอบสนองที่ได้รับครั้งล่าสุดมีส่วนหัว WS-Addressing ที่เหมาะสมหรือไม่
สถานะความปลอดภัย WS ตรวจสอบว่าข้อความที่ได้รับล่าสุดมีส่วนหัว WS-Security ที่ถูกต้องหรือไม่ และใช้ได้กับคำขอ SOAP เท่านั้น
ต้นฉบับ
การยืนยันสคริปต์ อนุญาตให้ผู้ใช้สามารถรันสคริปต์ที่กำหนดเองเพื่อทำการตรวจสอบที่ผู้ใช้กำหนด
SLA
SLA การตอบสนอง ตรวจสอบว่าเวลาตอบสนองของการตอบกลับที่ได้รับครั้งล่าสุดอยู่ภายในขีดจำกัดที่กำหนดไว้หรือไม่
จส
สถานะ JMS ตรวจสอบว่าคำขอ JMS ของขั้นตอนการทดสอบดำเนินการสำเร็จหรือไม่ และถือว่าดีสำหรับขั้นตอนการทดสอบที่มีจุดสิ้นสุด JMS
JMS หมดเวลา ตรวจสอบว่าการตอบสนอง JMS ของขั้นตอนการทดสอบใช้เวลาไม่นานเกินระยะเวลาที่ระบุหรือไม่
ความปลอดภัย
การเปิดรับข้อมูลที่ละเอียดอ่อน ตรวจสอบว่าข้อความตอบกลับไม่เปิดเผยข้อมูลที่ละเอียดอ่อนเกี่ยวกับระบบเป้าหมายหรือไม่ เราสามารถใช้การยืนยันนี้สำหรับขั้นตอนการทดสอบ REST, SOAP และ HTTP

ดาวน์โหลดโครงการ SOAPUI ที่มีข้อยืนยันข้างต้น

ข้อผิดพลาดทั่วไปและการแก้ไขปัญหา

ใช้เนมสเปซที่ถูกต้อง พื้นที่ชื่อควรเป็น URL ที่บริการเว็บตั้งอยู่

หากมีข้อผิดพลาดเกิดขึ้นขณะพัฒนาการยืนยันสคริปต์ ให้ใช้ 'log.info' เพื่อพิมพ์เนื้อหาของตัวแปร

หากคุณไม่ได้รับผลลัพธ์ตามที่ต้องการ ให้ตรวจสอบว่ามีการส่งอินพุตที่ถูกต้องในการร้องขอหรือไม่

ตัวอย่างเช่น ในตัวแปลงสกุลเงิน หากคุณป้อน 'intA' เป็น 'x' ซึ่งไม่ใช่จำนวนเต็ม ผลลัพธ์จะแสดงรหัสข้อผิดพลาดเป็น 'SOAP-Client' ซึ่งหมายความว่าปัญหาเกิดขึ้นกับพารามิเตอร์ที่ถูกส่งผ่านจาก ด้านลูกค้า.

ข้อผิดพลาดทั่วไปและการแก้ไขปัญหา

ข้อผิดพลาดทั่วไปและการแก้ไขปัญหา

ตรวจสอบให้แน่ใจว่าคุณใช้ไวยากรณ์ที่ถูกต้องในขณะที่ใช้การยืนยัน XPATH และ XQuery คุณไม่ควรใช้ dot(.) แทนเครื่องหมายทวิภาค (:) ในขณะที่ใช้การยืนยันข้างต้น ไวยากรณ์คือ //namespace:Tagname และไม่ใช่ //namespace.tagname การทำเช่นนี้ คุณอาจได้รับข้อความว่า 'ไม่ตรงกันในการตอบกลับปัจจุบัน' แม้ว่าชื่อแท็กจะถูกต้องก็ตาม

ข้อผิดพลาดทั่วไปและการแก้ไขปัญหา