同じテストでArquillian Graphene/SeleniumでArquillian Persistence拡張機能を使用できた人はいますか? Persistence & Drone/Graphene 拡張機能を使用しているプロジェクトがあり、別々に両方とも正常に動作します。Persistence を使用して統合テスト用にデータベースを構成でき、Drone を使用して UI 受け入れテストを実行できます。
問題は、Drone テストで Persistence 拡張機能を使用しようとしたときです。なんらかの理由で、データベースにデータが入力されていないため、Persistence 拡張機能が実行されていないように見えます。Persistence ExtensionをArquillianでクライアントモードで実行できるようにするために何か特別なことをする必要がありますか?
テストクラス
@RunWith(Arquillian.class)
@DataSource("java:jboss/datasources/ExampleDS")
@UsingDataSet("OneUserAccount-Admin.yml")
public class LoginIT {
@Deployment(testable = false)
public static WebArchive createDeployment() {
return DeploymentFactory.getTemplateDeployment();
}
...
@Test
public void testLogin() {
this.openPage("login.xhtml");
final IdLocator userNameField = id("loginform:email");
final IdLocator passwordField = id("loginform:password");
final IdLocator loginButton = id("loginform:loginButton");
this.browser.type(userNameField, userName);
this.browser.type(passwordField, password);
waitForHttp(this.browser).click(loginButton);
//Test Fails Here b/c Validation fails due to the user not being loaded to the database
}
...
}
更新 deployment=false を削除して @RunAsClient を使用しようとしましたが、うまくいきませんでした。@UsingDataSet と @ApplyScriptBefore アノテーションをテスト自体に配置しようとしましたが、うまくいきませんでした。