【发布时间】:2016-05-30 18:21:17
【问题描述】:
我目前正在使用页面对象设计模型进行 UI 测试。目前,我在每个页面中都使用 hashmap 来存储内容。
我使用映射的原因是每当我有很多字段要填充时,我都会使用 fillData(映射数据)方法来匹配键。
例如,我的页面对象将具有:
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 的方法?
【问题讨论】:
标签: java selenium pageobjects