私が行う必要があるのは、アプリケーション用のUIテストケースを作成することです。我々は、TestNGでSeleniumを使用することに決めました(大きな利点がある場合は、他のオプションにも対応しています)。TestNGを使用してマルチユーザーテストシナリオを作成するにはどうすればよいですか?
私たちが作成しようとしているテストは、という複数のユーザーがアプリケーションを使って相互にやりとりするテストです。基本的には、複数のユーザーがアプリケーションに並行してログインし、さまざまな操作を実行する必要があります。ユーザーの行動の間には関係があり、そのため、ユーザーはある時点(たとえば、ユーザーが別のユーザーが自分の行動を実行する前に行動を実行するのを待つ必要があるなど)での相互作用を同期させる必要があります。つまり、ユーザー間で何らかの情報を共有する必要があります(同期ポイントを管理するオブジェクトを共有することを考えていただけです)。
TestNGを使用して並行して実行される異なるユーザーの操作を記述する必要があるシナリオをどのように構成する必要がありますか?
このための優れたフレームワークはありますか、この問題に対処するパターンはありますか?どんな提案も歓迎です!ありがとうございました。
EDIT:
私ができる最善のことは、これまで各@Test
方法は、各ユーザのアクションを持ってテストを作成し、私は試験方法が並行して実行する必要があることを定義するスイートを作成することです。例:
public class MultiUserTest {
@Test
public void user1Interaction() {
User user1 = new User();
// user1 performs actions
}
@Test
public void user2Interaction() {
User user2 = new User();
// user2 performs actions
}
}
その後、私はMultiUserTest
の方法を並行して実行するように指定テストスイートを作成します。
しかし、私は本当にこの解決策が嫌いです。私は、私のテストの正しい動作を記述するためにXML設定(テストスイート)に頼っているという事実は気に入らない(Javaコードを見るだけでは分かりません)。また、 "Run As - TestNG Test"を実行してeclipseでTestNGプラグインを使用してテストを実行することができないことも嫌いです。繰り返しますが、提案は大歓迎です。ありがとうございました!
下記を参照のコード例は、しかし、私は私は私がより簡単に、きれいな方法でこれらのテストを書くに役立つだろういくつかのTestNGの機能を利用できるソリューションを探していました、ご提案いただきありがとうございます。 –