扣丁學堂淺談2018年流行的軟件測試工具詳解
2018-01-19 15:04:09
2448瀏覽
今天扣丁學堂給大家詳細介紹一下關于流行的
軟件測試培訓工具介紹之接口測試詳解,下面我們一起來看下吧。
POSTMAN(推薦)
Postman的主要功能模擬各種HTTP請求:從常用的GET,POST到基于REST的PUT,DELETE...等等甚至還可以送出檔案,送出額外的頭。
收集功能:收集是請求的集合,在做完單一個測試的時候,你可以把這次的要求存到特定的收藏里面,如此一來,下次要測試的時候,就不需要重新輸入。
養成習慣以后,網站API的每個方法都寫好存進去,以后在開發的時候,就可以迅速得看到結果。而收藏還可以導入或是分享出來,讓團隊里面的其他人,可以一起使用你建立起來的集合。
整理過後的回傳結果:一般在用其他工具來測試的時候,回傳的東西通常都是純文字的生的,但如果是JSON,就是塞成一整行的JSON。這會造成閱讀時的障礙,而Postman可以針對回傳資料的格式自動美化,JSON,XML或是HTML都會整理成人類可以閱讀的型態。
設定環境:Postman可以自由新增環境,一般我們可能會有多種環境,發展,分期或地方,而這幾種環境的請求的URL也各不相同新增環境,可以讓我們設定一些環境變數,使得切換環境測試的時候,不用重寫請求。
另外還支持使用js自定義測試腳本,測試結果還可以存儲在云端。
HTTPie(推薦)
HTTPie是HTTP的命令行客戶端。其目標是讓CLI和web服務之間的交互盡可能的人性化。
這個工具提供了簡潔的http命令,允許通過自然的語法發送任意HTTP請求數據,展示色彩化的輸出。HTTPie可用于與HTTP服務器做測試、調試和常規交互。
主要特性:
直觀的語法
格式化和色彩化的終端輸出
內置JSON支持
表單和文件上傳
HTTPS、代理和認證
任意請求數據
自定義頭部
持久性會話
類Wget下載
支持Python2.6,2.7和3.x
支持Linux,MacOSX和Windows
插件
文檔
測試覆蓋率
HTTPie是用Python編寫,用到了Requests和Pygments這些出色的庫。
使用HTTPGET方法時,就無需明確指定HTTP方法。
#httphttpie.org
HTTP/1.1302Found
Connection:close
Content-Length:292
Content-Type:text/html;charset=iso-8859-1
Date:Wed,04May201602:11:06GMT
Location:http://www.budux.cn/testing/
Server:Apache/2.2.15(CentOS)
X-Awesome:ThanksfortryingHTTPie:)
<!DOCTYPEHTMLPUBLIC"-//IETF//DTDHTML2.0//EN">
<html><head>
<title>302Found</title>
</head><body>
<h1>Found</h1>
<p>Thedocumenthasmoved<ahref="http://www.budux.cn/testing/">here</a>.</p>
<hr>
<address>Apache/2.2.15(CentOS)Serverathttpie.orgPort80</address>
</body></html>
查看頭部
HTTP/1.1200OK
Connection:keep-alive
Content-Length:0
Date:Wed,04May201602:57:34GMT
Server:Tengine
Set-Cookie:aliyungf_tc=AQAAAB6D8xIlBgUAY0NpccWR0vhW8yqz;Path=/;HttpOnly
POST
HTTP/1.1200OK
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:*
Connection:keep-alive
Content-Length:441
Content-Type:application/json
Date:Wed,04May201602:20:37GMT
Server:nginx
{
"args":{},
"data":"",
"files":{},
"form":{
"key1":"value1",
"key2":"values"
},
"headers":{
"Accept":"*/*",
"Accept-Encoding":"gzip,deflate",
"Content-Length":"23",
"Content-Type":"application/x-www-form-urlencoded;charset=utf-8",
"Host":"httpbin.org",
"User-Agent":"HTTPie/0.9.3"
},
"json":null,
"origin":"113.105.67.99",
"url":"http://www.budux.cn/testing/"
}
curl
背景
越來越多的應用程序遷移到Web上,為此大量需要HTTP腳本自動地從網絡中提取信息,模擬用戶post或上傳數據到web服務器。
Curl是用于做各種URL操作和傳輸的命令行工具。本文關注HTTP請求。并假定你已經會使用'curl--help'或'curl--manual'獲取幫助。
Curl主要負責發送數據和獲取返回,更復雜的功能比如循環請使用python之類的腳本語言。
HTTP協議
HTTP是用來從Web服務器獲取數據的協議。它是基于TCP/IP非常簡單的協議。該協議還允許信息從客戶端發送到服務器。
HTTP是客戶端發送到服務器請求特定的動作的普通ASCII文本行以及服務器返回實際內容前的幾行。
Curl發送一個HTTP請求。該請求包含方法(如GET,POST,HEAD等),請求頭,有時還有請求體。HTTP服務器響應包含狀態行,響應頭和通常有body。body部分是你請求的明文數據比如實際的HTML或圖像等。
查看協議
使用curl的選項--verbose(-v的縮寫)會顯示curl發送到服務器的命令及其他文本信息。
--trace和--trace-ASCII甚至提供了更多細節。
*Abouttoconnect()toautomationtesting.sinaapp.comport80(#0)
*Trying113.17.175.80...
*Connectedtoautomationtesting.sinaapp.com(113.17.175.80)port80(#0)
>GET/HTTP/1.1
>User-Agent:curl/7.29.0
>Accept:*/*
>
<HTTP/1.1200Ok
<Server:nginx
<Date:Tue,19Aug201406:48:37GMT
<Content-Type:text/html;charset=utf-8
<Transfer-Encoding:chunked
<Connection:keep-alive
<X-Powered-By-360WZB:wangzhan.360.cn
<via:yq26.pyruntime
<VAR-Cache:MISS
<cache-control:max-age=14400
<age:0
<
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
...
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
...
查看時間
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
...
查看響應
默認情況下curl發送響應到stdout。可以使用-o或-O重定向。
URL
統一資源定位符的格式是互聯網上資源的地址。
域名解析
主機名使用DNS解析或/etc/hosts解析為IP地址,也可以在URL中指定IP地址,而不是名稱來指定IP地址。
通過--resolve可以自定義域名解析:對于開發等嘗試的情況下,你可以點出一個不同的IP地址,比原本可以使用,用卷曲的--resolve選項的主機名:
<!doctypehtml>
<html>
<head>
<title>ExampleDomain</title>
<metacharset="utf-8"/>
<metahttp-equiv="Content-type"content="text/html;charset=utf-8"/>
<metaname="viewport"content="width=device-width,initial-scale=1"/>
<styletype="text/css">
body{
background-color:#f0f0f2;
margin:0;
padding:0;
font-family:"OpenSans","HelveticaNeue",Helvetica,Arial,sans-serif;
端口和代理
#curl--proxyhttp://proxy.example.org:4321http://remote.example.org/
用戶名和密碼
#curlhttp://user:password@example.org/
#curl-uuser:passwordhttp://example.org/
抓取網頁
GET
#curlhttp://curl.haxx.se
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>curlandlibcurl</title>
#curl-ihttp://curl.haxx.se
HTTP/1.1200OK
Date:Tue,19Aug201407:35:43GMT
Server:Apache/2.4.9(Debian)
Last-Modified:Tue,19Aug201407:25:16GMT
ETag:"238f-500f6639411b0"
Accept-Ranges:bytes
Content-Length:9103
Vary:Accept-Encoding
Content-Type:text/html
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
--include(-i)可以額外顯示響應頭。
HEAD
--head(-I)只請求頭部。但是有些網站未必支持。
表單
GET
<formmethod="GET"action="junk.cgi">
<inputtype=textname="birthyear">
<inputtype=submitname=pressvalue="OK">
</form>
輸入'1905',點擊OK,會生成"junk.cgi?birthyear=1905&press=OK"之類的東東。比如第一頁是"www.hotmail.com/when/birth.html",第2也可能是"www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK"。
#curl"http://www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK"
<html><head><title>Objectmoved</title></head><body>
<h2>Object
movedto<a
</body></html>
POST
POST的保密性更好:
#curl--data"key1=value1&key2=values"http://httpbin.org/post
{
"args":{},
"data":"",
"files":{},
"form":{
"key1":"value1",
"key2":"values"
},
"headers":{
"Accept":"*/*",
"Content-Length":"23",
"Content-Type":"application/x-www-form-urlencoded",
"Host":"httpbin.org",
"User-Agent":"curl/7.29.0"
},
"json":null,
"origin":"116.31.94.43",
"url":"http://httpbin.org/post"
}
更多實例:
curl--data"birthyear=1905&press=%20OK%20"http://www.example.com/when.cgi
上面內容默認使用application/x-www-form-urlencoded類型。如果需要使用未編碼的數據:
curl--data-urlencode"name=IamDaniel"http://www.example.com
文件上傳POST
定義在RFC1867中:
<formmethod="POST"enctype='multipart/form-data'action="upload.cgi">
<inputtype=filename=upload>
<inputtype=submitname=pressvalue="OK">
</form>
執行方式:
curl--formupload=@localfilename--formpress=OK[URL]
以上就是扣丁學堂關于流行的軟件測試工具介紹的詳細介紹,最后想要了解更多關于軟件測試發展前景趨勢,請關注扣丁學堂官網、微信等平臺,扣丁學堂IT職業在線學習教育平臺為您提供權威的
軟件測試視頻教程系統,通過千鋒扣丁學堂金牌講師在線錄制的第一套自適應軟件測試在線視頻課程系統,讓你快速掌握軟件測試從入門到精通開發實戰技能。
【關注微信公眾號獲取更多學習資料】
查看更多關于“軟件測試技術資訊”的相關文章>>
標簽:
軟件測試培訓
軟件測試工程師
軟件測試在線視頻
軟件測試視頻教程
軟件測試教程