private void ValidatePostbackHandlersComplexSection(string sectionSelector, IBrowserWrapper browser) { IElementWrapper section = null; browser.WaitFor(() => { section = browser.First(sectionSelector); }, 2000, "Cannot find static commands section."); var index = browser.First("[data-ui=\"command-index\"]"); // confirm first section.ElementAt("input[type=button]", 0).Click(); AssertUI.AlertTextEquals(browser, "Confirmation 1"); browser.ConfirmAlert(); browser.Wait(); AssertUI.InnerTextEquals(index, "1"); // cancel second section.ElementAt("input[type=button]", 1).Click(); AssertUI.AlertTextEquals(browser, "Confirmation 1"); browser.ConfirmAlert(); browser.Wait(); AssertUI.AlertTextEquals(browser, "Confirmation 2"); browser.DismissAlert(); browser.Wait(); AssertUI.InnerTextEquals(index, "1"); // confirm second section.ElementAt("input[type=button]", 1).Click(); AssertUI.AlertTextEquals(browser, "Confirmation 1"); browser.ConfirmAlert(); browser.Wait(); AssertUI.AlertTextEquals(browser, "Confirmation 2"); browser.ConfirmAlert(); browser.Wait(); AssertUI.InnerTextEquals(index, "2"); // confirm third section.ElementAt("input[type=button]", 2).Click(); Assert.IsFalse(browser.HasAlert()); browser.Wait(); AssertUI.InnerTextEquals(index, "3"); // confirm fourth section.ElementAt("input[type=button]", 3).Click(); AssertUI.AlertTextEquals(browser, "Generated 1"); browser.ConfirmAlert(); browser.Wait(); AssertUI.InnerTextEquals(index, "4"); // confirm fifth section.ElementAt("input[type=button]", 4).Click(); AssertUI.AlertTextEquals(browser, "Generated 2"); browser.ConfirmAlert(); browser.Wait(); AssertUI.InnerTextEquals(index, "5"); // confirm conditional section.ElementAt("input[type=button]", 5).Click(); Assert.IsFalse(browser.HasAlert()); browser.Wait(); AssertUI.InnerTextEquals(index, "6"); browser.First("input[type=checkbox]").Click(); section.ElementAt("input[type=button]", 5).Click(); AssertUI.AlertTextEquals(browser, "Conditional 1"); browser.ConfirmAlert(); browser.Wait(); AssertUI.InnerTextEquals(index, "6"); browser.First("input[type=checkbox]").Click(); section.ElementAt("input[type=button]", 5).Click(); Assert.IsFalse(browser.HasAlert()); browser.Wait(); AssertUI.InnerTextEquals(index, "6"); browser.First("input[type=checkbox]").Click(); section.ElementAt("input[type=button]", 5).Click(); AssertUI.AlertTextEquals(browser, "Conditional 1"); browser.ConfirmAlert(); browser.Wait(); AssertUI.InnerTextEquals(index, "6"); //localization - resource binding in confirm postback handler message section.ElementAt("input[type=button]", 6).Click(); AssertUI.AlertTextEquals(browser, "EnglishValue"); browser.ConfirmAlert(); browser.Wait(); AssertUI.InnerTextEquals(index, "7"); browser.First("#ChangeLanguageCZ").Click(); browser.WaitFor(() => { index = browser.First("[data-ui=\"command-index\"]"); AssertUI.InnerTextEquals(index, "0"); }, 1500, "Redirect to CZ localization failed."); section = browser.First(sectionSelector); //ChangeLanguageEN section.ElementAt("input[type=button]", 6).Click(); AssertUI.AlertTextEquals(browser, "CzechValue"); browser.DismissAlert(); browser.Wait(); AssertUI.InnerTextEquals(index, "0"); section.ElementAt("input[type=button]", 6).Click(); AssertUI.AlertTextEquals(browser, "CzechValue"); browser.ConfirmAlert(); browser.Wait(); AssertUI.InnerTextEquals(index, "7"); }