データベースの同時テストの変更
重要
Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。
テスト スクリプトは、多くの場合、外部データを変更し、変更に対してテストします。 通常、このプロセスには、テストが書き込まれた既知または初期状態にデータを戻す設定が含まれます。 このプロセスでは、テスト ユーザーの資格情報を持つテスト データベースを使用できます。
この一般的なシナリオは、一度に 1 つのデバイスで 1 つのテストに適しています。 複数のデバイスで同時にテストを行うと、テスト データベースで競合する変更が発生する可能性があります。
データベースの変更の競合を回避するために、次の方法を使用して、複雑さと能力の順序を大きく増やすことができます。
一度に 1 つのテストのみを実行します。
一般的なデータを変更したり、テストで変更される可能性のあるデータに依存したりしないでください。
テストのデータをモックします。
一意の資格情報を持つ複数のテスト ユーザーを作成し、同時デバイスが異なるユーザーとしてサインインできるようにします。 デバイス インデックスを使用して、テスト実行内の各デバイスの一意の識別子を取得し、その識別子を使用してユーザー資格情報を検索します。 この方法は、複数の同時テスト実行ではなく、同じテスト実行内の複数のデバイスに対してのみ機能します。
Calabash、Appium、Xamarin.UITest の App Center テスト スクリプトは、
XTC_DEVICE_INDEX
environment 変数にアクセスできます。 変数は、N-1
に0
範囲を持つ文字列です。ここで、N
はテストが実行されるデバイスの数です。 複数のデバイスでテストを並列で実行するときに、この変数を使用して資格情報を検索できます。 変数は、テスト対象のアプリケーションではなく、テスト スクリプトでのみ使用できます。テストが実行時にアクセスして一意の資格情報のセットを取得できる外部 Web サービスを作成します。 このソリューションは最も複雑ですが、最も一般的でもあります。