2

我正在尝试 Arquillian Drone 和 Graphene,我有以下两个测试我想做的是让第二个测试使用第一个测试中的浏览器。但是浏览器在第一次测试完成后关闭 - 有没有办法将浏览器传递给第二次测试?

 @RunAsClient
    public class Test1 extends Arquillian{

    private final String subscriptionName = "subName";
    private final String subscriptionDescription = "description";

    @Test(dataProvider = Arquillian.ARQUILLIAN_DATA_PROVIDER)
    public void enterSubscriptionName(@InitialPage SubscriptionPage subscriptionPage) {
        subscriptionPage.enterName(subscriptionName);
        assertEquals(subscriptionName, subscriptionPage.getNameFieldValue());
    }

    @Test(dataProvider = Arquillian.ARQUILLIAN_DATA_PROVIDER)
    public void enterSubscriptionDescription( SubscriptionPage subscriptionPage) {
        subscriptionPage.enterDescription(subscriptionDescription);
        assertEquals(subscriptionDescription, subscriptionPage.getDescriptionFieldValue());
    }
}
4

1 回答 1

0

我将重构上述测试,如此处所示,以在第二个测试中使用 SubscriptionPage。

@RunAsClient
 public class Test1 extends Arquillian {

     private final String subscriptionName = "subName";
     private final String subscriptionDescription = "description";

     @Page
     SubscriptionPage subscriptionPage;

     @Test(dataProvider = Arquillian.ARQUILLIAN_DATA_PROVIDER)
     public void enterSubscriptionName() {
         Graphene.goTo(SubscriptionPage.class);
         subscriptionPage.enterName(subscriptionName);
         assertEquals(subscriptionName, subscriptionPage.getNameFieldValue());
     }

     @Test(dataProvider = Arquillian.ARQUILLIAN_DATA_PROVIDER)
     public void enterSubscriptionDescription() {
         subscriptionPage.enterDescription(subscriptionDescription);
         assertEquals(subscriptionDescription, subscriptionPage.getDescriptionFieldValue());
     }
 }
于 2017-05-22T14:14:11.503 回答