WicketTester Выберите Radio Choice и нажмите DownloadLink

У меня есть проблема, чтобы понять, как это сделать правильно, так как я не мог найти никакого решения в сети.

Я пытаюсь проверить выбор радио и нажать на ссылку для скачивания (бонус будет утверждать загруженный файл).

Мой код в панели

exportXmlCartForm.add(createDownloadLink("downloadLinkId"));
final Form<Void> exportXmlCartForm = new Form<Void>("xmlCartFileExport");
final RadioGroup<String> group = new RadioGroup<String>("groupFileType", new sharedStringModel);
final Radio<String> radioPartslink = new Radio<String>("fileTypePARTSLINK", Model.of("pl"));
final Radio<String> radioPro = new Radio<String>("fileTypePRO", Model.of("pro"));
final Radio<String> radioCsv = new Radio<String>("fileTypeCSV", Model.of("csv"));
final Radio<String> radioXmlExport = new Radio<String>("fileXmlExport", Model.of("xml"));
group.add(radioPartslink, radioPro, radioCsv, radioXmlExport);
exportXmlCartForm.add(group);

Вот мой тест до сих пор:

CartDTO cartDTO = new CartDTO();

IModel<CartDTO> cart = Model.of(cartDTO );
PopupPanel confirmPopup = new PopupPanel("1234");
FeedbackPanel feedbackPanel = new FeedbackPanel("12345678");
ShoppingCartFooterPanel p = new ShoppingCartFooterPanel("123", cart, confirmPopup, feedbackPanel);

testPage.setComponentToTest(p);
tester.startPage(testPage);
FormTester ft = tester.newFormTester("123:xmlCartFileExport", false);
ft.select("groupFileType", 3);

Object parstlinkSelected = p.get("xmlCartFileExport:groupFileType").getDefaultModelObject();
tester.clickLink("123:xmlCartFileExport:downloadCart");

Что я не понимаю, так это

  1. Как сделать разные выборы в моем тесте (и как это проверить)
  2. Как нажать DownloadLink и проверить файл, который я получаю.

Буду признателен за любую помощь.

Спасибо

1 ответ

Решение
  1. Вам нужно FormTester.submit() после выбора.
  2. использование clickLink(..., false) чтобы быть нормальным (то есть не Ajax) нажмите. Тогда используйте tester.getLastResponse().get***() методы как (getBinaryContent() а также getHeader(String)) утверждать.
Другие вопросы по тегам