<small id="nvnkc"><optgroup id="nvnkc"><sub id="nvnkc"></sub></optgroup></small>

<th id="nvnkc"><div id="nvnkc"></div></th>
  • <noscript id="nvnkc"><nobr id="nvnkc"><address id="nvnkc"></address></nobr></noscript>

  • <code id="nvnkc"><var id="nvnkc"></var></code><tbody id="nvnkc"><listing id="nvnkc"><nav id="nvnkc"></nav></listing></tbody>

    常用接口測試工具 Postman VS SoapUI測試用例分享

    發布時間: 編輯:CINDY 0人評論 278次瀏覽 實用方法教程
    摘要 : 常用接口測試工具 Postman VS SoapUI測試用例分享
    其實市面上做接口測試的工具很多,為啥挑這兩個來講解了,重點是真心好用。好了,廢話不多說,直接上干貨。相信有一定了解的人都知道這兩個工具應用最廣泛的就是接口測試,既然提到接口測試那我們不得不先普及下什么是接口,接口測試又是啥?
    我們常說的接口一般指下面兩種:
    1、API:應用程序編程接口。程序間的接口
    2、GUI:圖形用戶界面。人與程序的接口
    我們這里說的接口測試主要指API接口測試,API接口分類一般有如下幾種:
    · HTTP接口
    · Webservice接口
    · RESTful接口
    HTTP,RESTful接口走HTTP協議,通過路徑來區分調用的方法,請求報文入參有多種形式,返回報文一般為json串,最常見的是get和post方法。
    WebService接口是走soap協議,請求報文和返回報文都是xml格式。
    而Postman和SopaUI支持的接口類型如下:

    因此,我們需要先辨別項目前后端是用何種接口交互再來選取相應的接口測試工具。
    接口測試又是啥?
    接口測試就是模擬客戶端向服務器發送請求報文,服務器接收請求報文后對相應的報文做處理并向客戶端返回應答,客戶端再接收應答然后對應答做一些校驗的過程。

    如何用PostMan和SoapUI做接口自動化測試。

    A:Postman+Newman+Jenkins實現接口自動化測試
    1.安裝Postman,編寫API接口測試用例
    示例:豆瓣公開查找書籍接口
    常用接口測試工具 Postman VS SoapUI測試用例分享
    2.導出Collection(項目-接口用例),安裝NewMan,用NewManCommand運行Collection并輸出HTML報告。
    C:\Users\Li.Shi\AppData\Roaming\npm\newmanrunC:\Users\Li.Shi\Desktop\PostMan\LiShiTest.postman_collection.json--reporterscli,json--reporterscli,html--reporter-html-exporthtmlOut.html
    安裝部署Jenkins
    3.安裝部署Jenkins,其中Jenkins的配置如下:

    安裝部署Jenkins

    至此,我們可完成基于postman和Jenkins的自動化接口測試。
    B:SoapUI+UnitTest 實現接口自動化測試
    1.安裝SoapUI,自行創建一個可運行的SoapUI的Project,得到項目XML文件.eg:DeviceReportService-soapui-project.xml
    2.用VS(Visual Studio)創建一個Unit Test Project.添加reference,Check System, System.Configuration, System.Core, System.Data
    3.添加app config文件,指定soapUI TestRunner.exe所在路徑.
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <appSettings>
    <add key="SoapUIHome" value="C:\Program Files\SmartBear\SoapUI-5.3.0\bin"/>
    </appSettings>
    </configuration>
    4.添加SoapUIRunner公共類,通過新建Process去調用TestRunner.exe命令進而運行SoapUI的case.
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    using System;
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    namespace SoapUI
    {
    public class SoapUIRunner
    {
    public void RunSoapUItest(string soapProject,string testSuiteName,string testName,string report,string set)
    {
    const string fileName = "cmd.exe";
    var soapProjectFileName = Path.GetFullPath(soapProject);
    var arguments = string.Format("/C testrunner.bat -s\"{0}\" -c\"{1}\" \"{2}\" -r -a -f\"{3}\" -t\"{4}\" ", testSuiteName, testName, soapProjectFileName, report, set);
    var soapHome = System.Configuration.ConfigurationManager.AppSettings["SoapUIHome"];
    //start a process and hook up the in/output
    var process = new Process
    {
    StartInfo = new ProcessStartInfo
    {
    FileName = fileName,
    Arguments = arguments,
    WorkingDirectory = soapHome,
    Verb = "runas",
    CreateNoWindow = true,
    ErrorDialog = false,
    RedirectStandardError= true,
    RedirectStandardOutput = true,
    UseShellExecute = false
    },
    EnableRaisingEvents = true
    };
    //pipe the output to console.writeline
    process.OutputDataReceived += (sender, args) =>
    Console.WriteLine(args.Data);
    var errorBuilder = new StringBuilder();
    //store the errors in a stringbuilder
    process.ErrorDataReceived += (sender, args) =>
    {
    if (args != null && args.Data != null)
    {
    errorBuilder.AppendLine(args.Data);
    }
    };
    process.Start();
    process.BeginOutputReadLine();
    process.BeginErrorReadLine();
    //wait for soapUI to finish
    process.WaitForExit();
    //fail the test if anything fails
    var errorMessage = errorBuilder.ToString();
    if(!string.IsNullOrEmpty(errorMessage))
    {
    Assert.Fail("Test with name '{0}' failed. {1} {2}", testName, Environment.NewLine, errorMessage);
    }
    }
    }
    }
    5.通過Unit Test調用SoapUI TestSuit, 進而可以運用bat命令集成運行TestCase. 做到接口的自動化測試。
    using System;
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    namespace SoapUI
    {
    [TestClass]
    [DeploymentItem(@"soapUIFiles\DeviceReportService-soapui-project.xml", "TestData\\soapUIFiles")]
    public class DeviceReport:SoapUIRunner
    {
    private string testCaseSuiteName = "BasicHttpBinding_DeviceReport TestSuite";
    private string soapProjectFile= @"TestData\\soapUIFiles\\DeviceReportService-soapui-project.xml";
    private string reportFile = @"C:\Users\" + Environment.UserName + "\\Desktop\\TestReport";
    private String SoapUISettingsFile = @"TestData\\soapUIFiles\\soapui-settings.xml";
    private TestContext testContext;
    public TestContext TestContext
    {
    get { return this.testContext; }
    set { this.testContext = value; }
    }
    [TestMethod]
    [TestCategory("DeviceReport")]
    public void Device_Report()
    {
    RunSoapUItest(soapProjectFile, testCaseSuiteName, "DeviceReport TestCase", reportFile, SoapUISettingsFile);
    }
    }
    }
    接下來我們對比下用方式A和B做接口自動化的區別:
    1.從上面的實現來看,SoapUI自動化需要測試人員有一定的編碼能力,想比如Postman會對測試人員要求高些。
    2.從兩種工具用例組織方式來看:
    SoapUI的組織方式如下圖,最上層是WorkSpace,所以每個WorkSpace中可以打開多個Project,一個Project也可以在不同的WorkSpace中。
    Project對應我們的測試項目,其中可添加WSDL、WADL資源、TestSuite以及MockService。
    TestSuite對應我們的測試模塊,比如商戶中心,其中可以添加TestCase,TestCase對應我們對某個模塊的不同接口,比如訂單管理接口。而一個接口可以能需要多個Step完成,變量、數據源、請求等都是一個Step。

    Postman功能上更簡單,組織方式也更輕量級,它主要針對的就是單個的HTTP請求。Collection就相當于是Project,而Collection中可以創建不定層級的Folders,可以自己組織TestSuite。每個Request可以當做是一個TestCase或者Step:

    3.從長期的團隊協作來看:
    SoapUI:本身一個project是一個xml文件,但是可以通過配置變成一系列文件夾,每個Case、每個Suite均是獨立的文件,這樣可通過svn/git/TFS進行團隊協作。支持性較好。
    Postman:有團隊協作的功能,需要付費。
    因此從項目支持的接口類型,不同集成測試需求和后期維護來考慮,我們可以根據上面幾點選擇適合自己項目的接口自動化工具。
    查看更多

    轉載必須注明來自: Chrome插件 ? 常用接口測試工具 Postman VS SoapUI測試用例分享

    Postman for Linux(x64)

    Postman for Linux(x64)

    0 人評論 34470 次人瀏覽 2.0分 2.0 分
    Postman for Linux(x64)是一款針對Linux系統x64架構的功能強大的網頁調試與發送網頁HTTP請求應用程序。
    Postman for Linux(x86)

    Postman for Linux(x86)

    0 人評論 11925 次人瀏覽 4.0分 4.0 分
    Postman for Linux(x86)是一款針對Linux系統x86架構的功能強大的網頁調試與發送網頁HTTP請求應用程序。
    Postman for Win32

    Postman for Win32

    0 人評論 39094 次人瀏覽 3.5分 3.5 分
    Postman for Win32是一款針對Win32系統的功能強大的網頁調試與發送網頁HTTP請求應用程序。
    Postman for Win64(V6.0.10)

    Postman for Win64(V6.0.10)

    11 人評論 233801 次人瀏覽 3.2分 3.2 分
    Postman for Win64(V6.0.10)是一款針對Win64系統的功能強大的網頁調試與發送網頁HTTP請求應用程序。
    Postman Interceptor v1.1.1

    Postman Interceptor v1.1.1

    0 人評論 425 次人瀏覽 3.0分 3.0 分
    Postman Interceptor插件是一款可以幫助用戶通過Postman應用程序發送帶有瀏覽器Cookie請求的插件,功能類似fiddler。
    Postman

    Postman

    36 人評論 2442034 次人瀏覽 4.0分 4.0 分
    Postman是一款功能強大的網頁調試與發送網頁HTTP請求的Chrome插件。
    Postman的基礎使用方法教程介紹

    Postman的基礎使用方法教程介紹

    0 人評論 145 次人瀏覽 3.0分 3.0 分
    Postman是一款功能強大的網頁調試與發送網頁HTTP請求的工具。用于API測試的工具。在我們平時開發中,特別是需要與接口打交道時,無論是寫接口還是用接口,拿到接口后肯定都得提前測試一下。我們可以用來很方便的模擬get或者post或者其他方式的請求來調試接口。在Postman中,請求可以保存,也就類似于文件。
    Postman for mac

    Postman for mac

    2 人評論 92743 次人瀏覽 2.7分 2.7 分
    Postman for mac是一個提供在MAC設備上功能強大的開發,監控和測試API的絕佳工具。
    av看片免费观看网址
    評論:(0)

    已有 0 位網友發表了一針見血的評論,你還等什么?

    ?