Web サイトの機能をテストするためにいくつかの Webdriver テストを書いていますが、今はそれらをデータ駆動型にする必要があります。それらを実行するためにjunitを使用しています。テスト フローは次のとおりです。ログインし、test1 を実行し、ログアウトします。ログイン、test2、ログアウトなど。
私が必要とするのは、両方のクラスをデータ駆動型 (Login と TestClass) にすることです。つまり、最初のログイン データを取得し、すべてのデータ バリエーションですべてのテストを実行し、2 番目のログイン データを取得して、すべてのデータですべてのテストを実行します。
だから私はテストクラスを呼び出しているメインクラスを持っています:
@RunWith(Suite.class)
@Suite.SuiteClasses({
Test1.class,
Test2.class,
Test3.class
})
public class MainTestSuite {
.. skipped.
テストクラスは次のとおりです。
public class Test1 {
private static final Logger Log = LogManager.getLogger(Test1.class);
@Rule
public TestRules testRules = new TestRules();
@Test
public void testSomething() throws Exception { // test code
}
@Test
public void testSomethingElse() throws Exception { // test code
}
...スキップしました。
ログインとログアウトは、TestWatcher を実装している TestRules によって呼び出されます。
public class TestRules extends TestWatcher {
@Override
protected void starting(Description description) {
// do login
}
@Override
protected void finished(Description description) {
// do logout
}
私は easytest モジュールhttps://github.com/EaseTech/easytest-coreを調べてきましたが、ログイン テストにパラメーターを指定すると、最初はこれらすべてがループし、それは必要なものではありません。私がすでに持っている構造を使用して、私の問題に対する解決策が見つかりますか。