WicketTester Select 单选选项并单击下载链接

WicketTester Select Radio Choice and click DownloadLink

我无法理解如何正确执行此操作,因为我在网上找不到任何解决方案。

我尝试测试收音机选择并单击下载 link(奖励是断言下载的文件)。

我在面板中的代码是

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. 如何点击下载链接并验证我得到的文件。

如有任何帮助,我将不胜感激。

谢谢

  1. 选择后您需要FormTester.submit()
  2. 使用clickLink(..., false)正常(即非Ajax)点击。然后使用 tester.getLastResponse().get***() 方法(getBinaryContent()getHeader(String))进行断言。