我写了一个Cucumber UI测试,我声明日期(12月22日),当区域设置设置为US时,该测试工作正常。
不幸的是,如果由于日期格式不同而将区域设置设置为英国,并且日期在月份的前一天,即日期变为(12月22日),则失败。
如何在UI测试中处理这种情况?
功能文件方案:
然后验证isOutbound的“详细信息”屏幕上是否存在以下信息:
true | travel date | Dec 22
步骤定义代码段:
@Then("^validate following information is present on the overview screen for isOutbound : (true|false)$")
public void validateOverviewInfo(boolean outBound, Map<String, String> parameters) throws Throwable {
validateFlightDetailsWidget(R.id.travel_info_view_text, parameters.get("travel date"), outBound);
}
和
private void validateFlightDetailsWidget(int resId, String value, boolean outBound) throws Throwable {
onView(allOf(outBound ? isDescendantOfA(withId(R.id.package_bundle_outbound_flight_widget))
: isDescendantOfA(withId(R.id.package_bundle_inbound_flight_widget)),
withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE),
withId(resId)))
.check(matches(withText(containsString(value))));