我无法从测试 Class 的对话框警报中获取文本
I can't get the text from an Dialog Alert from the Test Class
早上好,
我正在为一个 javafx class 做一个测试 class,我现在正试图控制错误。当发生错误时,会显示一个对话框警报,其中包含解释错误的消息。我想将此消息与我测试中的其他消息进行比较 class。
这是我尝试的最后一件事。
登录CLASS
catch (ServerConnectionErrorException ex) {
LOGGER.warning("LoginWindowController: Server connection error");
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Server Error");
alert.setContentText("Unable to connect with server");
Label serverErrorContext = new Label();
serverErrorContext.setText(alert.getContentText());
serverErrorContext.setId("serverErrorContext");
alert.showAndWait();
}
测试CLASS
@Test
public void test4_ConnectionError(){
clickOn("#txtLogin");
write("user");
clickOn("#txtPass");
write("BBccd1234");
clickOn("#btLogin");
FxAssert.verifyThat("#serverErrorContext",LabeledMatchers.hasText("Unable to connect with server"));
clickOn(".button");
}
最后检查内容文本是否与应显示的消息相同,我决定为每个警报声明一个按钮并为其分配一个 ID。每个 id 都是唯一的,所以机器人不可能点击其他按钮,如果警报没有正确显示,则测试 gona 是错误的。
主要CLASS
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Server Error");
alert.setContentText("Unable to connect with server");
Button errorButton = (Button) alert.getDialogPane().lookupButton(ButtonType.OK);
errorButton.setId("serverConnectionError");
alert.showAndWait();
测试CLASS
clickOn("#txtLogin");
write("user");
clickOn("#txtPass");
write("BBccd1234");
clickOn("#btLogin");
FxAssert.verifyThat("#serverConnectionError",isEnabled());
clickOn("#serverConnectionError");
早上好,
我正在为一个 javafx class 做一个测试 class,我现在正试图控制错误。当发生错误时,会显示一个对话框警报,其中包含解释错误的消息。我想将此消息与我测试中的其他消息进行比较 class。
这是我尝试的最后一件事。
登录CLASS
catch (ServerConnectionErrorException ex) {
LOGGER.warning("LoginWindowController: Server connection error");
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Server Error");
alert.setContentText("Unable to connect with server");
Label serverErrorContext = new Label();
serverErrorContext.setText(alert.getContentText());
serverErrorContext.setId("serverErrorContext");
alert.showAndWait();
}
测试CLASS
@Test
public void test4_ConnectionError(){
clickOn("#txtLogin");
write("user");
clickOn("#txtPass");
write("BBccd1234");
clickOn("#btLogin");
FxAssert.verifyThat("#serverErrorContext",LabeledMatchers.hasText("Unable to connect with server"));
clickOn(".button");
}
最后检查内容文本是否与应显示的消息相同,我决定为每个警报声明一个按钮并为其分配一个 ID。每个 id 都是唯一的,所以机器人不可能点击其他按钮,如果警报没有正确显示,则测试 gona 是错误的。
主要CLASS
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Server Error");
alert.setContentText("Unable to connect with server");
Button errorButton = (Button) alert.getDialogPane().lookupButton(ButtonType.OK);
errorButton.setId("serverConnectionError");
alert.showAndWait();
测试CLASS
clickOn("#txtLogin");
write("user");
clickOn("#txtPass");
write("BBccd1234");
clickOn("#btLogin");
FxAssert.verifyThat("#serverConnectionError",isEnabled());
clickOn("#serverConnectionError");