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");
Что я не понимаю, так это
- Как сделать разные выборы в моем тесте (и как это проверить)
- Как нажать DownloadLink и проверить файл, который я получаю.
Буду признателен за любую помощь.
Спасибо
1 ответ
Решение
- Вам нужно
FormTester.submit()
после выбора. - использование
clickLink(..., false)
чтобы быть нормальным (то есть не Ajax) нажмите. Тогда используйтеtester.getLastResponse().get***()
методы как (getBinaryContent()
а такжеgetHeader(String)
) утверждать.