チャールズの活用


動機

apiデバッグのためのチャールズの活用についてお話したいと思います。
案件で複数のapiとディープリンク用のウェブビューがあり、これをテストするのが容易ではありませんでした。
それで、これをテストするためにmock用のサーバーを作りました。
これをチャールズでデバッグをしながらエラーを把握して解決しています。 それで、このテストの方法を紹介しようと思います。

1. まずインテリジェイでmock-serverをクローンしてビルドします。

スクリーンショット 2020-03-11 13.43.06

(mockサーバーが重要ですが今回の場合チャールズの使用だけ話します)


ターミナルで./gradlew boot Runをするとこのモックサーバーが動作します。
コントロールCを押すと、サーバーが止まります。

スクリーンショット 2020-03-11 13.44.08

2.次、チャールズをダウンロードします。
proxyをクリックしてrevese proxiesをセットします。
mock用のローカルポート番号を設定します。

画像4


3.現在プロジェクトのビルドのgradleでベースUrlをmock用のサーバーのUrlに変えます。 

ベースurlを

buildConfigField("String""API_BASE_URL""\"http://10.0.2.2:18080//\"")

このように変更してもいいし、mock用のビルドタイプを作ってここでmock用サーバーのurlを入れて、ビルドタイプをmockに変更すれば便利です。

スクリーンショット 2020-03- 6.58.34

スクリーンショット 2020-02-7 4..0

4. ビルドをしたものを色々動かすと、このようにmockから設定したボディの値が出てきて画面移動ができます。

スクリーンショット 2020-02-17 4.10.10

モックのサーバのAppControllerを見ると、設定された値があって変更できます。 

スクリーンショット 2020-02-17 4.33.35


ディープリンク用ウェブサイトも仮のページを表示でき、デバッグもできます。

スクリーンショット 2020-03-11 13.51.44

モックサーバがどのようにコードを作成したのかきになるなら、mock-serverのgitをビルドして確認してもいいと思います。

サーバの値がすぐに表示されるから軽いテストとデバッグにも良く、サーバ仕様が出ていない場合、mockサーバでテストしてみるのもいいと思います。

この記事が気に入ったらサポートをしてみませんか?