【发布时间】:2016-06-14 15:49:35
【问题描述】:
这就是问题所在。我正在使用 Serenity 在 Internet Explorer 中运行测试,PageObject 正在处理我的所有操作,无论是通过 Serenity 的步骤还是通过 Junit 的 中的直接引用> 测试。
我目前正在处理的场景很简单:
- 在字段中输入日期(输入“99999999”)。
- 点击提交按钮。
- 获取弹出警报消息。
- 获取“年份无效”。先发信息。
- 获取“无效的收据日期格式”。味精秒。
但是,PageObject 似乎会立即跳转到第二条消息并完全忽略第一条消息。我的实现大致是这样的:
@Test
public void receiptDateFieldIncorrectDateFormat() {
page.open();
steps.inputIntoReceiptDateField("99999999");
steps.clickSubmitButton();
String firstMsg = page.getAlert().getText();
page.getAlert().accept();
String secondMsg = page.getAlert().getText();
page.getAlert().accept();
Assert.assertEquals("The year is invalid.", firstMsg);
Assert.assertEquals("Invalid Receipt Date format.", secondMsg);
}
有人可以向我解释这是如何工作的吗?为什么省略了第一个警报? PageObject 似乎没有循环显示多个警报的功能。
谢谢!
编辑
下面是 JavaScript 的样子。对第二个Alert 执行类似的if 语句。
temp = inputDate.substring(0, 4);
//alert("year " + temp);
if (temp > 2500 || temp < 1940) {
alert ("The year is invalid");
return false;
}
结果:
【问题讨论】:
标签: java junit alert pageobjects serenity-bdd