我有一种情况,我应该从确认页面获取订单号,然后在下一步中比较是否在我的订单中显示了相同的编号。
在这种情况下,一旦我获得确认页面,我就需要找到一种方法来存储带有目标值的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)));
}
问题是带有确认号的标签在我要检查和比较的那一刻未启用并显示,并且我需要找到一种在显示时如何存储它的方法,以便在以后的使用中使用它步骤。
谢谢