0
我目前正在使用頁面對象設計模型進行UI測試。目前,我在每個頁面中都使用散列圖來存儲內容。如何在使用Java中的selenium進行UI測試時存儲PageObject內容?
我使用地圖的原因是,只要我有很多字段要填充,我就可以使用fillData(Map data)方法來匹配鍵。
例如,我的網頁對象有:
Map<String, WebElement> content = new HashMap();
content.put("backgroundColor", WebElement a);
content.put("fontColor", WebElement b);
content.put("linksColor", WebElement c);
content.put("actionBarActiveColor", WebElement d);
content.put("activeColor", WebElement e);
public void fillDataFields(Map<String, String> data){
data.forEach((k,v) -> {
content.get(k).setValue(v);
});
}
和我的網頁測試將有:
generalAppearanceFieldsData = new HashMap();
generalAppearanceFieldsData.put("backgroundColor", BLUE_HEX);
generalAppearanceFieldsData.put("fontColor", ORANGE_HEX);
generalAppearanceFieldsData.put("linksColor", PURPLE_HEX);
generalAppearanceFieldsData.put("actionBarColor", RED_HEX);
generalAppearanceFieldsData.put("actionBarActiveColor", ORANGE_HEX);
generalAppearanceFieldsData.put("activeColor", GREEN_HEX);
而且我的測試會打電話
brandingPage.fillDataFields(generalAppearanceFieldsData);
我有問題這是因爲我可以調用一個無處指向的密鑰,所以字符串密鑰很難維護和驗證。我不確定地圖是否是存儲頁面內容的正確方法。有沒有更好的方式與Java做到這一點?