在測(cè)試過程中,相信大家都會(huì)遇到回調(diào)的測(cè)試骨田。這種情況下耿导,測(cè)試同學(xué)該如何驗(yàn)證声怔?
分享一個(gè)工具:Ngrok內(nèi)網(wǎng)穿透
操作方法:
步驟一(2選1):
1、利用mock工具舱呻,在本地啟動(dòng)一個(gè)服務(wù)醋火,定義端口號(hào)為8088。
2箱吕、利用python寫一個(gè)腳本芥驳,定義接口地址和端口號(hào)8088,并啟動(dòng)服務(wù)茬高。
import datetime
import time
from flask import Flask, request, jsonify
import requests
app = Flask(__name__)
# 存儲(chǔ)回調(diào)函數(shù)的字典
callbacks = {}
@app.route('/register_callback', methods=['POST'])
def register_callback():
data = request.get_json()
print("本次請(qǐng)求時(shí)間:{}".format(datetime.datetime.now()))
print(data)
if 'callback_url' in data and 'event' in data:
callback_url = data['callback_url']
event = data['event']
callbacks[event] = callback_url
return jsonify({'message': f'Callback for {event} registered at {callback_url}'})
elif 'verifyResult' in data:
return jsonify({"message": "ok"})
else:
return jsonify({'error': 'Invalid request data'}), 400
if __name__ == '__main__':
app.run(debug=True, port=8080)
步驟二:
1兆旬、進(jìn)入Ngrok官網(wǎng)(https://ngrok.com/),注冊(cè)Ngrok賬號(hào)并下載Ngrok怎栽;
2丽猬、解壓zip文件,并進(jìn)入解壓文件夾熏瞄;
3脚祟、根據(jù)官網(wǎng)給定的授權(quán)碼,運(yùn)行如下授權(quán)命令强饮;
./ngrok authtoken 1iclsessionsessionsessionsessionsessionL1LTo3H
授權(quán)碼和賬戶是綁定的由桌,在授權(quán)命令運(yùn)行后,ngrok會(huì)將授權(quán)碼保存在~/.ngrok2/ngrok.yml中,所以只需要運(yùn)行一次行您,以后都可以使用铭乾。
4、根據(jù)需要邑雅,運(yùn)行命令開發(fā)端口:ngrok http 8088
需要注意的是片橡,這里的端口8088可以根據(jù)需要替換成其他端口。這條命令的意思是將本地8088端口對(duì)應(yīng)的服務(wù)暴露到外網(wǎng)中淮野。 運(yùn)行后出現(xiàn)如下結(jié)果:
Session Status online
Account jenny@test.com (Plan: Free)
Update update available (version 3.4.0, Ctrl-U to update)
Version 3.3.5
Region Asia Pacific (ap)
Latency 91ms
Web Interface http://127.0.0.1:4040
Forwarding https://1cd6-152-101-167-128.ngrok-free.app-> http://localhost:8088
Connections ttl opn rt1 rt5 p50 p90
52 0 0.00 0.00 65.71 73.06
HTTP Requests
-------------
GET /register_callback 200 OK
Forwarding中是https協(xié)議對(duì)應(yīng)的外網(wǎng)地址捧书。
這樣,凡是訪問https://1cd6-152-101-167-128.ngrok-free.app的請(qǐng)求都將發(fā)送到localhost:8088骤星。
步驟三:
將配置好的回調(diào)地址提供給開發(fā)進(jìn)行配置经瓷。這樣就可以輕松查看回調(diào)相關(guān)的業(yè)務(wù)邏輯進(jìn)行測(cè)試。
以上~