2017-04-25 51 views
0

我有一個表單,它在加載時根據狀態關注不同的組件。用WicketTester或其他Wicket測試工具來確定當前哪個組件有焦點嗎?WicketTester:確定哪個組件具有焦點

例如,一個帶有用戶名和密碼的表單。當用戶名存在時,密碼字段獲得焦點,當它不存在時,用戶名字段獲得焦點。

這是我如何將焦點設置在一個臨時行爲......

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

回答

1

,因爲您使用的headerItem將焦點設置,你可以測試最後呈現的頁面的HTML。例如:

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

您編寫的代碼會告訴我控件是否在頁面中,但如果它有焦點則不會。這確實給了我一個似乎運作良好的主意: String id = tester.getComponentFromLastRenderedPage(「path:username」)。getMarkupId(); ()。()「)。 我不知道這是你的意思,還是這個支票保持穩定。謝謝你的幫助! – JeredM

+1

是的,我的例子有點誤導,但我確切地意味着你做了什麼。我會編輯我的答案 –

相關問題