2023年7月8日更新
問題來了:每次把壓力機上的報告push到倉庫,要執行3個命令,真的很煩,所以我們把這3個命令寫到~/.bashrc
裡,命令如下;以後我們push的時候,只要執行 1條命令就好了,即push
push(
)
2023年7月9日更新
壓測過程中,我們在執行jmeter -n -t xx.jmx -l xx.jtl -e -o ./report
命令時,jmeter經常不會自動結束;遇到這種情況,我們會強殺程序;殺掉程序後,report沒有生成。
為了解決report沒有生成的問題,我們採取兩步走,即先執行jmeter -n -t xx.jmx -l xx.jtl
,再用jtl檔案生成html報告:jmeter -g xx.jtl -e -o ./report
那麼問題又來了,即每生成1個jtl檔案,就得執行1次jmeter -g xx.jtl -e -o ./report
命令,多煩啊。為了能批量生成報告,我們寫了shell命令放在.bashrc檔案中,命令如下,以後所有介面都壓完了,在jtl檔案所在目錄執行report
命令即可
report()"
]];then
echo
"執行 jmeter -g $ -e -o ./$"
`jmeter -g $ -e -o "./$"
` else
echo
"./$ 已存在!"
fidone
}
2023年7月10日更新
我們希望命令再簡單一些,即1個命令就能執行壓測、生成報告、push報告;於是我們把幾個命令合在一起並放在.bashrc中,命令如下:
run(
)
執行之後,發現第1個問題:有時jmeter -n -t script.jmx -l $1
不能自動結束。為了解決這個問題,我們把命令放在後台執行,即jmeter -n -t script.jmx -l $1 &
;然後設定乙個等待時間,即sleep 210
,等待時間一過,我們就殺掉上面命令的程序;等待時間是根據「壓測時長+30s」設定的,比如壓測時長設定為180s,sleep時間就等於210s;殺程序的命令如下:
killjmeter()'
` kill -9 $pid
}
整理下目前的指令碼
run(
)
run(
)
執行命令run xx.jtl
,此時1條命令解決了執行、生成報告、push報告
2023年7月12日更新
壓測指令碼在本機調好後,上傳到linux伺服器,如果要壓測的介面或執行緒數,我們會vim xx.jmx
,直接在指令碼上改,這種方式很容易出錯,且非常繁瑣。為了解決這個問題,我們想在命令中傳入要壓測的介面和執行緒數。
解決思路:
1.要有個壓測指令碼的模板,如template.jmx,其中所有的介面enable=false,執行緒數threadgroup.num_threads設定為threads_num
2.執行壓測時,複製模板重新命名,並把要壓測介面的enable修改為true,thread_num為傳入的數值;當然如果想傳入多個執行緒數也是可以的,但是介面只能傳1個
執行命令:run ***介面 100 200 300
完整**如下,同樣是放在.bashrc裡的
pull(
)push(
)killjmeter()'
` echo
"jmeter id list :$pid"if[
["$pid"=""
]]then
echo
"no jmeter pid alive"
else
kill -9 $pid
echo
"**********===壓測程序已停止**********==="fi}
report(
) -e -o "./$"
done
}export i=1
is_report_exit(
)select_api()'
` new_string=
`grep $1 $1.jmx |
sed's/false/true/g'
` sed -i "$d"
$1.jmx
sed -i "$i $"
$1.jmx
}run(
)
robot framework 介面自動化測試
介面測試比ui測試更有價值,如果專案時間緊張,測試介面更好一些,但每次都頻繁的手工填寫介面進行測試也浪費時間,下面給大家介紹一下很好的自動化測試框架robot framework,並且做介面自動化測試事半功倍。其返回值驗證和與資料庫連線進行增刪改查很方便,邏輯也很嚴謹,如果公司沒有造輪子推薦這麼做。...
Robotframework 介面自動化測試
1.目的 1 以雲平台為例 實現註冊 登入 更新apikey 新增專案 新增裝置 新增感測器 新增執行器 感測器每隔3s上報一次資料 1分鐘後與雲平台主動斷開連線的介面自動化測試。2 斷言每條用例是否執行成功。3 程式不管執行多少次都不報錯。2.robotframework環境搭建 1 安裝pyth...
python requests介面自動化測試 一
python requests環境部署 1.安裝python,配置系統環境變數 4.安裝requests庫 pip install requests 在進行介面自動化測試時,常用到的幾個requests庫方法。如下 get 不帶引數的請求 n requests.get 帶引數的請求 引數是以字典的形...