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