接口测试(postman jmeter)
接口:把client(前端)和server(后端)聯(lián)系起來的就是接口,接口測試就是功能測試,進行接口測試首先得需要接口文檔。
json是一種通用的數(shù)據(jù)格式,接口返回的數(shù)據(jù)都是json,json是key--value形式的? (鍵值對)。例:{"name":"xiaohei","sex":"男"}
一、.根據(jù)接口文檔進行接口測試 ,首先確認請求類型(大多數(shù)用到post和get請求),get請求不需要借助任何工具,用瀏覽器就可以發(fā)請求。如:獲取學生信息為get請求可直接在瀏覽器發(fā)送請求,輸入url地址和參數(shù)即可查詢。如:http://***.**.*.**/api/user/stu_info?stu_name=小黑(stu_name)為參數(shù)。如果有多個參數(shù)可用&分隔開。
1.如果是post請求,需借助工具,如postman。舉例:如登陸接口請求是post,輸入url地址,在body里輸入?yún)?shù),key-value形式。
2.入?yún)⑹莏son類型的,需要輸入?yún)?shù),格式選擇json
3,添加cookie:在headers添加cookie,.cookie中key為登錄用戶名,value從登錄接口中獲取,登陸成功之后會返回sign如下:
?4,需要添加header信息,請求方式 為get。
5.上傳文件file
?
.
http請求分為兩個部分,請求頭?header和請求體body
請求頭里面呢是一些額外的信息,比如說用的什么瀏覽器,cookie
請求體里面?zhèn)鞯氖蔷唧w的數(shù)據(jù)。
post請求和get請求的區(qū)別:1.get請求只有請求頭,是沒有請求體的。它的數(shù)據(jù)直接放在url里面的,post請求數(shù)據(jù)是放在body里面的
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2、get請求有長度限制,post請求沒有。(在以前的時候技術(shù)不好,有長度限制。現(xiàn)在早就沒有了)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3.get請求沒有post請求安全。(只要通過抓包,post請求的數(shù)據(jù)一樣也可以看到)
http 狀態(tài)碼:? ? ? ? ? ? ? ??200 請求成功? ? ? ? ? ? ? ? ??302 重定向? ? ? ? ? ? ? ? ? ?404 客戶端發(fā)出去的請求不合法? ? ? ? ? ? ? ? ?500 服務端有問題
?
?
?
?
二、jmeter :? ? ? ? ?jmeter 開源的、java開發(fā)的一個壓力測試工具?。?jemter的使用:
1.首先需添加線程組如圖,然后添加http請求如圖:輸入ip地址? 路徑等信息? 確認是post還是get請求? ?輸入?yún)?shù)
?返回結(jié)果:添加結(jié)果樹? ? ? ? ? ? ? ? ? ? ? ? ? 返回結(jié)果如 下:
?
?
2.入?yún)⑹莏son類 型? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 返回結(jié)果:
?
?
3.添加cookie? ?cookie 中key為登錄的用戶名,value從登錄接口中獲取,登陸成功之后會返回sign如圖,需添加信息頭管理器,返回結(jié)果:
?
?
?
4.添加header信息,同上一步添加http請求,然后添加信息頭管理器如圖:返回結(jié)果:
?
5添加file,文件上傳? 如圖:點擊瀏覽選擇文件,輸入?yún)?shù)名稱
三、jmeter參數(shù)化
1,用戶定義的變量:線程組右鍵--添加---配置原件----用戶定義的變量
?
2、函數(shù)助手里面的;選項---函數(shù)助手對話框
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?__random(生成的字符串可粘貼在用戶名后,? ? ?隨機加1 ,可在線程組----循環(huán)次數(shù)---更改次數(shù)多循環(huán)幾次可查看效果)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?__counter(生成的字符串可粘貼在用戶名后,? ? ?順序加1)? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?__time(取時間時間格式年月日時分秒yyyyMMddHHmmss? ,取哪個值輸入哪個格式即可)
如果在-time對話框不填寫任何數(shù)據(jù) 直接生成字符串? 粘貼在名稱后? 運行生成的時間表示時間戳? ?
時間戳: 從計算機發(fā)明那一天到現(xiàn)在過了多少秒? ??jmeter是java開發(fā)的,Java里面的時間戳默認是精確到毫秒?
所以你要除以1000才是真正的時間戳(截取值去掉后三位,百度時間戳轉(zhuǎn)化器 可用時間戳轉(zhuǎn)化為實際時間)
例 如圖:格式化時間? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 時間戳表示的時間
?
?? ? ? ? ? ? ? ? ????? ??
?
四、讀取文件:添加csv? date set config,
五、關(guān)聯(lián):可添加
1、調(diào)用第一個接口,然后從這個接口的返回數(shù)據(jù)里面拿到某個值
2、放到第二個接口里面來用。
?
添加debug? sampler 查看調(diào)用結(jié)果
?
轉(zhuǎn)載于:https://www.cnblogs.com/chai33/p/9489599.html
總結(jié)
以上是生活随笔為你收集整理的接口测试(postman jmeter)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 办身份证多少钱啊?
- 下一篇: Deepin ROMS 安装详细流程