/** Fill in the required fields for a record type */ public static void fillRequiredFieldsFor(String recordType, WebDriver driver) throws Exception { Record record = loadRecordOfType(recordType); Map<String, String> requiredMap = record.getRequiredMap(); for (String required : requiredMap.keySet()) { driver.findElement(By.id(required)).sendKeys(generateTestFieldDataFor(recordType)); } }
public static void verifyAllFieldsCleared(String recordType, WebDriver driver) { try { Record record = loadRecordOfType(recordType); verifyFieldsAreCleared(driver, record.getFieldMap()); verifySelectFieldsCleared(driver, record.getSelectMap()); } catch (Exception e) { log(e.getMessage()); } }
/** Clears all fields except required fields */ public static void clearAllFieldsFor(String recordType, WebDriver driver) { try { Record record = loadRecordOfType(recordType); clearFields(driver, record.getFieldMap()); clearSelectFields(driver, record.getSelectMap()); clearVocabFields(driver, record.getVocabMap()); // TODO ADD Dates and Checkboxes } catch (Exception e) { log(e.getMessage()); } }
/** Finds an Element by either its class name or its xPath */ public static WebElement findElementWithLabel( WebDriver driver, String recordType, String fieldName) throws Throwable { Record record; record = loadRecordOfType(recordType); String selector = record.getFieldSelectorByLabel(fieldName); WebElement element; if (selector == null) { selector = record.getXPath(fieldName); element = driver.findElement(By.xpath(selector)); } else { selector = record.getFieldSelectorByLabel(fieldName); element = driver.findElement(By.className(selector)); } return element; }