VSTSからAppCenterでテスト
はじめに
ここまででAppCenterを使ってクラッシュ・エラーレポート、イベントによる分析、ビルド、テスト、配布ができるようになりました。 今度はVSTSからこのプロジェクトのビルドとAppCenterでのテストをできるようにします。
前準備
ここで注意点ですが、自分が試した限りではAppCenterでのビルドではではビルド成功するのにVSTSのビルドではそのままだと_CompileToDalvikWithDx:でOutOfMemoryで失敗します。 おそらくビルドの行われるホスト環境の違いによるものだと思いますが、詳しくは不明です。 のでVSTSでのビルドを行う前に次の行をXamarin.Androidの最初のPropertyGroupにセットしコードをプッシュしておいてください。
<JavaMaximumHeapSize>1G</JavaMaximumHeapSize>
AppCenterでデバイスセット作成
まずVSTSからのテストで使うため、AppCenterのTest>Device setsから新しいデバイスセットを作成します。
ここではPixel2とNexus5Xを指定して適当な名前を付けNew device setで作成します。
ビルド定義作成・実行
ビルド定義作成
VSTSに戻り新しいビルド定義を作成します。New definitionを押します。
ソースを選び、Xamarin.Androidテンプレートを選びます。
ビルドの各ステップの設定画面になります。
AppCenterConnection作成のためのAppCenterへのAPI Tokenの作成
後述のTest with Visual Studio App Centerタスクの設定で使うためAppCenterへのAPI Tokenを作成します。 AppCenterの左下のアカウントアイコンよりAccount Settingsを押します。
API Tokensを選択し右上のNew API tokenを押す。
適当な名前を付けて右下のAdd new API tokenを押す。ここではVSTSToAppCenterとしました。
作成されたAPI tokenの値が表示されるのでコピーする。閉じると二度と見れないので注意してください。メモ帳などに書き写しておいてください。
設定
Test with Visual Studio App Centerのタスクについて設定します。デフォルトではDisableになっていますが、設定項目の下の方にあるControlOptions/EnableでEnableにできます。
次の項目を設定します。
- Prepare Tests
- Test framwork = Xamarin UI Testを選択
- Build direcotry = $(build.binariesdirectory)/$(BuildConfiguration)/test-assembly を設定。
- Test tools directory = $(build.sourcesdirectory)/packages/Xamarin.UITest.2.2.4/tools 使っているXamarin.UITestのバージョンに合わせること。
- Run Tests
- Control Options
- Enabledにチェック
設定した項目は以下のようになります。
ビルド実行
設定を終えたらSave&queueよりSave&queueをおして保存するとともにビルドを開始します。 開始したビルドの状況はこちらをクリックすることにより進行状況をログなどで確認できます。
正しく設定できていれば次のようにAppCenterでのテストが開始されます。
VSTSから実行したテストは完了後にAppCenterを見ると実行結果を確認できます。
終わりに
これでVSTSからもAppCenterでテストができるようになりました。 気になるのはAppCenterの方でテストを行う際にはKeyStoreを設定したのですが、こちらでは設定しないままでも大丈夫されるようです。この辺疎いんですが、どうなってるんですかね… まぁとにかくこれでXamarin.FormsアプリをAppCenterやVSTSを絡めてゴニョゴニョするとっかかりができると思いますので、皆さま各自必要に応じて掘り下げていってくださいまし。