我想爲swt widget分配一個唯一的id,然後用這個唯一的id找回SWTBot測試中的widget。 有沒有辦法做到這一點?如何將唯一的ID分配給SWT小部件,並得到它在SWTBOT?
2
A
回答
3
不幸的是,沒有內置的方法來做到這一點。
我覺得你最好的選擇是使用方法Widget#setData(Object)
設置id。
可以使用生成(僞)隨機ID:
UUID id = UUID.randomUUID();
widget.setData(id);
(或使用任何你想要的ID生成方法)。
要查找您的小部件,您必須使用任何您想要的搜索算法(DFS,BFS,...)搜索Shell
(或您可以縮小的Composite
)的子項,然後比較UUID
您正在搜索的ID。
for(Control control : shell.getChildren())
{
UUID id = (UUID) control.getData();
if(id.equals(WHATEVER_HERE))
{
System.out.println(control);
}
}
1
在您的複合/ UI部分使用默認的SWT博特鍵或您的自定義鍵
textOne.setData("org.eclipse.swtbot.widget.key", "textId1");
textTwo.setData("com.sample.my.custom.key", "textCustomId2");
在你的了SWTBot測試設置的數據,你可以得到文字如下
// using the default SWTBot Key
botTextOne = bot.textWithId("textId1")
和
//using your custom key
botTextTwo = bot.textWithId("com.sample.my.custom.key", "textCustomId2")
個參考文獻:
相關問題
- 1. 如何拆分字符串並分配唯一的ID
- 2. 如何分配唯一的組ID?
- 3. 如何處置一個小部件並在SWT中創建另一個小部件來代替它?
- 4. 如何將一個唯一的ID分配給每個複選框
- 5. 將唯一ID分配給數據幀中的等效行
- 6. 如何唯一的,有序的ID分配到一組Java類
- 7. 如何將模型的唯一ID傳遞給局部視圖?
- 8. 將Javascript UI小部件功能分配給參數並執行
- 9. 如何在Dojo小部件模板中創建唯一ID?
- 10. Android:如何將ImageView分成塊並將它們分配給ClickClickListener
- 11. 如何提取文件名的一部分並將其分配給變量?
- 12. 如何在D3可摺疊的樹一個唯一的ID分配給節點
- 13. 分配唯一的ID到<input>按鈕,並閱讀它使用jquery
- 14. 將唯一ID分配給大量文檔集
- 15. C++元編程將唯一ID分配給樹結構
- 16. 分配唯一ID Jgrid行
- 17. 如何驗證來自SWT文本小部件的輸入並分配給變量?
- 18. Python-如何從tkinter小部件獲取值並將其分配給變量
- 19. 如何循環數組中的元素ID並將它們分配給變量?
- 20. 如何將一個ID分配給另一個並在HTML中顯示
- 21. 如何將數字分配給列中的唯一字符串?
- 22. 如何將Zest Graph的一部分複製到SWT Canvas
- 23. 如何將GWT部署到Jboss 7並將域分配給部署?
- 24. 如何在swt中放置一個小部件並在同一個地方再次創建該小部件?
- 25. 在Coldfusion中啓動會話並分配唯一的會話ID
- 26. 在記錄組內分配唯一ID
- 27. 循環並將非唯一GUID分配給值集?
- 28. 用SWTBot遞歸地匹配所有殼的小部件
- 29. 將一個唯一的ID傳遞給Square,並將該ID作爲響應
- 30. 如何將散列的一部分分配給其他變量?
但是,有沒有辦法讓所有的部件,所以我可以遍歷並找到一個我在找什麼? – Ido
@Ido更新了我的答案。 – Baz