LoginSignup
2
3

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-03-03

(この記事は自分のブログの転載になります)
DjangoRESTFrameworkのCurlテストをシェルスクリプトでコマンド一発で終わらせる方法 - まわ

DjangoRESTFrameworkでWebAPIが段々増えてくると、curlテストが面倒になってきませんか?? それをシェルスクリプトで一気にやってしまおうというと思い下記のようなシェルスクリプト運用をしてみて、便利だったので誰かの役に立つかもしれないのでお伝えします〜^^ (シェルスクリプト初チャレンジなので記載コードの要領が悪いかもしれませんが、そのあたりはすみません)

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

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

#!/bin/sh

BASEURL="http://127.0.0.1:8000"; #ローカルでDjangoのrunserverのurl
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";
echo "curl_test endpoint:${ENDPOINT}" >> $DIR/$SETDT$TITLE.txt;
curl -X GET -H $HEAD ${BASEURL}${ENDPOINT} >> $DIR/$SETDT$TITLE.txt;
echo '<===リスト一覧がでていれば成功です!' >> $DIR/$SETDT$TITLE.txt;
echo "curl_test end\n" >> $DIR/$SETDT$TITLE.txt;


#PUT POSTでデータを付加する場合の例
DATA='{"email":"info@hoge.com","password":"HogeFUGa1111"}';
#curl のところに -d $DATA を追加でできます

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


$chmod 755 curltest.sh

で、
$ ./curltest.sh

もしくは
$ sh curltest.sh

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

参考文献

初心者向けシェルスクリプトの基本コマンドの紹介

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3