如何存储来自Question <String>的值,以在我的剧本安详与黄瓜脚本的后续步骤中使用它

时间:2019-12-26 12:53:53

标签: serenity-bdd cucumber-serenity

我有一种情况,我应该从确认页面获取订单号,然后在下一步中比较是否在我的订单中显示了相同的编号。

在这种情况下,一旦我获得确认页面,我就需要找到一种方法来存储带有目标值的var,但是无法在我的Question类型的方法中做到这一点,知道吗?

我有这堂课

public class ConfirmationPageGrid implements Question<ElementAvailability> {

    public static Question<String> getOrderNumber() {
        return actor -> Text.of(CheckoutForm.CONFIRMATION_ORDER_NUMBER).viewedBy(actor).asString();
    }   

    public static Question<String> getWatchSKU() {
        return actor -> Text.of(CheckoutForm.WATCH_SKU_CONFIRMATION).viewedBy(actor).asString();
    }

    @Override
    public ElementAvailability answeredBy(Actor actor) {
        return ElementAvailability.from(
                the(Visibility.of(CheckoutForm.PRODUCTS_BLOCK).viewedBy(actor))
        );
    }   

}

然后,我想在这里使用它:

@Then("^I see order details in my orders tab$")
    public void i_see_order_details_in_my_orders_tab() {
        theActorInTheSpotlight().should(seeThat(ConfirmationPage.orderLabel(), is(Available)));
        theActorInTheSpotlight().should(seeThat(ConfirmationPageGrid.getOrderNumber(), containsString(var that i'll get as answer in my question)));
    }

问题是带有确认号的标签在我要检查和比较的那一刻未启用并显示,并且我需要找到一种在显示时如何存储它的方法,以便在以后的使用中使用它步骤。

谢谢

0 个答案:

没有答案