1

ユーザーがアプリケーションを使用する前に認証が必要な Web アプリケーションでの Selenium 2 の使用を検討しています。JUnit 4またはTestNGのいずれかを計画しています(Grid 2でどちらを使用するかはまだ調査中です)。jbehave も使用する予定です。

すべてのテストで正常なログイン機能を使用できるように、次のテストを改善する方法について何か提案はありますか? テスト自体でログインが重複しないようにしたい。

public class LoginPageTest {

    private LoginPage page;

    @Before
    public void openTheBrowser() {
        page = PageFactory.initElements(new FirefoxDriver(), LoginPage.class);
        page.open("http://www.site.com/Login");
    }

    @After
    public void closeTheBrowser() {
        page.close();
    }

    @Test
    public void whenTheUserEntersValidCredentialsTheUserIsLoggedIn() {
        assertThat(page.getTitle(), containsString("Login") );
    }   
}

テストは単純化されていますが、ログイン成功のページ オブジェクトが返されます。

ありがとう

4

3 に答える 3

2

ケーススタディ @ http://blog.infostretch.com/?p=806を参照してください。開発の初期段階にある場合は、QAF (以前の ISFW)を使用することをお勧めします。

于 2011-08-22T17:33:07.857 に答える
1

最善のオプションは、LoginPageTestクラスを親クラスとして使用し、LoginPageTestから各テストクラスを拡張することです。

このようにして、各テストは、親のセットアップおよび破棄メソッドを使用してシステムにログインし、独自の追加テストを実行することもできます。

于 2011-08-22T02:35:44.133 に答える
1

ライブラリを作成し、一連のテスト ケースを呼び出して、1 つのテスト ケース/シナリオを実行します。
例えば:

lib.login();
lib.whenTheUserEntersValidCredentialsTheUserIsLoggedIn();
lib.logout();

これを行うには、オブジェクトの作成を処理してください。オブジェクトの解決策はスーパーの使用ですeg: super.login()

于 2011-08-22T05:29:50.000 に答える