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做到这一点?