mil.dod.th.ose.gui.integration/src/mil/dod/th/ose/gui/integration/helpers/ConfigurationHelper.java
public static void verifyDialogValues(final WebDriver driver, final By configDialogSelector, 
            final String expectedName, final String expectedDescription)
    {
        Wait<WebDriver> fwait = new FluentWait<WebDriver>(driver).withTimeout(10, TimeUnit.SECONDS).
                pollingEvery(1, TimeUnit.SECONDS).ignoring(StaleElementReferenceException.class, 
                        NoSuchElementException.class);
        fwait.until(new ExpectedCondition<Boolean>()
        {
            @Override
            public Boolean apply(WebDriver driver)
            {
                WebElement configDialog = driver.findElement(configDialogSelector);
                //list of all names of the properties in top-down order
                List<WebElement> propertyNames = configDialog.findElements(
                        By.cssSelector("span[id*='compositeConfigName']"));
                
                //list of all descriptions of the properties in top-down order
                List<WebElement> propertyDescriptions = configDialog.findElements(
                        By.cssSelector("span[id*='compositeConfigDescription']"));
                
                /*
                 * Index corresponds to a row value in each of the property lists.  In other words, the
                 * name found at index 0 in the propertyNames array corresponds to the type found at index 0 in the
                 * propertyTypes array and the description found at index 0 in the propertyDescriptions
                 * array. Loop finds the expected name and ensures that the corresponding type and description
                 * match the expected values. 
                 */
                boolean nameFound = false;
                for (int i = 0; i < propertyNames.size(); i++)
                {            
                    if (propertyNames.get(i).getText().trim().equals(expectedName))
                    {
                        assertThat(propertyDescriptions.get(i).getText().trim(), is(expectedDescription));
                        nameFound = true;
                        break;
                    }
                }
                return nameFound;
            }
        });
    }
/**
     * Iterates through list of configuration property names, types, and descriptions to ensure
     * that the values that appear in the create configuration dialog match the given expected values.
     * @param driver
     *      web driver that is currently running the test.
     * @param configDialogSelector
     *      selector corresponding to the create configuration dialog.
     * @param expectedName
     *      expected value from the Name column in the create configuration dialog.
     * @param expectedDescription
     *      expected description from the given configuration dialog.  
     */
Iterates through list of configuration property names, types, and descriptions to ensure
that the values that appear in the create configuration dialog match the given expected values.
@param driver
web driver that is currently running the test.
@param configDialogSelector
selector corresponding to the create configuration dialog.
@param expectedName
expected value from the Name column in the create configuration dialog.
@param expectedDescription
expected description from the given configuration dialog.
Iterates through list of configuration property names types and descriptions to ensure that the values that appear in the create configuration dialog match the given expected values . @param driver web driver that is currently running the test . @param configDialogSelector selector corresponding to the create configuration dialog . @param expectedName expected value from the Name column in the create configuration dialog . @param expectedDescription expected description from the given configuration dialog .
public static void verifyDialogValues(final WebDriver driver, final By configDialogSelector, 
            final String expectedName, final String expectedDescription)
    {
        Wait<WebDriver> fwait = new FluentWait<WebDriver>(driver).withTimeout(10, TimeUnit.SECONDS).
                pollingEvery(1, TimeUnit.SECONDS).ignoring(StaleElementReferenceException.class, 
                        NoSuchElementException.class);
        fwait.until(new ExpectedCondition<Boolean>()
        {
            @Override
            public Boolean apply(WebDriver driver)
            {
                WebElement configDialog = driver.findElement(configDialogSelector);
                List<WebElement> propertyNames = configDialog.findElements(
                        By.cssSelector("span[id*='compositeConfigName']"));
                List<WebElement> propertyDescriptions = configDialog.findElements(
                        By.cssSelector("span[id*='compositeConfigDescription']"));
                /*
                 * Index corresponds to a row value in each of the property lists.  In other words, the
                 * name found at index 0 in the propertyNames array corresponds to the type found at index 0 in the
                 * propertyTypes array and the description found at index 0 in the propertyDescriptions
                 * array. Loop finds the expected name and ensures that the corresponding type and description
                 * match the expected values. 
                 */
                boolean nameFound = false;
                for (int i = 0; i < propertyNames.size(); i++)
                {            
                    if (propertyNames.get(i).getText().trim().equals(expectedName))
                    {
                        assertThat(propertyDescriptions.get(i).getText().trim(), is(expectedDescription));
                        nameFound = true;
                        break;
                    }
                }
                return nameFound;
            }
        });
    }
public static void verifyDialogValues ( final WebDriver driver , final By configDialogSelector , final String expectedName , final String expectedDescription ) { Wait < WebDriver > fwait = new FluentWait < WebDriver > ( driver ) . withTimeout ( 10 , TimeUnit . SECONDS ) . pollingEvery ( 1 , TimeUnit . SECONDS ) . ignoring ( StaleElementReferenceException . class , NoSuchElementException . class ) ; fwait . until ( new ExpectedCondition < Boolean > ( ) { @ Override public Boolean apply ( WebDriver driver ) { WebElement configDialog = driver . findElement ( configDialogSelector ) ; List < WebElement > propertyNames = configDialog . findElements ( By . cssSelector ( "span[id*='compositeConfigName']" ) ) ; List < WebElement > propertyDescriptions = configDialog . findElements ( By . cssSelector ( "span[id*='compositeConfigDescription']" ) ) ; /*
                 * Index corresponds to a row value in each of the property lists.  In other words, the
                 * name found at index 0 in the propertyNames array corresponds to the type found at index 0 in the
                 * propertyTypes array and the description found at index 0 in the propertyDescriptions
                 * array. Loop finds the expected name and ensures that the corresponding type and description
                 * match the expected values. 
                 */ boolean nameFound = false ; for ( int i = 0 ; i < propertyNames . size ( ) ; i ++ ) { if ( propertyNames . get ( i ) . getText ( ) . trim ( ) . equals ( expectedName ) ) { assertThat ( propertyDescriptions . get ( i ) . getText ( ) . trim ( ) , is ( expectedDescription ) ) ; nameFound = true ; break ; } } return nameFound ; } } ) ; }
Iterates through list of configuration property names, types, and descriptions to ensure
 that the values that appear in the create configuration dialog match the given expected values.
Iterates through list of configuration property names types and descriptions to ensure that the values that appear in the create configuration dialog match the given expected values .
//list of all names of the properties in top-down order //list of all descriptions of the properties in top-down order