摘要:數人云開源一款容器管理工具,開發過程中,為了保證的健壯性和穩定性,數人云開發團隊自制了一套適合測試的小工具。于是一款簡單的腳本請求工具解析工具組成的測試小工具雛形出現了。是一款命令行解析文本的工具,支持非常多的語法解析構造重組文本。
數人云開源一款容器管理工具Crane,Crane開發過程中,為了保證API的健壯性和穩定性, 數人云開發團隊自制了一套適合Crane API測試的小工具。它也適用于其他接口測試,小數發現很多朋友對它感興趣,就勤勞地搬運過來,希望能為大家提供一個參考和思路。
針對Crane團隊只向外輸出API的特點, 選擇測試工具是秉著以下原則的:
第一, 功能不要太復雜,學習曲線不能太陡, 功能夠用就行;
第二, 可編程要好, 最好不要有界面,程序員友好。
于是一款簡單的Bash腳本+HTTP 請求工具+JSON解析工具組成的測試小工具雛形出現了。
下面給大家展現這款工具的構成
Bash腳本: 測試工具的粘合劑, 不是Java也不是Python, 用Bash簡單易用,功能強大。
Httpie: 一款類似curl的http工具, 不過比curl簡單的多, 尤其是想發個JSON請求時候, 更簡單。
jq: jq是一款命令行解析JSON文本的工具, 支持非常多的語法解析構造重組JSON文本。
下面依次給大家介紹一下httpie和jq的基本用法
1. 例子說明如何使用httpiehttpie在terminal下的命令是http, 先來幾個簡單的例子給演示一下用法。
http get http://httpbin.org/get header:header-content
其中, http是命令, get是請求method, http://httpbin.org 是請求地址, httpbin是一個http的測試服務; 用冒號相連的參數代表著HTTP請求頭, 用等號連接為請求body中的JSON鍵和值。 httpie默認的請求為json請求, 所以不用過多指明,header已經加上了Content-Type:application/json。
http post http://httpbin.org/post header:header-content json-key=json-value
http支持很多命令行選項, 介紹一個有意思的是 --check-status, check-status是把http response的非200值設置成進程的exit code, 比如:
如上所示, 請求一個不存在的地址時候進程退出符號變成了4。 我們將大量使用這個feature來判斷返回值。
2. 例子說明如何使用jq下面我們用幾個例子介紹一下jq的用法。
上圖演示如何提取一個json的key。
如何提取一個嵌套的key。
提取數組中的元素。
篇幅關系我們不過多展示jq的高級功能, 除了基本的解析和構造以外,jq支持大量的filter, 如有興趣可參考https://stedolan.github.io/jq...。
3. Crane測試工具的幾個場景 場景一: 我期望測試API的HTTP測試的返回狀態比如200, 404, 500首先bash造了幾個基本的函數來輸出錯誤, 和判斷狀態
使用方法
場景二: 登錄過程測試更多的測試例子可參考https://github.com/Dataman-Cl... 。
至此,一款可用的測試工具出爐了, 雖然簡單,不過功能恰到好處,非常適合我們的場景, 再也不怕API出錯發現不了了。 聰明的同事們把這工具配到了jenkins和單元測試一起執行, 出錯了還能得到郵件通知, 酷極了。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/26756.html
摘要:重點在自動化測試過程中,經常需要使用文件來存儲測試用例,那么在表格內設計好了測試用例數據后,如何通過自動化讀取呢此時就需要測試小姐姐動手寫代碼了本文主要介紹通過來讀取表格數據。 ...
目錄 一、禪道 一、測試工具背景 二、測試管理工具 三、測試工具介紹 四、禪道介紹 五、禪道操作 7. 創建發布 8. 測試團隊 二、缺陷報告 三、測試報告 一、概要 二、測試過程 三、缺陷分析 四、測試總結 四、接口測試以及用例編寫 五、Fiddler 好文推薦 一、禪道 一、測試工具背景 當測試環境搭建完成后,測試人員將在自己搭建的環境上執行測試用例,開展測試工作。測試人員在執行測試用例的過...
摘要:一前言框架對于開發來說并不陌生,通常新增一個接口,我們可以直接用測試。但是工作中有時遇到一些接口的實現會獲取上下文中的信息,如果需要測試的話就只能另外編寫代碼設置上下文,調用接口實現,相對來說會比較麻煩。 一、前言 dubbo框架對于java開發來說并不陌生,通常新增一個dubbo接口,我們可以直接用telnet測試。但是工作中有時遇到一些dubbo接口的實現會獲取上下文中的信息,如果...
閱讀 1179·2021-09-10 10:51
閱讀 911·2019-08-30 15:53
閱讀 2737·2019-08-30 12:50
閱讀 988·2019-08-30 11:07
閱讀 2000·2019-08-30 10:50
閱讀 3608·2019-08-29 18:47
閱讀 1322·2019-08-29 18:44
閱讀 1610·2019-08-29 17:01