private static void AssertNoErrors(this IValidationSummaryContainer vs)
        {
            var errors = vs.ValidationErrors();

            if (!errors.IsNullOrEmpty())
            {
                throw new InvalidOperationException("Validation Errors found: \r\n" + errors.ToString("\r\n").Indent(4));
            }
        }
示例#2
0
        public static bool FormHasNErrors(this IValidationSummaryContainer container, int?numberOfErrors)
        {
            var locator = container.ValidationSummaryLocator();

            if (numberOfErrors.HasValue)
            {
                return(container.Selenium.IsElementPresent(locator.CombineCss(" > ul > li:nth-child({0})".FormatWith(numberOfErrors))) &&
                       !container.Selenium.IsElementPresent(locator.CombineCss(" > ul > li:nth-child({0})".FormatWith(numberOfErrors + 1))));
            }
            else
            {
                return(container.Selenium.IsElementPresent(locator.CombineCss(" > ul > li")));
            }
        }
示例#3
0
        public static string[] ValidationErrors(this IValidationSummaryContainer container)
        {
            var errors = container.ValidationSummary().CombineCss(" > li").FindElements().Select(a => a.Text).ToArray();

            return(errors);
        }
示例#4
0
 public static WebElementLocator ValidationSummary(this IValidationSummaryContainer container)
 {
     return(container.Element.WithLocator(By.CssSelector("ul.validaton-summary")));
 }
示例#5
0
 public static By ValidationSummaryLocator(this IValidationSummaryContainer container)
 {
     return(By.CssSelector("#{0}_sfGlobalValidationSummary".FormatWith(container.Prefix)));
 }