1. 程式人生 > 其它 >自動測試介面指令碼,主要用於自動化測試一連串介面

自動測試介面指令碼,主要用於自動化測試一連串介面

curl 系統自帶的發請求工具,無需安裝!

##
# @Author lambert
# @date 2022/3/28
# 用於自動化測試介面(適用於Spring Cloud 帶有閘道器的場景,埠地址隨機分配,uuid等資訊會更換。省去重複的工作!!)
##

echo "自動測試指令碼V1.1"
echo "請輸入配置資訊(Enter自動讀取預設配置)"
read -p "url: " -t 120 url
if [ !${url} ];then
    echo "未輸入url,讀取預設配置"
    url='localhost:100010' # 預設url
else
    echo "url初始化完成"
fi

xhr1="$(curl -X POST $(url)/satellite/start | grep "port")" # 傳送curl請求到url,並使用grep對結果資訊過濾
port=$(echo $xhr1|sed -rn "s/.*\"port\":([0-9]*)}}/\1/p") # 使用sed對有效資訊進行提取 -r 開啟正則、-n顯示匹配結果、/p顯示符合條件的資訊
echo "-------------------------------------------------------------------------------------------------------------------"
echo $xhr1
echo "xhr1: ${url} 請求完成"
echo "-------------------------------------------------------------------------------------------------------------------"

url2='192.168.54.41:8888/api/configsim'
param2="{\"test\":${port}}"
xhr2="$(curl -H "Accept:application/json" -H 'Content-Type:application/json' -X POST -d $param2 ${url2} | grep "uuid")" # 傳送curl請求到url2,並用grep對結果資訊過濾
uuid=$(echo $xhr2|sed -rn "s/.*\"uuid\":(.*)}/\1/p") # 使用sed對有效資訊進行提取 -r 開啟正則、-n顯示匹配結果、/p顯示符合條件的資訊
echo "-------------------------------------------------------------------------------------------------------------------"
echo $xhr2
echo "xhr2: ${url2} 請求完成"
echo "-------------------------------------------------------------------------------------------------------------------"

echo "指令碼執行結束"

read -p "end" -t 120 end # 保證指令碼執行完不會一閃而過