一、webservice接口測(cè)試
測(cè)試webservice接口,可以使用soapUI來進(jìn)行測(cè)試,下面簡(jiǎn)單用soapUI來調(diào)用webservice接口:
1.打開soapUI,新建一個(gè)soap工程:

2.我們以天氣預(yù)報(bào)的wsdl地址為例,導(dǎo)入soapUI查看其中的所有接口信息;
wsdl地址 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

3、查看接口及報(bào)文,輸入?yún)?shù)直接進(jìn)行調(diào)用


- 根元素:Envelope。
- Header元素::不是強(qiáng)制出現(xiàn),由程序員控制,主要用于攜帶一些額外的信息,比如用戶名、密碼
- Body:調(diào)用正確,body元素內(nèi)容應(yīng)該遵守WSDL要求的格式。
二、HTTP接口測(cè)試
2.1 get接口
- 請(qǐng)求URL
http://api.nnzhp.cn/api/user/stu_info - 請(qǐng)求方式 get
- 請(qǐng)求參數(shù)
| 參數(shù)名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| stu_name | 是 | string | 學(xué)生姓名 |
1、直接用瀏覽器調(diào)用

2、使用postman 調(diào)用
可以看到postman選擇get方法的時(shí)候,body是禁用狀態(tài),get方法的http接口請(qǐng)求,一般數(shù)據(jù)都放到URL中。


返回的方式同樣也是json串的形式;
3、使用jmeter進(jìn)行g(shù)et方法的調(diào)用測(cè)試
創(chuàng)建線程組


添加HTTP請(qǐng)求

輸入域名、URL、選擇請(qǐng)求方法、添加key

添加查看結(jié)果樹

執(zhí)行接口

可以在查看結(jié)果樹中查看執(zhí)行結(jié)果及返回?cái)?shù)據(jù)
2.2 post 接口
2.2.1 登錄接口
- 請(qǐng)求URL
http://api.nnzhp.cn/api/user/login - 請(qǐng)求方式 post
- 請(qǐng)求參數(shù) 參數(shù)為key-value形式
| 參數(shù)名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| username | 是 | string | 用戶名 |
| passwd | 是 | string | 密碼 |
登陸用戶名:niuhanyang
密碼:aA123456
返回參數(shù)說明
| 參數(shù)名 | 類型 | 說明 |
|---|---|---|
| error_code | int | 錯(cuò)誤編碼,0為操作成功 |
| login_info | object | 登錄對(duì)象信息 |
| userId | int | 用戶id |
| sign | string | 簽名 |
| login_time | string | 登錄時(shí)間 |
1、postman 進(jìn)行調(diào)用
post方法的參數(shù)是放在body中的,可以看到參數(shù)放到URL中是無效的

把參數(shù)放到body中在進(jìn)行提交

放到body中,以key-value的形式進(jìn)行傳參,返回json串的形式,參照返回參數(shù)說明,可以看到登陸成功。
2、用jmeter 進(jìn)行調(diào)用測(cè)試
打開jmeter ->添加->threads->線程組


在線程組中添加->sampler->HTTP請(qǐng)求

輸入域名、URL、選擇方法為post 、輸入?yún)?shù)

執(zhí)行并查看結(jié)果返回值

2.2.2 添加學(xué)生信息接口
- 請(qǐng)求URL:
http://api.nnzhp.cn/api/user/add_stu - 請(qǐng)求方式 post
- 參數(shù) ,入?yún)⑹莏son類型
| 參數(shù)名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| name | 是 | string | 學(xué)生姓名 |
| grade | 是 | string | 班級(jí) |
| phone | 是 | string | 電話 |
| sex | 否 | string | 性別,如果不傳,默認(rèn)為男 |
| age | 否 | string | 年齡 ,不傳默認(rèn)為18 |
| add | 否 | string | 地址,如果不傳默認(rèn)為北京市昌平區(qū) |
返回參數(shù)說明
| 參數(shù)名 | 類型 | 說明 |
|---|---|---|
| error_code | int | 錯(cuò)誤編碼,1000為操作成功 |
| msg | string | 提示信息 |
如上述描述,入?yún)⑿问綖閖son 的方式,則使用key-value的形式進(jìn)行傳參就不行了,如下:

現(xiàn)在我們用正確的入?yún)⒎绞竭M(jìn)行調(diào)用
1、postman調(diào)用
在postman中,選擇方法為post,輸入U(xiǎn)RL地址,在body中選擇raw ,輸入json串格式的參數(shù)


2、使用jmeter調(diào)用接口
我們下面看一下jmeter如何進(jìn)行調(diào)用
創(chuàng)建一個(gè)http請(qǐng)求,輸入域名、路徑、方法為post、在body data中輸入json ,然后執(zhí)行

可以在查看結(jié)果樹中的請(qǐng)求項(xiàng)中查看請(qǐng)求報(bào)文內(nèi)容

在響應(yīng)數(shù)據(jù)中查看響應(yīng)結(jié)果,執(zhí)行成功

2.2.3 學(xué)生金幣充值
- 請(qǐng)求URL:
http://api.nnzhp.cn/api/user/gold_add - 請(qǐng)求方式 post
- 參數(shù) : 該接口有權(quán)限驗(yàn)證,需要admin用戶才可以做操作,需要添加cookie
cookie中key為登錄的用戶名,value從登錄接口中獲取,登陸成功之后會(huì)返回sign
| 參數(shù)名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| stu_id | 是 | int | 學(xué)生id |
| gold | 是 | int | 金幣數(shù)量 |
返回參數(shù)說明
| 參數(shù)名 | 類型 | 說明 |
|---|---|---|
| error_code | int | 錯(cuò)誤編碼,0為操作成功 |
| msg | string | 提示信息 |
如上述描述,入?yún)⑿问叫枰砑觕ookie
1、postman進(jìn)行調(diào)用,添加cookie的方式
cookie是保存在用戶瀏覽器端的一個(gè)鍵值對(duì)
session就是保存在服務(wù)器的一個(gè)鍵值對(duì),一般session都是存在緩存里面,因?yàn)橐?jīng)常用到,要提升性能的話直接把session放到內(nèi)存里面。
首先我們通過“獲取學(xué)生信息”接口查看到學(xué)生的id信息,然后通過“登錄”接口,獲取簽名的值如下:(以test 用戶為例)
查詢出ID=2341
sign值為:cd2b43f1688e472e3a516b5a2c6831e8


現(xiàn)在為學(xué)生添加金幣



2、用jmeter進(jìn)行接口的調(diào)用
用jmeter測(cè)試帶cookie的http請(qǐng)求需要添加http cookie管理器
我們先看一下添加cookie的場(chǎng)合進(jìn)行執(zhí)行

可以看到?jīng)]有添加cookie的場(chǎng)合,執(zhí)行不成功

現(xiàn)在我們添加httpcookie管理器,右鍵添加->配置元件->HTTP cookie管理器


添加cookie的值

執(zhí)行,查看請(qǐng)求的數(shù)據(jù)


2.2.4 獲取所有學(xué)生信息
- 請(qǐng)求URL:
http://api.nnzhp.cn/api/user/all_stu - 請(qǐng)求方式 get
- 參數(shù) ,需要添加header信息,key為Referer value 為http://api.nnzhp.cn/
返回參數(shù)說明
| 參數(shù)名 | 類型 | 說明 |
|---|---|---|
| error_code | int | 錯(cuò)誤編碼,0為操作成功 |
| all_stu | list | 提示信息 |
1、我們看一下不添加header,直接用瀏覽器地址欄訪問的結(jié)果
如下,不添加header訪問,提示來路不正確

2、用postman進(jìn)行調(diào)用,添加header信息,并進(jìn)行調(diào)用

執(zhí)行,結(jié)果顯示所有的學(xué)生用戶信息

3、用jmeter進(jìn)行調(diào)用測(cè)試
添加http請(qǐng)求

右鍵添加->配置元件->http信息頭管理器


執(zhí)行結(jié)果成功,顯示學(xué)生信息

2.2.5 文件上傳類型
- 請(qǐng)求URL:
http://api.nnzhp.cn/api/file/file_upload - 請(qǐng)求方式 post
- 參數(shù)
| 參數(shù)名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| file | 是 | file | 文件 |
返回參數(shù)說明
| 參數(shù)名 | 類型 | 說明 |
|---|---|---|
| error_code | int | 錯(cuò)誤編碼,0為操作成功 |
| msg | string | 提示信息 |
1、用postman進(jìn)行調(diào)用,輸入U(xiǎn)RL地址,key的類型選擇file類型

選擇文件進(jìn)行上傳

執(zhí)行操作成功

2、使用jmeter進(jìn)行調(diào)用
參數(shù)名稱file,MINE類型根據(jù)文件類型填寫

執(zhí)行,操作成功

【文章參考】https://www.cnblogs.com/phoebes/p/8029464.html
https://www.cnblogs.com/liulinghua90/p/10075650.html