<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 功能強大 支持多語言、二開方便! 廣告
                # Web 服務測試:初學者教程 > 原文: [https://www.guru99.com/webservice-testing-beginner-guide.html](https://www.guru99.com/webservice-testing-beginner-guide.html) ### 什么是 WebService? Web 服務是兩種應用程序/機器通過其交換數據的機制或媒介,而不論其下劃線架構和技術如何。 ## 什么是 Web 服務測試? **Web 服務測試**是一種可驗證 Web 服務的軟件測試。 Web 服務測試的目的是檢查 API(應用程序接口)的功能,可靠性,性能和安全性。 Web Service 測試在某些情況下類似于單元測試。 您可以手動測試 Web 服務,也可以創建自己的自動化代碼,或者使用 Postman 等現成的自動化工具。 ### 為什么需要 WebService? 通常,開發軟件應用程序以供人類使用,其中人將請求發送到軟件服務,該軟件服務進而以人類可讀格式返回響應。 在現代技術時代,如果您要構建軟件應用程序,則無需從頭開始構建所有內容。 您可以將許多現成的服務插入應用程序中,然后就可以開始在應用程序中提供這些服務。 例如,您要顯示不需要收集,處理和呈現應用程序中數據的天氣預報信息。 您可以從已經在處理和發布此類數據方面建立良好的人員那里購買服務。 Web 服務使我們能夠進行此類實現。 作為示例,請考慮以下 WebService ``` http://www.webservicex.net/stockquote.asmx?op=GetQuote ``` 它給出了公司的股份價值。 讓我們找到 Google 的股價(代碼:GOOG) ![Web Service Testing: A Beginner's Tutorial](https://img.kancloud.cn/3a/82/3a82cd90820b9f423db7b6b44beba4b2_478x172.png "Web Service Testing: A Beginner's Guide") 響應 XML 給出股票價格。 ![Web Service Testing: A Beginner's Tutorial](https://img.kancloud.cn/a3/14/a314e14e41af024ac044c342549c4d8a_631x237.png "Web Service Testing: A Beginner's Guide") 可以由軟件應用程序使用 SOAP 或 HTTP 協議調用此 WebService。 ## Web 服務協議 Web 服務可以以不同的方式實現,但是以下兩種是流行的實現方法。 1. SOAP(簡單對象訪問協議) 2. REST(代表性狀態轉移架構) ## 肥皂 SOAP 是 W3C 標準定義的一種標準協議,用于發送和接收 Web 服務請求和響應。 SOAP 使用 **XML 格式發送和接收請求**,因此該數據是平臺無關的數據。 SOAP 消息在 SOAP 信封內的提供程序應用程序和接收應用程序之間交換。 由于 SOAP 使用簡單的 http 傳輸協議,因此其消息不會被防火墻阻止。 ## 休息 REST 表示代表狀態轉移; 它是一種通常在 HTTP 上運行的體系結構。 REST 風格強調客戶端和服務之間的交互,而操作數量有限則可以增強這種交互。 REST 是 SOAP(簡單對象訪問協議)的替代方法,在某些情況下,REST 使用簡單 URL 代替了 XML。 與 SOAP 不同,RESTFUL 應用程序使用 HTTP 內置標頭來攜帶元信息。 REST 使用各種代碼來確定用戶是否有權訪問 API,例如代碼 200 或 201 表示與響應主體成功交互,而代碼 400 或 201 表示錯誤的請求或請求 URI 與系統中的 API 不匹配。 所有 API 請求參數和方法參數都可以通過 **POST** 或 **GET** 變量發送。 Rest API 支持 XML 和 JSON 格式。 通常,它是[移動](/mobile-testing.html)和網絡應用程序的首選,因為它可以使應用程序運行更快,更流暢 ## WSDL WSDL(Web 服務描述語言)是一種基于 XML 的語言,將用于描述 Web 服務提供的服務。 WSDL 以 XML 格式描述了特定 Web 服務提供的所有操作。 它還定義了如何調用服務,即我們必須提供的輸入值以及將為每種服務生成的響應的格式是什么。 ## 如何測試 Web 服務? 要測試 Web 服務,您可以 1. 手動測試 2. 創建自己的自動化代碼 3. 使用像 SoapUI 這樣的現成的自動化工具。 WebService 測試涉及以下步驟- 1. **了解 WSDL 文件** 2. **確定特定 Web 服務提供的操作** 3. **確定我們需要發送的 XML 請求格式** 4. **確定響應 XML 格式** 5. **使用工具或編寫代碼來發送請求并驗證響應** 假設我們要測試一個提供貨幣換算功能的 WebService。 它將當前不同國家/地區之間的匯率轉換成貨幣。 我們可以在應用程序中使用此服務,將值從一種貨幣轉換為另一種貨幣。 現在讓我們看看上面的步驟 ## 步驟 1 至 4:了解 WSDL 并確定操作& XML 格式 可以在@( [http://www.webservicex.net/CurrencyConvertor.asmx?wsdl](http://www.webservicex.net/CurrencyConvertor.asmx?wsdl) )上看到貨幣轉換器 WSDL 文件,該文件將提供有關它將支持的貨幣轉換器 Web 服務方法的信息,該參數為 我們需要通過和參數的類型…等等 ![Web Service Testing: A Beginner's Tutorial](https://img.kancloud.cn/bc/20/bc201f370dafa349c2a0f1ae646e8309_720x563.png "Web Service Testing: A Beginner's Guide") ![Web Service Testing: A Beginner's Tutorial](https://img.kancloud.cn/ba/9c/ba9caa3e0e58ab4d8e8705ccaa71f1dc_720x611.png "Web Service Testing: A Beginner's Guide") ## 步驟 5:使用工具或編寫代碼來發送請求并驗證響應 有許多工具可用于測試 Web 服務。 SoapUI 是流行的工具之一,它將幫助我們測試 Web 服務。 實際上,您可以使用任何編程語言,這些編程語言都可以通過 http 向 Web 服務提供商應用程序發送 XML 請求,并能夠根據預期結果解析和驗證響應 XML。 在我們的例子中,我們將測試 WebService 1. 使用 Java 2. 使用 SoapUI ### 第 1 部分)使用 Apache Axis2 API(Java)進行 Web 服務測試。 通常,Web 服務接受請求并以 XML 格式發送響應。 Apache Axis2 API 項目是 [Java](/java-tutorial.html) 實現 API,將用于為服務器端(服務提供者)和客戶端(服務使用者)創建 Web 服務。 Axis2 能夠發送 SOAP 消息并接收&處理 SOAP 消息。 我們可以使用 API??編寫一個小的 Java 程序來創建 Web 服務。 Axis2 將通過 Java 程序生成 WSDL,該 WSDL 將用于通信 Web 服務提供的服務。 我們可以使用相同的 Axis2 從 WSDL 文件生成 Java 類(存根),我們可以將其用作客戶端程序來生成 Web 服務請求,將請求發送到服務端點并處理響應。 1. 基本上,我們將創建一個簡單的 Java 程序,在其中實例化存根類。 2. 使用存根,我們將通過傳遞所有必需的信息來調用 request 方法。 3. 存根程序會將請求轉換為 XML 請求格式,并向其發送服務端點,該端點將讀取請求并處理請求并以 XML 格式發送響應。 4. XML 響應將通過存根轉換為 Java 類,并返回到實際程序。 讓我們詳細看一下上述步驟 步驟 a)下載 axis2 API @ [https://axis.apache.org/axis2/Java/core/download.cgi](https://axis.apache.org/axis2/java/core/download.cgi) &設置環境變量'AXIS2_HOME' ![Web Service Testing: A Beginner's Tutorial](https://img.kancloud.cn/82/f4/82f4b8521da170c699d9000d16e9a56f_425x305.png "Web Service Testing: A Beginner's Guide") 步驟 b)創建一個文件夾以保留所有生成的工件 例如:C:\ Axis \ Projects \ CurrencyConverter 步驟 c)打開命令提示符,然后導航到要生成工件的文件夾結構,然后運行以下命令以生成存根 %AXIS2_HOME%\ bin \ WSDL2Java -uri http://www.webservicex.net/CurrencyConvertor.asmx?wsdl -p org.apache.axis2.currencyconvertor -d adb –s ![Web Service Testing: A Beginner's Tutorial](https://img.kancloud.cn/88/6d/886dd6865bcf6522160af9f3d7371f37_720x102.png "Web Service Testing: A Beginner's Guide") 步驟 d)命令成功運行后,您將看到包含所需文件的文件夾。 ![Web Service Testing: A Beginner's Tutorial](https://img.kancloud.cn/79/a0/79a07fadca9d0d9ec576417a20c48ec4_482x266.png "Web Service Testing: A Beginner's Guide") 步驟 e)接下來,我們必須創建客戶端程序,我們將使用生成的存根通過該客戶端程序發送實際請求。 打開 Eclipse 并創建新的 Java 項目,然后選擇我們在上面創建的文件夾。 ![Web Service Testing: A Beginner's Tutorial](https://img.kancloud.cn/66/22/662251c13ca8a2fbc080cd333c1e6bb2_720x439.png "Web Service Testing: A Beginner's Guide") 步驟 f)將所有與 axis2 相關的 jar 添加到項目構建路徑,該路徑將位于 axis2 軟件文件夾的 lib 文件夾中 (例如:C:\ Axis \ axis2-1.6.2 \ lib) ![Web Service Testing: A Beginner's Tutorial](https://img.kancloud.cn/df/c2/dfc2ec5584d00c7f7280bb1e7e4b41aa_720x546.png "Web Service Testing: A Beginner's Guide") 步驟 g)創建一個新的 Java 類(例如:Client.Java)并實例化存根對象。 使用存根對象,我們可以調用特定 WebService 的所有受支持的方法。 ![Web Service Testing: A Beginner's Tutorial](https://img.kancloud.cn/a7/ed/a7ed7ada978ae296891c130109011aff_720x625.png "Web Service Testing: A Beginner's Guide") ``` Client.Java Program package org.apache.axis2.currencyconvertor; import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRate; import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRateResponse; import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.Currency; public class Client { public static void main(Java.lang.String args[]) { try { //Create the stub object by passing the service end point url CurrencyConvertorStub stub = new CurrencyConvertorStub("http://www.webservicex.net/CurrencyConvertor.asmx"); //ConversionRate is the class which we have to use mention the from and to currency //ConversionRate object will be the parameter for the conversionRate operation ConversionRate conversionRate = new ConversionRate(); conversionRate.setFromCurrency(Currency.USD); conversionRate.setToCurrency(Currency.INR); //Create the ConversionRateResponse object, which is going to be used to catch the response //call the conversionRate service using the stub object ConversionRateResponse conversionRateResponse = stub.conversionRate(conversionRate); //We can use the conversionRateResponse object to retrieve the response of the ConversionRate Service System.out.println("Conversion Rate from INR to USD : " + conversionRateResponse.getConversionRateResult()); } catch (Exception e) { e.printStackTrace(); } } } ``` ### 第 2 部分)使用 SoapUI 測試 WebService 在 SoapUI 中 1. 轉到文件>新肥皂項目 2. 輸入項目名稱和 WSDL URI 位置 3. 點擊確定 ![Web Service Testing: A Beginner's Tutorial](https://img.kancloud.cn/10/10/101042cb6196e07aee8fa14a8c5492b7_720x461.png "Web Service Testing: A Beginner's Guide") 1. 展開第一個請求,然后雙擊“ Request1”。 它將以 XML 格式顯示 SOAP 請求。 2. 輸入從貨幣和到貨幣 3. 點擊提交按鈕 4. 響應 XML 將顯示在右側窗格中。 ![Web Service Testing: A Beginner's Tutorial](https://img.kancloud.cn/20/15/2015ddd4a03fdd6c04d190a3682723c0_720x257.png "Web Service Testing: A Beginner's Guide") 您可能會得出結論,SoapUI 之類的工具的使用加快了 WebService 測試的速度。 因此,SoapUi 將在后續教程中成為我們學習的重點。 ## 摘要 * 軟件應用程序使用 WebService 相互通信和交換數據 * SOAP 和 REST 是創建 WebService 的 2 種流行協議 * SOAP 支持基于 XML 的數據交換 * REST 支持 XML,Json 或簡單 URL 中的數據交換。 * WSDL 是基于 XML 的語言,將用于描述 Web 服務提供的服務。 SOAP 是使用 WSDL 定義的。 * 要測試 WebService,您可以 * 創建您自己的代碼。 例如,使用 Java 的 Axis2 API * 使用 SoapUI 之類的 WebService 測試自動化工具 * 與使用 Axis2 API 創建自己的代碼相比,SoapUI 之類的自動化工具將加快您的測試工作,并且將需要更少的編碼工作 ## 常問問題 WebService 和 WebAPI 有什么區別? <colgroup><col style="width:319px"><col style="width:319px"></colgroup> | **Web 服務** | **Web API** | | * 由 W3C 定義,所有通信 & 數據交換均基于 XML | * Web API 通信 & 數據交換可以是 XML,JSON 或純數據 | | * 已定義標準– WSDL | * 未定義標準 | | * 您無法壓縮數據,但可以壓縮 HTML 請求 | * 您可以壓縮數據 | | * 示例:SOAP | * 示例:REST | 進一步了解 [Web API 測試](/api-testing.html) Narender Reddy Nukala 先生的貢獻使本教程成為可能
                  <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>

                              哎呀哎呀视频在线观看