AppCenterでテスト・ビルド

はじめに

AppCenterへのAnalytics/Diagnosticsの連携とローカルでのUITestの実行ができるようになりました。 今回はAppCenterでのTest/Buildが実行できるようにしたいと思います。

AppCenterでTest

StartTestingYourAppより新しいテストを設定します。 f:id:omanuke-ekunamo:20180409124510p:plain

まずテストを行いたい端末を指定します。ここではPixel2とGalaxy9を指定します。 f:id:omanuke-ekunamo:20180409124543p:plain

次にパラメータを指定します。 System languageを適当なものに変更、テストフレームワークをXamarin.UITestにします。 f:id:omanuke-ekunamo:20180409124603p:plain

パラメータを指定すると以下のようなテストを実行するための手順が表示されます。 f:id:omanuke-ekunamo:20180409124619p:plain

手順にあるようにNode.jsやnpmがないならインストール後appcenter-cliパッケージをインストールします。 Xamarin.UITestのバージョンがおそらくAppCenterTestに必要なバージョンより古いものなのでNugetManagerより更新します。 f:id:omanuke-ekunamo:20180409124647p:plain

コマンドプロンプトで更新したXamarin.UITestのパッケージのディレクトリに移動し Running testsにある実行コマンドをコピーしapkファイルへのパスとUITest1.dllのディレクトリを適当なものに指定して実行します。 f:id:omanuke-ekunamo:20180409124730p:plain   AppCenterの画面でも実行中のテストを確認できます。 f:id:omanuke-ekunamo:20180409124840p:plain

終了すると以下のように結果を確認できます。 各テストを掘り下げると各デバイスでの実行結果などを見ることができます。 f:id:omanuke-ekunamo:20180409124856p:plain

※今回まっさらな環境から作るように新しいMSアカウントを作っており、上記のコマンドをコマンドプロンプトから実行しようとしたところ普段使ってるMSアカウントに結びついてしまってるようなメッセージが表示されてテスト実行がうまくいきませんでした。 普段使ってるMSアカウントのAppCenterで同様に新しいテスト実行を作成し実行したところ無事テストが始まりました。 どのようにMSアカウントが残って関連してしまったのか不明ですしだいぶおま環な気がしますが、メモとして残しておきます。

AppCenterでビルド

ローカルのソースをVSTSリポジトリにプッシュ

VSTSにアカウントがない場合は登録します。 ここでは次のように作成しました。 f:id:omanuke-ekunamo:20180409125029p:plain

作成したソリューションはまだソース管理をしていないのでVSの右下からGitをソースコントロールとして設定します。 f:id:omanuke-ekunamo:20180409125057p:plain

VisualStudioでチームエクスプローラーを開きLocal Git RepositoriesよりこのソリューションのリポジトリXFormCIをダブルクリックします。 f:id:omanuke-ekunamo:20180409125134p:plain

こちらの画面でSyncをクリックします。 f:id:omanuke-ekunamo:20180409125213p:plain

Push to Visual Studio Team ServicesのPublish Git Repoをクリックします。 f:id:omanuke-ekunamo:20180409125306p:plain

先ほど作成したVSTSを選んで Add an accountをクリックします。 f:id:omanuke-ekunamo:20180409125328p:plain

VSTSのアカウント情報を入れた後の画面でPublish Repositoryを押します。 ここはイメージ取り忘れました(´・ω・`)

成功するとLocalのリポジトリVSTSにプッシュされ、そのリポジトリを含むプロジェクトが作成されます。 f:id:omanuke-ekunamo:20180409125356p:plain

AppCenterでのビルド設定・実行

ビルド設定

AppCenterに戻ってBuildを選択、リポジトリの選択の画面になるのでVSTSを選択します。 f:id:omanuke-ekunamo:20180409125439p:plain

アクセス許可を承認します。 f:id:omanuke-ekunamo:20180409125502p:plain

プロジェクト一覧が出ますのでXFormCIを選択します。 f:id:omanuke-ekunamo:20180409125522p:plain

その中のリポジトリを選択します。 f:id:omanuke-ekunamo:20180409125543p:plain

ブランチ一覧が出てきます。のでブランチを押します。 f:id:omanuke-ekunamo:20180409125610p:plain

Configure buildを押して設定画面を表示します。 f:id:omanuke-ekunamo:20180409125629p:plain

設定画面です。 f:id:omanuke-ekunamo:20180409125645p:plain

Sign buildsをオンにすると実機への配布ができるようになりますのでオンにします。

キーストア作成

実機への配布にキーストアが必要なので作成しましょう。 こちらを参考に以下のようにコマンドプロンプトから実行します。

C:\Users\miyasaka>keytool -genkey -v -keystore xample.keystore -alias publishingdoc -keyalg RSA -keysize 2048 -validity 10000
キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
姓名を入力してください。
[hoge]: hoge
組織単位名を入力してください。
[Fuga]: Fuga
組織名を入力してください。
[FugaFuga]: FugaFuga
都市名または地域名を入力してください。
[Piyo]: Piyo
都道府県名を入力してください。
[PiyoPiyo]: PiyoPiyo
この単位に該当する2文字の国コードを入力してください。
[JP]: JP
CN=hoge, OU=Fuga, O=FugaFuga, L=Piyo, ST=PiyoPiyo, C=JPでよろしいですか。
[いいえ]: はい

10,000日間有効な2,048ビットのRSAの鍵ペアと自己署名型証明書(SHA256withRSA)を生成しています
ディレクトリ名: CN=hoge, OU=Fuga, O=FugaFuga, L=Piyo, ST=PiyoPiyo, C=JP
<publishingdoc>の鍵パスワードを入力してください
(キーストアのパスワードと同じ場合はRETURNを押してください):
ビルド設定残り・実行

先ほどのAppCenterのビルド設定に今作ったkeystoreを登録し、作成時に使った値を設定します。 設定したらSave&Buildを押します。 ビルドが開始されます。クリックすると進行中のビルドログが見れます。 f:id:omanuke-ekunamo:20180409125919p:plain f:id:omanuke-ekunamo:20180409125931p:plain

ビルドに成功後、DistributeのReleaseを選択すると今作成したテスターへの配布物ができています。 f:id:omanuke-ekunamo:20180409130010p:plain

それをクリックすると詳細が表示され、右上にリンクがありますのでそこよりapkをダウンロードしてインストールできます。 f:id:omanuke-ekunamo:20180409130034p:plain

終わりに

これでAppCenterでテスト・ビルドをすることができるようになりました。 最後にVSTSからAppCenterでテストできるようにしましょう。->続き