<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # SoapUI 中的斷言:完整教程 > 原文: [https://www.guru99.com/assertions-soapui-complete-tutorial.html](https://www.guru99.com/assertions-soapui-complete-tutorial.html) ### 什么是斷言? 斷言是指肯定或陳述某事的行為。 也可以將其解釋為檢查點或驗證點。 將請求發送到 Web 服務器后,就會收到響應。 我們需要驗證響應是否包含我們期望的數據。 為了驗證響應,我們需要使用斷言。 ### 斷言類型 聲明響應的方式多種多樣。 但是,在驗證響應時,我們將重點介紹常用的斷言類型。 以下是 SoapUI 的開源版本中可用的那些。 1. 物業內容 2. 合規狀態標準 3. 腳本 4. 生菜 5. JMS 6. 安全 ![](https://img.kancloud.cn/9a/bb/9abbfc1ce94fe49d886c1ab75c96465c_576x339.png) 除了上面列出的以外,PRO 版本還具有內置的 JDBC 斷言,通過該斷言我們可以斷言 Web 服務是否正確更新了數據庫。 在本教程中,我們將學習 * [包含斷言](#1) * [不包含斷言](#2) * [X 路徑匹配聲明。](#3) * [腳本聲明](#5) * [X 查詢匹配斷言](#4) ## 包含斷言 搜索指定字符串的存在。 它還支持正則表達式。 我們將繼續上一個教程中的相同示例。 **步驟 1:**默認情況下,沒有斷言。 * 斷言數顯示在“斷言”選項卡中。 * 要添加新的斷言,請單擊“添加新斷言”按鈕。 ![](https://img.kancloud.cn/90/da/90da45c9cffbfbca02ce3ec3bdcd7c17_820x718.png) **步驟 2:**現在, 1. 選擇斷言類別。 2. 選擇斷言類型。 3. 點擊“添加” ![](https://img.kancloud.cn/09/f0/09f0e5566664a808577b5e77824ca603_795x619.png) **步驟 3:**讓我們驗證響應中是否存在字符串“ 46”。 點擊“確定” 注意:我們也可以忽略大小寫并添加正則表達式。 ![](https://img.kancloud.cn/8e/cd/8ecde0db1ec2e6e93f7ac0c6312e10ce_719x346.png) **步驟 4:**添加后,立即執行斷言并顯示 VALID 或 INVALID。 ![](https://img.kancloud.cn/94/19/94193d31dcc3944463fec4a514ff9b95_798x283.png) **步驟 5:**現在,我們將“包含聲明”的內容更改為“ 47”,然后看看會發生什么。 ![](https://img.kancloud.cn/d1/49/d149b1a013033a594a4a25ed71df7d8d_719x346.png) **步驟 6:**執行斷言,并將結果扔給用戶。 由于我們在響應中沒有字符串“ 47”,因此斷言失敗。 ![](https://img.kancloud.cn/d3/e2/d3e2a0d8cca97cef8a7b3766d39471da_334x105.png) ## 不包含斷言 搜索指定字符串的不存在。 它還支持正則表達式。 **步驟 1:**現在,點擊“添加新的斷言”按鈕后, 1. 選擇斷言類別。 2. 選擇斷言類型–在這種情況下,“不包含” 3. 點擊“添加” ![](https://img.kancloud.cn/f9/1a/f91a3256d1244e2f2bc3dee96195388f_795x616.png) **步驟 2:**讓我們驗證響應中是否存在字符串'intA'。 輸入字符串“ FromCurrency”,然后單擊“確定” ![](https://img.kancloud.cn/39/8e/398e773585223a5583786791db697e21_719x346.png) **步驟 3:**一旦添加了斷言,它就會執行并顯示結果。 到目前為止,我們已經添加了兩個斷言,因此兩個斷言都將被執行并顯示結果。 ![](https://img.kancloud.cn/d0/f1/d0f19fec6e5eee8a2de943be7a8b3e39_466x213.png) **步驟 4:**現在讓我們更改“不包含斷言”的內容,然后看看會發生什么。 我們將檢查字符串“ AddResult”是否不存在。 ![](https://img.kancloud.cn/67/b2/67b2b30170e779f0dec5823c957ff86c_719x346.png) **步驟 5:**字符串'AddResult'實際上存在于響應中,因此'NOT Contains'斷言將失敗,如下所示。 ![](https://img.kancloud.cn/e7/9f/e79fbfe379dc526119fab5517d08c095_359x78.png) ## XPATH 匹配聲明 使用 [XPath](https://www.guru99.com/xpath-selenium.html) 表達式選擇目標節點及其值。 XPath 是一種 XML 查詢語言,用于從 XML 文檔中選擇節點。 **步驟 1:**現在,點擊“添加新斷言”按鈕后, 1. 選擇斷言類別。 2. 選擇斷言類型–在這種情況下為“ XPath Match” 3. 點擊“添加” ![](https://img.kancloud.cn/ef/c1/efc1bcae1776c2e30b6c17936fc8205e_795x616.png) **步驟 2:**添加 XPath 窗口打開。 在添加 XPath 之前,我們需要聲明 NameSpace。 XML 名稱空間是由統一資源標識符(URI)引用標識的名稱的集合,這些名稱在 XML 文檔中用作元素和屬性名稱。 SOAP UI XPath 斷言中使用相同的內容。 對于聲明 XML 命名空間,我們只需要單擊“聲明”按鈕即可為我們完成工作,否則我們也可以自己手動聲明一個命名空間。 聲明名稱空間后,我們需要使用創建的名稱空間來引用 XPath。 單擊“聲明”按鈕后,將彈出兩個名稱空間,因為我們有兩個 URI。 其中一個是架構 URL,另一個是實際的 Web 服務 URL。 在引用 XPath 時,我們需要使用 Web 服務所在的實際名稱空間,而不是架構名稱空間。 ![](https://img.kancloud.cn/ac/01/ac0173af9621acf30ad29442ffb89113_502x55.png) 聲明名稱空間 soap ='http://schemas.xmlsoap.org/soap/envelope/'; 聲明名稱空間 ns1 ='http://tempuri.org/'; ![](https://img.kancloud.cn/a6/62/a66212b80a4799c955870b3bcd087bab_899x538.png) **步驟 3:**現在,我們需要輸入需要驗證的 XML 節點的 XPath。 // ns1:AddResult 為我們提供< AddResult > & < / AddResult >和 ns1 之間封閉的節點的值,該名稱對應于指向'http:// tempuri'的聲明名稱空間。 組織/' 輸入 XML 后,我們需要單擊“從當前選擇”,以便從當前響應中獲取值以進行比較。 ![](https://img.kancloud.cn/0a/2f/0a2f25493472cb603fb8e4040c800fe7_1511x740.png) 步驟 4:到目前為止, 1. 聲明了名稱空間后,我們進入了需要驗證的 XML 節點的 XPath。 2. 我們需要單擊“從當前選擇”以將當前值作為期望值。 3. 當前值顯示給用戶,我們可以根據需要進行修改。 4. 點擊“保存”。 ![](https://img.kancloud.cn/ac/32/ac320b8320c49d746ea3fe2079f550e4_983x741.png) **步驟 5:**將顯示添加的斷言,如下所示。 ![](https://img.kancloud.cn/d7/84/d784a6bbc1d576273f35c83f1bdad1e0_325x206.png) ## 腳本斷言 這種斷言技術是使用最廣泛的一種技術,因為它很難管理和維護數百個斷言。 SOAP UI 使用 Groovy 腳本或 [JavaScript](https://www.guru99.com/interactive-javascript-tutorials.html) 來對斷言進行腳本編寫。 采用腳本技術來開發用于測試 SOAP 的框架。 腳本斷言在以下情況下使用。 腳本允許用戶分別使用設置和拆卸方法在執行 TestCase 之前和之后執行一些操作。 建立是在執行特定方法之前執行的過程(例如,對象創建和初始化),而拆卸是在執行特定方法之后執行的過程(例如:銷毀對象并清理)。 此功能在其他斷言類型中不可用,只能通過編碼來完成。 它允許用戶執行打開/關閉項目,初始化或清理項目相關設置以及使用環境變量的工作,這在腳本編寫過程中非常有用。 它有助于我們聲明動態響應內容。 腳本斷言用于創建 SOAP UI 未預定義的用戶定義的斷言。 對于演示腳本斷言,我們將使用計算器 WSDL,即我們先前創建的測試用例“添加”。 **步驟 1:**添加 groovy 腳本的步驟與其他斷言的步驟相同,除了斷言不是預定義的斷言。 而是由用戶定義的斷言提供了比內置的更大的靈活性。 選擇必須對其添加斷言的“測試”步驟。 ![](https://img.kancloud.cn/86/b4/86b43b7d6e877f1cce32b5c10b90d582_246x160.png) 單擊“添加聲明”按鈕,如下所示。 ![](https://img.kancloud.cn/a7/bd/a7bdbf55466c3bc4b9b38f12955f2c63_396x261.png) **步驟 2:**現在選擇“斷言”類別。 1. 在這種情況下,它是腳本。 2. 選擇“腳本聲明”,并且沒有與之關聯的子類型。 3. 點擊“添加”。 ![](https://img.kancloud.cn/54/7b/547b451cf484c871684340e659c43c6f_795x616.png) **步驟 2:**將打開“腳本對話框”,用戶可以在其中編寫用戶定義的腳本來驗證響應 XML。 ![](https://img.kancloud.cn/3e/50/3e50b96b77a15b15df88f48b535e36d0_753x590.png) **第 3 步:**現在,讓我們編寫一個時髦的腳本來驗證轉換率。 下面附有腳本,其中嵌入了注釋。 建議在嘗試編寫自己的腳本之前,先對 [Java](https://www.guru99.com/java-tutorial.html) 腳本或 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. 腳本的輸出顯示在“輸出”窗格中。 它同時打印了轉換值和最終結果(通過或失敗) 3. 顯示“腳本聲明已通過”的信息。 單擊確定。 注意:只要腳本在語法上正確無誤,最終的信息彈出窗口將始終顯示消息“腳本聲明已通過”。 它與腳本中的斷言無關。 ![](https://img.kancloud.cn/db/33/db33d96a092b45a35c1007486cb263e5_1080x809.png) 點擊確定 **步驟 4:**現在,“斷言”選項卡顯示了我們為此測試套件添加的所有斷言以及“狀態”對每個斷言的狀態。 ![](https://img.kancloud.cn/2c/7b/2c7bb3bfecd2a39c09af3449b13a68cb_295x259.png) **步驟 5:**現在 1. 從導航器樹中選擇測試套件 2. 點擊“運行”按鈕 3. 結果將顯示整個測試套件。 ![](https://img.kancloud.cn/e7/0a/e70a107cf5a13b84c45197df53ec0828_1708x910.png) ## Xquery 匹配聲明 它使用 Xquery 表達式從 target 屬性中選擇內容。 為了更好地理解 XQuery,我們需要更大的響應 XML,讓我們導入另一個 WSDL,如下所示: [http://www.webservicex.net/medicareSupplier.asmx?WSDL](http://www.webservicex.net/medicareSupplier.asmx?WSDL) **步驟 1:**在現有項目上單擊鼠標右鍵,然后選擇“添加 WSDL”。 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/77/ea/77eae2eff0b02132bdb31b6d6dc92f28_382x317.png "Assertions in SoapUI: Complete Tutorial") **步驟 2:**在現有項目上單擊鼠標右鍵,然后選擇“添加 WSDL”。 將其他選項保留為默認選項,然后單擊“確定”按鈕。 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/eb/33/eb336ad693939520df5e268ef1b37fce_550x240.png "Assertions in SoapUI: Complete Tutorial") **步驟 3:**所有操作如下所示。 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/a0/9a/a09ae2bfe553b3093d1d14a07e14db14_243x367.png "Assertions in SoapUI: Complete Tutorial") **步驟 4:**現在,讓我們在為[測試](/software-testing.html)貨幣轉換器創建的同一測試套件中添加[測試用例](/test-case.html)。 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/0d/9e/0d9e8d479f4eceb65f7509f144712c81_380x468.png "Assertions in SoapUI: Complete Tutorial") **步驟 5:**輸入測試用例的名稱,然后單擊“確定”按鈕 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/f1/1f/f11f9405f6243397bc8700cd6f96d38a_299x127.png "Assertions in SoapUI: Complete Tutorial") **步驟 6:**如下所示創建測試用例。 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/20/c8/20c88f43dba8d0ee71094f959ceb3489_286x395.png "Assertions in SoapUI: Complete Tutorial") **步驟 7:**添加類型為“ Soap Test Request”的新測試步驟,如下所示。 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/1b/5f/1b5f870307ed881536fa9a3ef1465021_557x666.png "Assertions in SoapUI: Complete Tutorial") **步驟 8:**輸入測試步驟的名稱。 讓我們說– Supplier_by_City 這將更有意義單擊“確定”。 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/d5/89/d5894a0211a0a71bd22cd967a7ea10c4_299x127.png "Assertions in SoapUI: Complete Tutorial") **步驟 9:**選擇我們要驗證的操作。 在這種情況下,它是“ MedicareSupplierSoap-> GetSupplierByCity”。 點擊“確定”。 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/c6/68/c6681691054cbf670a26ca599c14cb19_383x127.png "Assertions in SoapUI: Complete Tutorial") **步驟 10:**輸入測試用例的名稱,然后單擊“確定”。 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/bb/80/bb807046db2ca3e232085663c8271c3e_540x265.png "Assertions in SoapUI: Complete Tutorial") **步驟 11:**將顯示請求 XML 大綱,如下所示。 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/36/ab/36ab7a0d24b2fe2fa0a54d52544caba5_536x261.png "Assertions in SoapUI: Complete Tutorial") **步驟 12:**現在,讓我們找到“紐約”市的所有供應商信息。 這樣做,將以下行添加到您的代碼。 < GetSupplierByCity xmlns =“ http://www.webservicex.net/” > <城市>紐約< /城市> < / GetSupplierByCity > 下列網址中的 WSDL- [http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity](http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity) ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/9c/80/9c802dbf417b8b89e4b841d314c46856_624x212.png "Assertions in SoapUI: Complete Tutorial") **步驟 13:**執行測試后,我們收到以下響應 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/f0/f1/f0f17cf057c91918eb39ac40d99f3e23_626x400.png "Assertions in SoapUI: Complete Tutorial") **步驟 14:**假設我們需要驗證所有供應商編號。 我們無法使用 XPath 斷言,因為我們需要擁有數百個 XPath 斷言。 因此,在這種情況下不可避免地使用 XQuery。 XQuery 斷言可以幫助我們驗證一組本質上是重復的 XML 響應。 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/61/a7/61a7a81f879446640a949c962a678574_624x389.png "Assertions in SoapUI: Complete Tutorial") **步驟 15:**現在單擊“添加斷言”, 1. 在這種情況下,選擇“斷言類別”-屬性內容。 2. 選擇斷言類型作為“ XQuery 斷言” 3. 點擊“添加”。 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/07/6c/076c0cb7aafb47d7d072e14c3f1608df_624x480.png "Assertions in SoapUI: Complete Tutorial") **步驟 16:**與 XPath 斷言類似,我們需要聲明名稱空間。 1. Click 'Declare' Button to automatically allow SOAP UI to declare the namespace. Upon clicking on declare button a 'POP up' with the message 'declare namespace from schema instead' will be displayed to the user. Click 'Yes' to proceed as shown below. **注意:**按下“聲明按鈕”后,您可能最終得到不同的 URL 作為名稱空間聲明,但是,實際的 Web 服務位置名稱空間才是編碼時要考慮的地方。 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/87/05/8705ad15d69e6c9b32c000bd0ad94bc2_600x500.png "Assertions in SoapUI: Complete Tutorial") 2. 為了檢索所有供應商編號,我們需要編寫一個 XPath 查詢,并將其放置在< SupplierNumber >和< / 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 <suppliernumber>{data($x/ns1:SupplierNumber)}</suppliernumber> } ``` ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/80/11/80113a3145fc79f33136d3789bcc54cf_599x649.png "Assertions in SoapUI: Complete Tutorial") **步驟 17:**執行 XQuery 斷言,并在“斷言”面板中顯示最終結果,如下所示。 現在,我們已經成功添加了 Xquery 斷言,通過該斷言我們已經驗證了所有供應商編號信息。 每次將請求發送到 Web 服務器時,都會將其與實際值進行比較。 注意:不會顯示實際值。 如果所有實際值均與期望值相同,則顯示“ VALID”(有效),否則將顯示“ Failed”(失敗)。 ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/58/36/5836897cc0edf7d52c40916fa4e27b7b_236x142.png "Assertions in SoapUI: Complete Tutorial") ## 何時使用內置斷言? * 當響應短時,可以使用那些內置斷言之一對其進行驗證。 * 如果從 Web 服務器發送的響應本質上始終是靜態的,我們也可以使用內置聲明。 如果它是動態的,我們將無法使用內置斷言來斷言。 * 當不可避免地使用諸如超時斷言和安全斷言之類的內置斷言時。 * 對于無需重復測試的一次性用法,內置斷言非常有效。 ## 斷言選項 可以通過下面突出顯示的控制面板來最好地控制創建的斷言。 ![](https://img.kancloud.cn/83/07/83071339e8f70bb68aeba5f0aef6f071_295x259.png) 創建的斷言允許測試人員從斷言工具箱中配置以下內容。 <colgroup><col style="width:63px"><col style="width:527px"></colgroup> | 選項 | 描述 | | ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/2f/87/2f87c1bf89d6ffd41c2af8b991733d80_36x28.png "Assertions in SoapUI: Complete Tutorial") | 選定的斷言將順序上移。 | | ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/e4/51/e451647171ee3442eab8b0bc815476df_29x28.png "Assertions in SoapUI: Complete Tutorial") | 選定的斷言將順序向下移動。 | | ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/4e/c1/4ec1d0cda3909cdb28018281d29d8975_33x37.png "Assertions in SoapUI: Complete Tutorial") | 刪除選定的斷言 | | ![Assertions in SoapUI: Complete Tutorial](https://img.kancloud.cn/50/e8/50e837db003a8894213424fd45a258f4_30x34.png "Assertions in SoapUI: Complete Tutorial") | 重新配置/編輯選定的斷言。 | * 以下是 SOAP UI 的 PRO 版本獨有的功能。 PRO 版本還可以幫助我們對斷言進行分組,以便我們可以在創建的斷言中再添加一層驗證。 AND:所有斷言均被評估為 VALID 斷言,這將導致 PASSED 組條件。或:組中至少一個斷言必須為 VALID 才能斷言組 PASSED 條件。 * 專業版還允許[斷言](https://www.soapui.org/docs/functional-testing/validating-messages/getting-started-with-assertions.html)的克隆:該選項使測試人員可以將斷言復制到相同或不同項目中的不同測試步驟。 * 禁用/啟用斷言:此選項允許禁用或啟用任何分組或未分組的斷言。 如果斷言被禁用,則其將變灰,并且在執行測試用例時,將不會執行禁用的斷言。 * 取消組合斷言:如果測試人員決定取消組合的斷言,則可以將其取消組合。 ## 各種斷言類型中可用的方法的完整列表 <colgroup><col style="width:178px"><col style="width:464px"></colgroup> | **聲明機制** | **說明** | | **內容** | | 包含 | 搜索指定字符串的存在。 它還支持正則表達式。 | | 不包含 | 搜索指定字符串的不存在。 它還支持正則表達式。 | | XPath 匹配 | 使用 XPath 表達式選擇目標節點及其值。 | | XQuery 匹配 | 使用 Xquery 表達式從 target 屬性中選擇內容。 | | **合規性,狀態,標準** | | HTTP 下載所有資源 | 下載后驗證 HTML 文檔,它對包含 HTML 的任何屬性都適用。 | | 無效的 HTTP 狀態代碼 | 驗證 HTML 響應是否包含不在已定義代碼列表中的狀態代碼。 | | 不是 SOAP 錯誤 | 驗證最后收到的消息是否不是 SOAP Fault。 很明顯,它僅適用于 SOAP 測試步驟。 | | 架構合規 | 驗證最后收到的消息是否符合 WSDL 或 WADL 標準架構定義。 適用于 SOAP 和 REST 測試步驟。 | | SOAP 故障 | 驗證最后收到的消息是否為 SOAP 錯誤。 它是“ NOT SOAP”故障斷言的反義詞。 | | SOAP 響應 | 驗證最后收到的響應是否是有效的 SOAP 響應,并且僅對 SOAP 測試請求步驟有效。 | | 有效的 HTTP 狀態代碼 | 驗證 HTML 響應是否包含已定義代碼列表中的狀態代碼。 與“無效的 HTTP 狀態代碼”聲明相反。 | | WS-尋址請求 | 驗證最后收到的請求是否包含適當的 WS-Addressing 標頭。 | | WS 尋址響應 | 驗證最后收到的響應是否包含適當的 WS-Addressing 標頭。 | | WS-安全狀態 | 驗證最后收到的消息是否包含有效的 WS-Security 標頭,并且僅對 SOAP 請求有效。 | | **腳本** | | 腳本斷言 | 允許用戶執行自定義腳本以執行用戶定義的驗證。 | | **SLA** | | 響應 SLA | 驗證最后收到的響應的響應時間是否在定義的限制內。 | | **JMS** | | JMS 狀態 | 驗證測試步驟的 JMS 請求是否已成功執行,并且對于具有 JMS 端點的測試步驟而言是否成立。 | | JMS 超時 | 驗證測試步驟的 JMS 響應是否花費的時間不超過指定的持續時間。 | | **安全性** | | 敏感信息公開 | 驗證響應消息是否未公開有關目標系統的敏感信息。 我們可以將此斷言用于 REST,SOAP 和 HTTP 測試步驟。 | [下載包含以上斷言的 SOAPUI 項目](https://drive.google.com/uc?export=download&id=1uOkouoiN8y_FZNGTQthE7X5yVTzxz2is) ### 常見錯誤和故障排除 使用正確的名稱空間。 名稱空間應該是 Web 服務所在的 URL。 如果在開發腳本斷言時拋出錯誤,請使用'log.info'打印變量內容 如果沒有所需的輸出,請驗證請求中是否傳遞了有效的輸入。 例如,在貨幣轉換器中,如果您將'intA'輸入為非整數的'x',則輸出將引發錯誤代碼為'SOAP-Client',這意味著問題出在從 客戶端。 ![](https://img.kancloud.cn/7b/e6/7be685271823be553f07cac45d405557_705x380.png) ![](https://img.kancloud.cn/3b/02/3b027d1a139374df1db855e9834e2376_996x451.png) 確保在使用 XPATH 和 XQuery 斷言時使用正確的語法。 使用上述斷言時,請勿使用 dot(。)代替冒號(:)。 語法是// namespace:Tagname 而不是//namespace.tagname。 這樣,即使標簽名稱正確,您也可能會收到一條消息“當前響應中沒有匹配項”。 ![](https://img.kancloud.cn/f7/a2/f7a292d08fff27e4ef0052da625fa46a_970x741.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看