テストケース:Xamarin Test Cloudでは、ログインしたユーザーを使用するアプリケーションの複数のデバイスで同時テストを実行する方法を教えてください。
ユーザーブックホテルの部屋。ユーザーの状態がbooked_roomに変更されます。この部屋は、同時にログインした他のユーザーには利用できなくなります。部屋を予約した後、ユーザは予約された部屋に基づいて他のタスクを実行する。
問題がある:
私たちは、同じユーザーアカウントで同時に複数のデバイス上でこのテストを実行する場合、テストは唯一の最初のデバイスに渡します。 2番目のデバイスでテストを実行すると、アプリケーションはユーザーのステータスを要求し、ユーザーが以前のデバイスで既に1つを選択しているため、ルームリストは表示されず、REPLが要素ツリー上に空きがないためテストが失敗します。
私のスイートのすべてのテストは、ログインプロセスから始まります。
Xamarin Test Cloudを使用してこの問題に直面しましたか?テストスイートを実行するたびにデータベースインスタンスを作成するサーバー側のソリューションを実装する必要がありますか?
ありがとうございます。
AndroidプロジェクトやiOSプロジェクトからインスタンス化されて呼び出される共有プロジェクトコードで定義されているサービスクラス(実際にAPIコールを実行するサービスクラス)を使用しています。私があなたの答えから理解することは、テストスイートが実行されるたびに各デバイスにデータベースモックをローカルに作成する必要があるということです。 – albertoms
いいえ私はサービスクラスの実装をモック(あなたが望むように単にデータを返す)で置き換えます。したがって、データベースに書き込む/ Webサービスを呼び出すことなく、すべてのシナリオをシミュレートできます。 –
UITestとCalabash(iOSとAndroid)は、あなたのアプリケーションへの 'backdoor'呼び出しをサポートしています。これらの 'backdoor'呼び出しを使用して、アプリをテストのための良い状態にするのが一般的です。この場合、Sven-MichaelStübeの提案するバックドアを実装することができます。 – jmoody