2017-09-29 12 views
2

エミュレータに新しいapkをデプロイするたびに、ログインして特定のページに移動する必要がないため、Androidエミュレータで手動テストを高速化しようとしています。チームの不注意な開発者が、ログインをスキップできるストアを再生するためのリリースを誤って配備できないようにする必要があります(コードのコメントを解除してログインをスキップしないなど)。Androidエミュレータでの再デプロイ時のログインを避ける

現在のアプローチ:

  1. (無属性) "ノーマル" と "skiplogin" 製品の風味を作成します。 - それが動作

    if (BuildConfig.DEBUG && BuildConfig.FLAVOR.equals("skiplogin")){ 
        // use hard-coded username/token 
    } 
    

賛否:コードがSharedPreferencesからREST APIの資格情報がこれを追加つかむ

  • 。クリックテストの時間を大幅に短縮

    cons - 2つのフレーバーがある場合、「gradle clean build」に2倍の時間がかかります。ログイン時にのみ取得されるデータなど、以前のアクティビティ/フラグメントでフェッチされた状態に依存するページでは機能しません。

    それを知っている方が簡単ですか?

  • 答えて

    0

    あなたが望むのは、リリースでコードが実行されない理由は、代わりにBuildConfig.DEBUGを使用するのはなぜですか?

    if (BuildConfig.DEBUG && BuildConfig.mockLogin) { 
        // use hard-coded username/token 
    } 
    

    とあなたのGradleでコードが、それはあなたがリリースビルドを行うときに、それは偽ですBuildConfig.DEBUG原因は実行されません生産にそれを行った場合における buildConfigField('boolean' , 'mockLogin', 'true') を定義し、あなたがアップロードすることはできません

    ストアを再生するためにビルドをデバッグすると、許可されません。

    +0

    デバッグ版のエミュレータでログインをテストできませんでした。 – TimCO

    +0

    BuildConfig変数をブール値でgradleに追加することができます。それと一緒にそれを解決するだろう –

    +0

    いい、その作品!インスタント実行と組み合わせることで、クリックテストの負担が軽減されます。 – TimCO

    関連する問題