WicketTester:确定哪个组件具有焦点

WicketTester: Determine which component has focus

我有一个表单,它在加载时根据状态聚焦不同的组件。有没有一种方法可以使用 WicketTester 或其他一些 Wicket 测试工具来确定哪个组件当前具有焦点?

例如,带有用户名和密码的表单。当用户名存在时,密码字段获得焦点,当它不存在时,用户名字段获得焦点。

这是我在临时行为中设置焦点的方法...

response.render(OnDomReadyHeaderItem.forScript("document.getElementById('" + component.getMarkupId() + "').focus();"));

由于您使用 headerItem 设置焦点,因此您可以测试最后呈现页面的 html。例如:

String responseTxt = tester.getLastResponse().getDocument();
assertTrue(responseTxt.contains("document.getElementB‌​yId('componentId').focus();"));