1

我有一个问题要理解如何正确地做到这一点,因为我在网上找不到任何解决方案。

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

我在小组中的代码是

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 并验证我获得的文件。

我将不胜感激任何帮助。

谢谢

4

1 回答 1

1
  1. You need to FormTester.submit() after making the selection.
  2. Use clickLink(..., false) to be normal (i.e. non-Ajax) click. Then use tester.getLastResponse().get***() methods like (getBinaryContent() and getHeader(String)) to assert.
于 2016-04-20T21:52:00.200 回答