MawaLog

一日一日、楽しく生きる。技術と音楽が好き。

DjangoRESTFrameworkのCurlテストをシェルスクリプトでコマンド一発で終わらせる方法

詳解 シェルスクリプト

詳解 シェルスクリプト

DjangoRESTFrameworkでWebAPIが段々増えてくると、curlテストが面倒になってきませんか?? それをシェルスクリプトで一気にやってしまおうという企画です。(シェルスクリプト初チャレンジなので記載コードの要領が悪いかもしれませんが、そのあたりはすみません)

以下の要領でシェルスクリプトを作っておきます

curltest.shというファイル名にします

#!/bin/sh

BASEURL="http://127.0.0.1:8000";
HEAD="Content-Type:application/json";
DIR=".";
SETDT=`date "+%Y%m%d%H%M"`
TITLE="curl_test"

echo "curl_test start\n" >> $DIR/$SETDT$TITLE.txt;
sleep 1;

#以下、テスト項目をエンドポイント別にAPIを作るごとにどんどん書いていく

#例
#get test
ENDPOINT="/api/hogefuga/list";
DATA='{"email":"info@hoge.com","password":"HogeFUGa1111"}';
echo "curl_test endpoint:${ENDPOINT}" >> $DIR/$SETDT$TITLE.txt;
curl -X GET -H $HEAD -d $DATA ${BASEURL}${ENDPOINT} >> $DIR/$SETDT$TITLE.txt;
echo '<===リスト一覧がでていれば成功です!' >> $DIR/$SETDT$TITLE.txt;
echo "curl_test end\n" >> $DIR/$SETDT$TITLE.txt;

できましたら、実行コマンドを打ちます

$chmod 755 curltest.sh

で、
$ ./curltest.sh

もしくは
$ sh curltest.sh

で、シェルスクリプトの配置ディレクトリにテスト結果のtxtファイルが日付つきで保存されます。

参考文献

qiita.com