Các khẳng định trong SoapUI: Tập lệnh, XQuery, Kiểu dữ liệu XPath
⚡ Tóm tắt thông minh
Các khẳng định trong SoapUI Chúng là các điểm kiểm tra quyết định xem phản hồi của dịch vụ web có chính xác hay không, biến một yêu cầu chỉ đơn thuần thực thi thành một bài kiểm tra thực sự thành công hay thất bại trên nội dung thực tế, có thể kiểm chứng được.

Khẳng định là gì?
Khẳng định có nghĩa là hành động khẳng định hoặc nêu rõ điều gì đó. Nó cũng có thể được hiểu là điểm kiểm tra hoặc điểm xác nhận.
Khi một yêu cầu được gửi đến máy chủ web, một phản hồi sẽ được nhận. Chúng ta cần xác thực xem phản hồi có chứa dữ liệu mà chúng ta mong đợi hay không. Để xác thực phản hồi, chúng ta cần sử dụng các khẳng định (assertion). Nếu không có khẳng định, một bước kiểm thử chỉ chứng minh rằng dịch vụ đã phản hồi, chứ không chứng minh rằng nó đã phản hồi chính xác, đó là lý do tại sao mọi bước kiểm thử đều yêu cầu xác thực. Kiểm thử API Nên mang theo ít nhất một cái.
Các loại khẳng định
Có nhiều cách để đưa ra phản hồi; tuy nhiên, chúng ta sẽ tập trung vào những cách thường dùng. SoapUI Các loại xác nhận khi xác thực phản hồi. Dưới đây là các danh mục có sẵn trong phiên bản mã nguồn mở của SoapUI.
- Nội dung thuộc tính
- Tiêu chuẩn tình trạng tuân thủ
- Script
- SLA
- J.M.S.
- Bảo mật
Hộp thoại này nhóm mọi khẳng định vào các danh mục đó, như ảnh chụp màn hình bên dưới cho thấy.

Ngoài những tính năng đã nêu ở trên, phiên bản Pro còn tích hợp sẵn chức năng JDBC Assertion, cho phép chúng ta kiểm tra xem dịch vụ web đã cập nhật cơ sở dữ liệu chính xác hay chưa.
Ghi chú phiên bản: hiện hành SoapUI tài liệu cũng liệt kê một JDBC danh mục (Trạng thái JDBC và Thời gian chờ JDBC) bên cạnh các danh mục ở trên, và một Nội dung tin nhắn Khẳng định bên trong Nội dung Thuộc tính để so sánh XML phong phú hơn. Phiên bản thương mại được gọi ở đây là “Pro” hiện được bán dưới dạng… ReadyAPI Do SmartBear phát triển, nên nhãn menu trong các bản dựng mới hơn có thể hiển thị khác nhau trong khi hành vi xác nhận vẫn giữ nguyên.
Chứa khẳng định
Tìm kiếm sự tồn tại của chuỗi được chỉ định. Nó cũng hỗ trợ biểu thức chính quy.
Chúng ta sẽ tiếp tục với ví dụ tương tự từ hướng dẫn trước với yêu cầu WSDL như http://www.dneonline.com/calculator.asmxNếu bạn chưa hoàn thành dự án đó, hãy tiếp tục thực hiện. Tạo dự án, bộ kiểm thử và trường hợp kiểm thử đầu tiên.
Bước 1: Theo mặc định, không có bất kỳ khẳng định nào.
- Số lượng Xác nhận được hiển thị trong Tab Xác nhận.
- Để thêm một khẳng định mới, hãy nhấp vào nút 'Thêm khẳng định mới'.
Bước 2: Bây giờ,
- Chọn Danh mục khẳng định.
- Chọn Loại khẳng định.
- Nhấp vào 'Thêm'
Bước 3: Hãy kiểm tra xem chuỗi '46' có tồn tại trong phản hồi hay không. Nhấn 'OK'.
Lưu ý: Chúng ta cũng có thể bỏ qua chữ hoa chữ thường và thêm biểu thức chính quy.
Bước 4: Sau khi thêm vào, quá trình xác nhận sẽ được thực thi ngay lập tức và hiển thị trạng thái HỢP LỆ hay KHÔNG HỢP LỆ.
Bước 5: Bây giờ, giả sử chúng ta thay đổi nội dung của 'Contains Assertion in' SoapUI' đến '47' và xem điều gì sẽ xảy ra.
Bước 6: Câu lệnh Assertion được thực thi và kết quả được hiển thị cho người dùng. Vì không có chuỗi '47' trong phản hồi, nên câu lệnh Assertion đã thất bại.
Không chứa khẳng định
Chức năng ngược lại hoạt động theo chiều ngược lại. Nó tìm kiếm sự không tồn tại của chuỗi được chỉ định. Nó cũng hỗ trợ biểu thức chính quy.
Bước 1: Sau khi nhấp vào nút 'thêm khẳng định mới',
- Chọn Danh mục khẳng định.
- Chọn Loại xác nhận – Trong trường hợp này là 'KHÔNG Chứa'
- Nhấp vào 'Thêm'
Bước 2: Hãy kiểm tra xem chuỗi 'intA' có tồn tại trong phản hồi hay không. Nhập chuỗi 'FromCurrency' và nhấn 'OK'.
Bước 3: Ngay sau khi thêm một câu lệnh khẳng định, nó sẽ được thực thi và hiển thị kết quả. Cho đến nay chúng ta đã thêm hai câu lệnh khẳng định, do đó cả hai câu lệnh khẳng định đều được thực thi và hiển thị kết quả.
Bước 4: Bây giờ chúng ta hãy thay đổi nội dung của 'Not Contains Assertion' và xem điều gì xảy ra. Chúng ta sẽ kiểm tra xem chuỗi “AddResult” có tồn tại hay không.
Bước 5: Chuỗi 'AddResult' thực sự có mặt trong phản hồi, do đó khẳng định 'NOT Contains' sẽ thất bại như hình bên dưới.
Xác nhận khớp XPath
Việc so khớp chuỗi khá đơn giản, vì vậy câu lệnh tiếp theo sẽ nhắm mục tiêu vào một nút duy nhất. Nó sử dụng biểu thức XPath để chọn nút mục tiêu và các giá trị của nó. Xpathlà một ngôn ngữ truy vấn XML dùng để chọn các nút từ một tài liệu XML.
Bước 1: Sau khi nhấp vào nút 'Thêm khẳng định mới',
- Chọn Danh mục khẳng định.
- Chọn Loại xác nhận – Trong trường hợp này là 'XPath Match'
- Nhấp vào 'Thêm'
Bước 2: Thêm cửa sổ XPath sẽ mở ra.
Trước khi thêm SoapUI Trong XPath, chúng ta cần khai báo không gian tên. Không gian tên XML là một tập hợp các tên, được xác định bằng tham chiếu Định danh Tài nguyên Thống nhất (URI), được sử dụng trong các tài liệu XML làm tên phần tử và thuộc tính. Điều tương tự cũng được sử dụng trong... SoapUI Khẳng định XPath.
Để khai báo một không gian tên XML, chúng ta chỉ cần nhấp vào nút 'Khai báo', thao tác này sẽ tự động thực hiện hoặc chúng ta cũng có thể tự khai báo không gian tên theo cách thủ công.
Sau khi khai báo không gian tên, chúng ta cần tham chiếu đến XPath bằng cách sử dụng không gian tên đã tạo.
Sau khi nhấp vào nút 'Khai báo', hai không gian tên sẽ hiện ra vì chúng ta có hai URI. Một trong số đó là lược đồ. URL và cái còn lại tương ứng với dịch vụ web thực tế. URLChúng ta cần sử dụng không gian tên thực tế nơi dịch vụ web được đặt chứ KHÔNG phải không gian tên lược đồ khi tham chiếu XPath. Các dòng được khai báo xuất hiện ở đầu hộp XPath như hình bên dưới.
khai báo không gian tên xà phòng='http://schemas.xmlsoap.org/soap/envelope/';
khai báo không gian tên ns1='http://tempuri.org/';
Bước 3: Bây giờ chúng ta cần nhập XPath của nút XML mà chúng ta cần xác thực.
//ns1:AddResult Cung cấp cho chúng ta Giá trị của nút nằm giữa & và ns1 tương ứng với không gian tên được khai báo trỏ đến 'http://tempuri.org/'
Sau khi nhập XML, chúng ta cần nhấp vào 'Chọn từ hiện tại' để giá trị từ phản hồi hiện tại sẽ được chọn để so sánh trong tương lai.
Bước 4: Cho đến nay,
- Sau khi khai báo các namespace, chúng ta đã nhập XPath của nút XML mà chúng ta cần Validate.
- Chúng ta cần nhấp vào 'Chọn từ hiện tại' để đặt giá trị hiện tại làm giá trị mong đợi.
- Giá trị hiện tại được hiển thị cho người dùng mà chúng tôi có thể sửa đổi nếu cần.
- Nhấp vào để lưu'.
Bước 5: Khẳng định bổ sung trong SoapUI Sẽ được hiển thị như hình bên dưới.
Xác nhận kịch bản
Kỹ thuật Xác nhận này là kỹ thuật được sử dụng rộng rãi nhất vì cực kỳ khó quản lý và duy trì hàng trăm xác nhận.
SoapUI sử dụng một trong hai Groovy Viết kịch bản hoặc JavaScript để lập trình các khẳng định. Kỹ thuật lập trình được áp dụng để phát triểnping Một khuôn khổ để kiểm thử SOAP. Các câu lệnh khẳng định được sử dụng trong các trường hợp sau.
- Việc lập trình kịch bản cho phép người dùng thực hiện một số thao tác trước và sau khi thực thi trường hợp kiểm thử bằng cách sử dụng các phương thức thiết lập và gỡ bỏ tương ứng. Thiết lập là một thủ tục được thực thi trước khi thực thi một phương thức cụ thể (ví dụ: Tạo và Khởi tạo đối tượng), trong khi gỡ bỏ là một thủ tục được thực thi sau khi thực thi phương thức đó (ví dụ: Hủy đối tượng và dọn dẹp). Tính năng này không có sẵn trong các loại Khẳng định khác và chỉ có thể được thực hiện thông qua lập trình.
- Nó cho phép người dùng thực hiện thao tác mở/đóng Dự án, để khởi tạo hoặc dọn dẹp các thiết lập liên quan đến Dự án và cũng để làm việc với các biến môi trường, điều này rất hữu ích trong quá trình lập trình kịch bản.
- Nó giúp chúng tôi khẳng định nội dung Phản hồi động.
- Các câu lệnh khẳng định được sử dụng để tạo ra các câu lệnh khẳng định do người dùng định nghĩa mà KHÔNG được định nghĩa trước bởi SoapUI.
Để minh họa một khẳng định Script trong SoapUIChúng ta sẽ sử dụng WSDL của máy tính, trường hợp kiểm thử 'Add' mà chúng ta đã tạo trước đó.
Bước 1: Các bước thêm script Groovy cũng tương tự như các bước thêm câu lệnh khẳng định khác, ngoại trừ việc câu lệnh khẳng định này không phải là câu lệnh được định nghĩa sẵn. Thay vào đó, nó là một câu lệnh khẳng định do người dùng định nghĩa, mang lại tính linh hoạt cao hơn so với các câu lệnh tích hợp sẵn.
Chọn bước Kiểm tra mà xác nhận phải được thêm vào.
Nhấp vào nút 'Thêm xác nhận' như hiển thị bên dưới.
Bước 2: Bây giờ hãy chọn danh mục Khẳng định.
- Trong trường hợp này là Script.
- Chọn SoapUI Khẳng định tập lệnh và không có kiểu phụ nào liên kết với nó.
- Nhấp vào 'Thêm'.
Bước 3: Hộp thoại Lập trình sẽ mở ra, nơi người dùng có thể viết kịch bản do người dùng định nghĩa để xác thực XML phản hồi.
Bước 4: Bây giờ chúng ta hãy viết một đoạn mã Groovy để xác thực Tỷ lệ chuyển đổi. Đoạn mã được đính kèm bên dưới với các chú thích được nhúng sẵn. Nên có kiến thức về... Java Kịch bản hoặc Groovy Script trước khi thử viết script của riêng bạn.
//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"}
- Nhấp vào nút 'Thực thi' để kích hoạt thực thi.
- Đầu ra của Tập lệnh được hiển thị trong khung Đầu ra. Nó đã in cả Giá trị chuyển đổi cũng như kết quả cuối cùng (Đạt hoặc Không đạt)
- Thông tin được hiển thị là 'Xác nhận tập lệnh đã được thông qua'. Bấm vào đồng ý.
Lưu ý: Cửa sổ bật lên Thông tin cuối cùng sẽ luôn hiển thị với thông báo 'Xác nhận tập lệnh đã được thông qua' miễn là tập lệnh đúng về mặt cú pháp. Nó không có mối tương quan nào với khẳng định của bạn trong kịch bản.
nhấn OK
Bước 5: Giờ đây, tab Khẳng định sẽ hiển thị tất cả các khẳng định mà chúng ta đã thêm cho bộ kiểm thử này cùng với Trạng thái của từng khẳng định.
Bước 6: Bây giờ
- Chọn Bộ thử nghiệm từ cây Điều hướng
- Nhấp vào nút 'Chạy'
- Kết quả sẽ được hiển thị cho toàn bộ bộ thử nghiệm.
XQuery Match Assertion
Nó sử dụng biểu thức XQuery để chọn nội dung từ thuộc tính mục tiêu. Chúng ta cần một XML phản hồi lớn hơn nhiều để hiểu rõ hơn về khẳng định XQuery. SoapUIChúng ta hãy nhập thêm một tệp WSDL khác như hình bên dưới: http://www.webservicex.net/medicareSupplier.asmx?WSDL
Lưu ý: Các điểm cuối demo webservicex.net công khai được sử dụng trong hướng dẫn này hiện không còn truy cập được một cách đáng tin cậy, vì vậy các ảnh chụp màn hình yêu cầu và phản hồi bên dưới được giữ lại làm ví dụ tham khảo. Bất kỳ WSDL nào trả về một tập hợp nút lặp lại sẽ thực thi khẳng định XQuery theo cùng một cách.
Bước 1: Nhấp chuột phải vào dự án hiện có và chọn 'Thêm WSDL'.
Bước 2: Hộp thoại Thêm WSDL sẽ mở ra. Giữ nguyên các tùy chọn khác ở chế độ mặc định và nhấn nút 'OK'.
Bước 3: Tất cả các thao tác được liệt kê như hình bên dưới.
Bước 4: Bây giờ chúng ta hãy thêm một Trường hợp thử nghiệm trong cùng bộ thử nghiệm mà chúng tôi đã tạo cho Kiểm tra người chuyển đổi tiền tệ.
Bước 5: Nhập tên trường hợp kiểm thử và nhấn nút 'OK'.
Bước 6: Trường hợp kiểm thử được tạo như hình bên dưới.
Bước 7: Thêm một bước kiểm thử mới thuộc loại 'Yêu cầu kiểm thử SOAP' như hình bên dưới.
Bước 8: Nhập tên của bước kiểm thử. Ví dụ: Supplier_by_City, tên này sẽ có ý nghĩa hơn. Nhấp vào 'OK'.
Bước 9: Chọn Operamà chúng tôi muốn xác thực. Trong trường hợp này là 'MedicareSupplierSoap -> GetSupplierByCity'. Nhấp vào 'OK'.
Bước 10: Nhập Tên của trường hợp kiểm thử và nhấn 'OK'.
Bước 11: Bản phác thảo XML yêu cầu sẽ được hiển thị như hình bên dưới.
Bước 12: Bây giờ chúng ta hãy tìm tất cả thông tin nhà cung cấp cho thành phố 'New York'.
Để thực hiện việc này, hãy thêm các dòng sau vào mã của bạn.
<GetSupplierByCity xmlns="http://www.webservicex.net/"> <City>New York</City> </GetSupplierByCity>
WSDL ở bên dưới URL – http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity
Bước 13: Sau khi thực hiện kiểm tra, chúng ta nhận được phản hồi bên dưới.
Bước 14: Giả sử chúng ta cần xác thực tất cả các Mã số Nhà cung cấp. Chúng ta không thể sử dụng XPath Assertion vì cần đến hàng trăm XPath Assertion. Do đó, việc sử dụng XQuery là không thể tránh khỏi trong trường hợp này.
Xác nhận XQuery giúp chúng tôi xác thực một nhóm phản hồi XML có tính chất lặp lại.
Bước 15: Bây giờ hãy nhấp vào 'Thêm một khẳng định'.
- Chọn 'Danh mục xác nhận' - Nội dung thuộc tính trong trường hợp này.
- Chọn Loại Khẳng định là 'Khẳng định XQuery'
- Nhấp vào 'Thêm'.
Bước 16: Tương tự như XPath Assertion, chúng ta cần khai báo không gian tên.
- Nhấp vào nút 'Khai báo' để tự động cho phép. SoapUI Để khai báo không gian tên. Sau khi nhấp vào nút "Khai báo", một cửa sổ bật lên với thông báo "Hãy khai báo không gian tên từ lược đồ thay vì từ lược đồ" sẽ hiển thị cho người dùng. Nhấp vào "Có" để tiếp tục như hình bên dưới.
- Để truy xuất tất cả Mã số nhà cung cấp, chúng tôi cần viết Truy vấn XPath và chúng tôi sẽ đặt nó trong <ProvideNumber> và Thẻ.
- Nhấp vào 'Chọn từ hiện tại' sẽ thực thi từ phản hồi hiện tại.
- Sau khi nhấp vào 'Chọn từ danh sách hiện tại', tất cả mã số nhà cung cấp sẽ được liệt kê.
- Nhấp vào để lưu'.
Lưu ý: Sau khi nhấn nút 'Khai báo', bạn có thể nhận được kết quả khác. URLMặc dù 's' được dùng làm khai báo không gian tên, nhưng không gian tên vị trí thực tế của dịch vụ web mới là thứ được xem xét khi lập trình.
Biểu thức XQuery hoàn chỉnh, cùng với các khai báo không gian tên, trông như thế này.
// 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)} }
Bước 17: Câu lệnh XQuery Assertion được thực thi và hiển thị kết quả cuối cùng trong bảng 'Assertion' như hình bên dưới. Giờ đây, chúng ta đã thêm thành công một câu lệnh XQuery assertion để xác thực tất cả thông tin về Mã số nhà cung cấp. Thông tin này sẽ được so sánh với số liệu thực tế mỗi khi yêu cầu được gửi đến máy chủ web.
Lưu ý: Giá trị thực tế sẽ không được hiển thị. Nếu tất cả các giá trị thực tế giống với giá trị mong đợi thì nó sẽ hiển thị HỢP LỆ, nếu không nó sẽ hiển thị 'Không thành công'.
Khi nào nên sử dụng xác nhận sẵn có?
Với cả hai tùy chọn thao tác bằng chuột và lập trình, câu hỏi thực tế đặt ra là nên chọn phương pháp nào.
- Khi một Phản hồi ngắn đến mức nó có thể được xác thực bằng cách sử dụng một trong những xác nhận sẵn có đó.
- Chúng tôi cũng có thể sử dụng Xác nhận sẵn có nếu phản hồi được gửi từ máy chủ web luôn ở trạng thái tĩnh. Nếu nó là động, chúng ta sẽ không thể xác nhận nó bằng cách sử dụng các xác nhận sẵn có.
- Khi việc sử dụng các xác nhận sẵn có như xác nhận Hết thời gian chờ và xác nhận bảo mật trở nên không thể tránh khỏi.
- Các xác nhận sẵn có hoạt động khá tốt khi sử dụng một lần khi không cần phải lặp lại các thử nghiệm.
Tùy chọn xác nhận
Các xác nhận đã tạo có thể được kiểm soát tốt nhất với sự trợ giúp của bảng điều khiển được đánh dấu bên dưới.
Các khẳng định được tạo cho phép người kiểm tra cấu hình những thứ sau từ hộp công cụ khẳng định.
| Tùy chọn | Mô tả Chi tiết |
| Xác nhận đã chọn sẽ di chuyển lên thứ tự. | |
| Xác nhận đã chọn sẽ di chuyển xuống thứ tự. | |
| Xóa xác nhận đã chọn | |
| Định cấu hình lại/Chỉnh sửa Xác nhận đã chọn. |
Dưới đây là các tính năng chỉ có trong phiên bản Pro của SoapUI, hiện được vận chuyển dưới dạng ReadyAPIPhiên bản Pro cũng giúp chúng ta nhóm các khẳng định lại với nhau để có thể thêm một lớp xác thực nữa cho các khẳng định đã tạo.
- VÀ: Tất cả các khẳng định đều được đánh giá là khẳng định HỢP LỆ, dẫn đến điều kiện nhóm ĐÃ VƯỢT QUA.
- OR: Ít nhất một trong các khẳng định trong nhóm phải HỢP LỆ để khẳng định điều kiện ĐÃ ĐẠT của nhóm.
- Phiên bản Pro cũng cho phép Nhân bản các xác nhậnTùy chọn này cho phép người kiểm thử sao chép một khẳng định sang một bước kiểm thử khác trong cùng hoặc khác dự án.
- Vô hiệu hóa/Kích hoạt các khẳng định: Tùy chọn này cho phép vô hiệu hóa hoặc kích hoạt bất kỳ khẳng định nào, dù được nhóm hay không được nhóm. Nếu một khẳng định bị vô hiệu hóa, nó sẽ được tô màu xám và khi một trường hợp kiểm thử được thực thi, các khẳng định bị vô hiệu hóa sẽ không được thực thi.
- Tách nhóm các khẳng định: Bất kỳ khẳng định nào được nhóm lại đều có thể được tách nhóm nếu người kiểm thử quyết định làm như vậy.
Danh sách đầy đủ các phương thức có sẵn trong các loại xác nhận khác nhau
Bảng dưới đây tập hợp tất cả các khẳng định đã thảo luận ở trên, được nhóm theo danh mục mà chúng xuất hiện trong hộp thoại Thêm Khẳng định.
| Cơ chế khẳng định | Mô tả Chi tiết |
| NỘI DUNG TÀI SẢN | |
| Thông tin | Tìm kiếm sự tồn tại của chuỗi được chỉ định. Nó cũng hỗ trợ biểu thức chính quy. |
| Không chứa | Tìm kiếm sự không tồn tại của chuỗi được chỉ định. Nó cũng hỗ trợ biểu thức chính quy. |
| Kết hợp XPath | Sử dụng biểu thức XPath để chọn nút đích và các giá trị của nó. |
| Kết hợp XQuery | Sử dụng biểu thức XQuery để chọn nội dung từ thuộc tính mục tiêu. |
| Tuân thủ, Tình trạng, Tiêu chuẩn | |
| HTTP Tải xuống tất cả tài nguyên | Xác thực Tài liệu HTML sau khi tải xuống và nó phù hợp với mọi thuộc tính có chứa HTML. |
| Trạng thái HTTP không hợp lệ Codes | Xác minh xem phản hồi HTML có chứa mã trạng thái không có trong danh sách mã được xác định hay không. |
| Không phải lỗi SOAP | Xác minh xem tin nhắn nhận được cuối cùng có phải là Lỗi SOAP hay không. Rõ ràng là nó chỉ áp dụng cho các Bước kiểm tra SOAP. |
| Tuân thủ lược đồ | Xác minh xem tin nhắn nhận được cuối cùng có tuân thủ định nghĩa lược đồ tiêu chuẩn WSDL hoặc WADL hay không. Phù hợp với các bước kiểm tra SOAP và REST. |
| Lỗi SOAP | Xác minh xem tin nhắn nhận được cuối cùng có phải là Lỗi SOAP hay không. Nó là nghịch đảo của Xác nhận lỗi 'KHÔNG SOAP'. |
| Phản hồi SOAP | Xác minh xem phản hồi nhận được cuối cùng có phải là Phản hồi SOAP hợp lệ hay không và chỉ phù hợp với các Bước yêu cầu kiểm tra SOAP. |
| Trạng thái HTTP hợp lệ Codes | Kiểm tra xem phản hồi HTML có chứa mã trạng thái nằm trong danh sách các mã đã được định nghĩa hay không. Đây là thao tác ngược lại với 'Trạng thái HTTP không hợp lệ'. CodeKhẳng định của s. |
| Yêu cầu địa chỉ WS | Xác minh xem yêu cầu nhận được cuối cùng có chứa Tiêu đề địa chỉ WS thích hợp hay không. |
| Phản hồi địa chỉ WS | Xác minh xem phản hồi nhận được cuối cùng có chứa Tiêu đề địa chỉ WS thích hợp hay không. |
| Trạng thái bảo mật WS | Xác thực xem tin nhắn nhận được cuối cùng có chứa các tiêu đề WS-Security hợp lệ và chỉ phù hợp với các Yêu cầu SOAP hay không. |
| Script | |
| Xác nhận tập lệnh | Cho phép người dùng thực thi tập lệnh tùy chỉnh để thực hiện xác thực do người dùng xác định. |
| SLA | |
| SLA phản hồi | Xác thực xem thời gian phản hồi của phản hồi nhận được cuối cùng có nằm trong giới hạn đã xác định hay không. |
| J.M.S. | |
| Trạng thái JMS | Xác minh xem yêu cầu JMS của Bước kiểm tra có được thực thi thành công hay không và phù hợp với các Bước kiểm tra có điểm cuối JMS. |
| Hết giờ JMS | Xác minh xem phản hồi JMS của bước kiểm tra có mất nhiều thời gian hơn thời lượng đã chỉ định hay không. |
| Bảo mật | |
| Tiếp xúc thông tin nhạy cảm | Xác minh xem thông báo phản hồi có tiết lộ thông tin nhạy cảm về hệ thống đích hay không. Chúng ta có thể sử dụng xác nhận này cho các bước kiểm tra REST, SOAP và HTTP. |
TẢI XUỐNG DỰ ÁN SOAPUI CHỨA NHỮNG Khẳng định TRÊN
Các lỗi thường gặp và xử lý sự cố
Hầu hết các lỗi khẳng định tracHãy quay lại với một vài lỗi nhỏ, vì vậy hãy kiểm tra chúng trước khi viết lại biểu thức.
- Hãy sử dụng đúng không gian tên. Không gian tên phải là URL nơi đặt dịch vụ web.
- Nếu xảy ra lỗi trong quá trình phát triểnping Trong một câu lệnh kiểm tra, hãy sử dụng 'log.info' để in nội dung của các biến.
- Nếu bạn không nhận được kết quả mong muốn, hãy kiểm tra xem dữ liệu đầu vào có hợp lệ được truyền vào yêu cầu hay không.
Ví dụ, trong bộ chuyển đổi tiền tệ, nếu bạn nhập 'intA' là 'x', một giá trị không phải là số nguyên, thì kết quả sẽ hiển thị mã lỗi 'SOAP-Client', có nghĩa là vấn đề nằm ở tham số được truyền từ phía máy khách. Yêu cầu mang giá trị không hợp lệ sẽ được hiển thị trước.
Thay vì trả về kết quả, phản hồi sẽ trả về mã lỗi, như hình bên dưới.
Hãy đảm bảo bạn sử dụng cú pháp chính xác khi dùng XPath và XQuery assertion. Bạn KHÔNG được dùng dấu chấm (.) thay cho dấu hai chấm (:) khi dùng assertion ở trên. Cú pháp đúng là //namespace:Tagname chứ KHÔNG phải //namespace.tagname. Nếu làm vậy, bạn có thể nhận được thông báo 'NO match in current response' ngay cả khi tên thẻ (tag name) là chính xác.














































