面試題-web service接口如何測試?

2021-03-02 從零開始學自動化測試
前言

接口相關的測試,http 協議的接口大家平常基礎的很多,基本上問題不大。webservice 接口如何測試呢?需先了解什麼是 webservice 接口,和 http 協議的接口有什麼不一樣?

http 協議和soap 協議

我們平常說的接口,其實就是跟伺服器進行數據交互,把數據提交到服務端,或者查詢服務端的數據,那麼如何數據交互,需遵循接口協議,根據協議的不同這裡分http協議和soap協議(還有其它協議就不一一列舉)

http 協議:HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,HTTP是一個屬於應用層的面向對象的協議,
          是用於從全球資訊網(WWW:World Wide Web )伺服器傳輸超文本到本地瀏覽器的傳送協議。

soap 協議:(Simple Object Access Protocol)簡單對象存取協議。是XML Web Service 的通信協議。
當用戶通過UDDI找到你的WSDL描述文檔後,他通過可以SOAP調用你建立的Web服務中的一個或多個操作。
SOAP是XML文檔形式的調用方法的規範,它可以支持不同的底層接口,像HTTP(S)或者SMTP。

什麼是web service?

通俗來講就是 soap 協議開發的接口對應的服務就是web service接口,通過 SOAP 在 Web上 提供的軟體服務,使用 WSDL 文件進行說明,並通過 UDDI 進行註冊。有以下幾個特點

基於Web的服務:

伺服器端整出一些資源讓客戶端應用訪問(獲取數據)

一個跨語言、跨平臺的規範(抽象)

多個跨平臺、跨語言的應用間通信整合的方案(實際)

http 協議開發的接口對應的服務,我們叫http service

SOAP 協議是什麼?

Webservice是基於 SOAP 協議傳輸數據。SOAP 又是一種簡單的基於 XML 的協議,它使應用程式通過 HTTP 來交換信息。

什麼是 XML ?
SOAP 是基於XML 來描述的,必須先了解什麼是xml格式,如下格式,就是xml

# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getWeatherbyCityName xmlns="http://WebXml.com.cn/">
<theCityName>上海</theCityName>
</getWeatherbyCityName>
</soap:Body>
</soap:Envelope>

什麼是 WSDL 文件?

WSDL(Web Services Description Language)基於XML語言,用於描述Web Service及其函數、參數和返回值。
它是WebService客戶端和伺服器端能理解的標準格式。
因為是基於 XML 的,所以 WSDL 既是機器可閱讀的,又是人可閱的,這將是一個很大的好處。——可以視為接口文檔

WSDL 文件保存在 Web 伺服器上,通過一個 url 地址就可以訪問到它。客戶端要調用一個 WebService 服務之前,要知道該服務的 WSDL 文件的地址。

wsdl地址可以訪問這個地址查看示例 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

UDDI 是什麼

UDDI (Universal Description, Discovery, and Integration) 是一個主要針對Web服務供應商和使用者的新項目。在用戶能夠調用Web服務之前,必須確定這個服務內包含哪些商務方法,找到被調用的接口定義,還要在服務端來編制軟體,UDDI是一種根據描述文檔來引導系統查找相應服務的機制。UDDI利用SOAP消息機制(標準的XML/HTTP)來發布,編輯,瀏覽以及查找註冊信息。它採用XML格式來封裝各種不同類型的數據,並且發送到註冊中心或者由註冊中心來返回需要的數據。

webservice 接口測試

先根據webservice 提供的接口文檔 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
這是一個 WeatherWebService 的接口文檔,可以查詢天氣

以 getWeatherbyCityName 根據城市或地區名稱查詢獲得未來三天內天氣情況、現在的天氣實況、天氣和生活指數為例

在 theCityName 後面輸入:上海,點調用

就可以查看返回的結果了

使用 postman 測試 webservice 接口

根據上面提供的接口請求報文內容,以下是 SOAP 1.2 請求和響應示例。所顯示的佔位符需替換為實際值。

# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/
POST /WebServices/WeatherWebService.asmx HTTP/1.1
Host: www.webxml.com.cn
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://WebXml.com.cn/getWeatherbyCityName"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getWeatherbyCityName xmlns="http://WebXml.com.cn/">
<theCityName>string</theCityName>
</getWeatherbyCityName>
</soap:Body>
</soap:Envelope>

響應示例

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getWeatherbyCityNameResponse xmlns="http://WebXml.com.cn/">
<getWeatherbyCityNameResult>
<string>string</string>
<string>string</string>
</getWeatherbyCityNameResult>
</getWeatherbyCityNameResponse>
</soap:Body>
</soap:Envelope>

於是可以在postman上填寫相關的請求參數
請求url地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
請求頭部參數:Content-Type: text/xml; charset=utf-8

請求body傳raw,類型選 XML(text/xml),body裡面輸入

# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getWeatherbyCityName xmlns="http://WebXml.com.cn/">
<theCityName>string</theCityName>
</getWeatherbyCityName>
</soap:Body>
</soap:Envelope>

點 send 按鈕就可以查詢到結果了


2021年第六期《python接口自動化+測試開發》課程,1月9號開學(火熱報名中!)

本期上課時間:1月9號-4月18號,每周六、周日晚上20:30-22:30
聯繫微信/QQ:283340479

相關焦點

  • Web Service接口測試
    Web service 接口測試一. web Service概念Web service使用與平臺和程式語言無關的方式進行通訊的一項技術, web service 是一個接口, 他描述了一組可以在網絡上通過標準的XML消息傳遞訪問的操作,它基於xml語言協議來描述要執行的操作或者要與另外一個web 服務交換數據, 一組以web服務在面向服務體系結構中定義的web
  • 接口測試的常考面試題+答案解析
    通常情況下,測試人員測試的接口主要就是web接口,而web接口又分為Web Service接口、Http接口和 RPC接口等等2、接口測試接口測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等以下是接口測試中常考的面試題目答案解析:1、請描述下
  • 什麼是Web?Web Service、Web API傻傻分不清楚?
    Since the web clients are still calling the API of the class libraries but remotely through the web, we call this kind of web service, Web API.
  • 關於面試總結13-app測試面試題
    前言現在面試個測試崗位,都是要求全能的,web、接口、app啥都要會測,那麼APP測試一般需要哪些技能呢?
  • Web service是什麼?
    今天先寫一個最基本的問題,Web service到底是什麼?Web service的概念W3C給Web service下過一個定義,說它是一個軟體系統,「用來控制機器之間的互動」( a software system designed to support interoperable machine-to-machine interaction over a network)。
  • 接口測試面試題小結
    API是(Application Programming Interface)首字母縮略詞,即應用程式編程接口。API是一組用於構建軟體應用程式的規程,協議和工具。API充當軟體應用程式之間的接口,並允許兩個軟體應用程式相互通信。API是一組軟體功能,可以由其他軟體執行。2、什麼是API測試?
  • 網易考拉、東方財富網軟體測試工程師面試題
    正在準備軟體測試工程師的求職,前輩分享的一些經驗是值得學習的,今天陝西優就業小優給大家整理了網易考拉、東方財富網軟體測試工程師面試被提問到的問題,希望能給大家帶來參考:網易考拉測試工程師面試經驗:>python如何讀寫文件,寫一個讀文件並按行列印的代碼,考慮關掉文件,考慮異常,如何捕捉異常並寫代碼自學過軟體測試相關嗎,怎麼學的,學到了什麼描述一下其中問了一下如何看CPU和內存佔用,CPU內存滿了,狀態返回情況(過後問她的答案是,如果捕捉的到就可以處理,捕捉不到會返回
  • 高階測試 · 大廠面試 · 真題題解(7)
    有測友去某知名大廠面試了,遭遇了幾道編程題,帶回來分享給大家研究學習!11.給定一個數組奇數為是升序,偶數位是降序,(如:1,8,3,6,5,4,7,2)如何讓其升序變成(1,2,3,4,5,6,7,8);👉參考答案:4. 把數組[0,1,1,0,1,1,0,1,1,1,0,0]中所有的1排到左側,0排到有右側;👉參考答案:5.
  • web項目中如何啟動爬蟲程序?Django+Requests+Ajax製作可視化翻譯界面詳解
    >本文講述如何在web項目中啟動爬蟲程序,原理,前端點擊按鈕,發送Ajax請求進行請求,後端接口中接收參數,通過爬蟲程序進行翻譯,得到翻譯後的結果在返回給前端先看下面動圖顯示返回的內容,所以翻譯接口無需返回模板頁面,我們的翻譯程序其實就是一個爬蟲程序(翻譯接口用的有道)
  • 如何測試一個web網站?有哪些測試點?
    Allen老師每天早上8:30,定時更新軟體測試相關技術、面試技巧、面試題解析等相關文章,美好的周末從學習開始。。
  • 使用MockMVC進行Controller單元測試
    接下來,將以查詢接口為例,介紹如何對該接口進行單元測試。在測試執行階段,通過對URI的訪問,查詢id=1的keyword。從測試結果來看,發生了如下的一系列過程1)Spring容器收到訪問請求,並由DispatcherServlet 根據@RequestMapping將請求轉發給對應的controller的接口。
  • 自動化測試面試題(附答案)
    android和ios的UI自動化測試;5)熟悉jenkins、svn、git的搭建和使用;6)熟悉常用性能測試工具的使用,並可進行分析調優:ab、jmeter、loadrunner、locust等,有分布式壓測經驗優先;7)熟悉使用django開發框架,可完成web頁面和功能的開發(此條可放寬);8)具備豐富的系統測試經驗,並且能夠進行系統級的原因定位與分析
  • 滲透測試面試近期熱門題
    前言近期面試喜歡問的問題,總結了一下。崗位分析整體安全行業,隨著網絡安全的大火,Web安全入門淺,培訓機構遍地開會,大量花裡胡哨的人才都爭著用了進來,所以想要突出,必須要有自己的一技之長。常見面試題及參考問:MySQL寫WebShell有幾種方式,利用條件答:一、union select 後寫入lines terminated by 寫入lines
  • 2020Web前端開發常見面試題匯總-開課吧
    以下是小編為大家整理的web前端面試題及答案,供各位參考。Web前端面試題:異步請求適合在哪個生命周期調?解析:官實例的異步請求是在mounted命周期中調的,實際上也可以在created命周期中調。Web前端面試題:各個生命周期的作用是什麼?
  • 測試面試題集錦(一)| 軟體測試常見必考問題與流程篇(附答案)
    本系列文章總結歸納了一些軟體測試工程師常見的面試題,主要來源於個人面試遇到的、網絡搜集(完善)、工作日常討論等,分為以下十個部分,供大家參考。如有錯誤的地方,歡迎指正。有更多的面試題或面試中遇到的坑,也歡迎補充分享。希望大家都能找到滿意的工作,共勉之!
  • 2020最新Web前端經典面試題試題及答案(持續更新)-開課吧
    Web前端面試題Web前端面試題:說說你對webpack的看法解析:webpack是一個模塊打包工具,可以使用webpack能很好的管理、打包web開發中所用到的HTML、js、css以及各種靜態文件(圖片、字體等),讓開發過程更加高效。對於不同類型的資源,webpack有對應的模塊加載器。webpack模塊打包器會分析模塊間的依賴關係,最後生成了優化且合併後的靜態資源。
  • web前端開發工程師面試題大全
    最近看到web群裡的人,特別關心面試web前端開發工程師時,面試官都會問那些問題,今天我整理了一份,web前端開發工程師崗位面試題的大全,大家可看看
  • 如何去面試一個測試工程師崗位?
    如何去面試一個測試工程師崗位???全手敲,少了些美觀,多了些乾貨,面試必備葵花寶典,覺得還不錯的,多多支持哦!做測試培訓不少年頭了,積累了一些面試的經驗和技巧,接下來幾期打算重點說一下如何去面試軟體測試崗位以及面試所遇到的問題,希望能夠幫到大家,也祝大家找到滿意的軟體測試工作。01 去外包還是直招的公司?
  • 基於REST架構的Web Service設計
    首頁 > 教程 > 關鍵詞 > web最新資訊 > 正文 基於REST架構的Web Service設計
  • Tomcat面試題(2020最新版)
    tomcat容器是如何創建servlet類實例?用到了什麼原理?當容器啟動時,會讀取在webapps目錄下所有的web應用中的web.xml文件,然後對 xml文件進行解析,並讀取servlet註冊信息。然後,將每個應用中註冊的servlet類都進行加載,並通過 反射的方式實例化。