チャールズの活用
動機
apiデバッグのためのチャールズの活用についてお話したいと思います。
案件で複数のapiとディープリンク用のウェブビューがあり、これをテストするのが容易ではありませんでした。
それで、これをテストするためにmock用のサーバーを作りました。
これをチャールズでデバッグをしながらエラーを把握して解決しています。 それで、このテストの方法を紹介しようと思います。
1. まずインテリジェイでmock-serverをクローンしてビルドします。
(mockサーバーが重要ですが今回の場合チャールズの使用だけ話します)
ターミナルで./gradlew boot Runをするとこのモックサーバーが動作します。
コントロールCを押すと、サーバーが止まります。
2.次、チャールズをダウンロードします。
proxyをクリックしてrevese proxiesをセットします。
mock用のローカルポート番号を設定します。
3.現在プロジェクトのビルドのgradleでベースUrlをmock用のサーバーのUrlに変えます。
ベースurlを
buildConfigField("String"、"API_BASE_URL"、"\"http://10.0.2.2:18080//\"")
このように変更してもいいし、mock用のビルドタイプを作ってここでmock用サーバーのurlを入れて、ビルドタイプをmockに変更すれば便利です。
4. ビルドをしたものを色々動かすと、このようにmockから設定したボディの値が出てきて画面移動ができます。
モックのサーバのAppControllerを見ると、設定された値があって変更できます。
ディープリンク用ウェブサイトも仮のページを表示でき、デバッグもできます。
モックサーバがどのようにコードを作成したのかきになるなら、mock-serverのgitをビルドして確認してもいいと思います。
サーバの値がすぐに表示されるから軽いテストとデバッグにも良く、サーバ仕様が出ていない場合、mockサーバでテストしてみるのもいいと思います。