public void Control_AuthenticatedView_AuthenticatedViewTest() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.ControlSamples_AuthenticatedView_AuthenticatedViewTest); // make sure we are signed out browser.First("input[value='Sign Out']").Click().Wait(); AssertUI.InnerTextEquals(browser.First(".result"), "I am not authenticated!"); browser.First("input[value='Sign In']").Click().Wait(); AssertUI.InnerTextEquals(browser.First(".result"), "I am authenticated!"); browser.First("input[value='Sign Out']").Click().Wait(); AssertUI.InnerTextEquals(browser.First(".result"), "I am not authenticated!"); }); }
private void ValidateDefaultRouteLinkState(IBrowserWrapper browser, string suffix = "") { AssertUI.HyperLinkEquals(browser.First("#opt1_empty"), "FeatureSamples/ParameterBinding/OptionalParameterBinding" + suffix, UrlKind.Relative, UriComponents.PathAndQuery); AssertUI.HyperLinkEquals(browser.First("#opt1_param_empty"), "FeatureSamples/ParameterBinding/OptionalParameterBinding" + suffix, UrlKind.Relative, UriComponents.PathAndQuery); AssertUI.HyperLinkEquals(browser.First("#opt1_param_A2"), "FeatureSamples/ParameterBinding/OptionalParameterBinding" + suffix, UrlKind.Relative, UriComponents.PathAndQuery); AssertUI.HyperLinkEquals(browser.First("#opt1_param_ID2"), "FeatureSamples/ParameterBinding/OptionalParameterBinding/4", UrlKind.Relative, UriComponents.PathAndQuery); AssertUI.HyperLinkEquals(browser.First("#opt1_param_ID2A2"), "FeatureSamples/ParameterBinding/OptionalParameterBinding/5", UrlKind.Relative, UriComponents.PathAndQuery); AssertUI.HyperLinkEquals(browser.First("#opt2_empty"), "FeatureSamples/ParameterBinding/OptionalParameterBinding2/300", UrlKind.Relative, UriComponents.PathAndQuery); AssertUI.HyperLinkEquals(browser.First("#opt2_param_A"), "FeatureSamples/ParameterBinding/OptionalParameterBinding2/300", UrlKind.Relative, UriComponents.PathAndQuery); AssertUI.HyperLinkEquals(browser.First("#opt2_param_2"), "FeatureSamples/ParameterBinding/OptionalParameterBinding2/3", UrlKind.Relative, UriComponents.PathAndQuery); AssertUI.HyperLinkEquals(browser.First("#opt2_param_ID2A2"), "FeatureSamples/ParameterBinding/OptionalParameterBinding/4", UrlKind.Relative, UriComponents.PathAndQuery); }
public void Control_ValidationSummary_RecursiveValidationSummary() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.ControlSamples_ValidationSummary_RecursiveValidationSummary); browser.ElementAt("input[type=button]", 0).Click().Wait(); browser.ElementAt("ul", 0).FindElements("li").ThrowIfDifferentCountThan(2); AssertUI.InnerTextEquals(browser.First("#result"), "false"); browser.ElementAt("input[type=button]", 1).Click().Wait(); browser.ElementAt("ul", 1).FindElements("li").ThrowIfDifferentCountThan(1); AssertUI.InnerTextEquals(browser.First("#result"), "false"); }); }
public void Control_TextBox_IntBoundTextBox() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.ControlSamples_TextBox_IntBoundTextBox); browser.ElementAt("input", 0).Clear(); browser.ElementAt("input", 0).SendKeys("hello"); browser.ElementAt("input[type=button]", 0).Click(); browser.Wait(); AssertUI.Value(browser.ElementAt("input", 0), "hello"); AssertUI.InnerTextEquals(browser.ElementAt("span", 0), "0"); AssertUI.TextNotEmpty(browser.FirstOrDefault("#ValidatorMessage")); }); }
public void CheckValueTest() { RunInAllBrowsers(browser => { browser.NavigateToUrl("valuetest.aspx"); AssertUI.CheckIfValue(browser.First("#input-radio"), "radio1"); AssertUI.CheckIfValue(browser.First("#input-radio2"), "radio2"); AssertUI.CheckIfValue(browser.First("#checkbox1"), "checkboxvalue1"); AssertUI.CheckIfValue(browser.First("#checkbox2"), "checkboxvalue2"); AssertUI.CheckIfValue(browser.First("#area"), "areavalue"); AssertUI.CheckIfValue(browser.First("#input-text"), "text1"); AssertUI.CheckIfValue(browser.First("#input-text"), "texT1", false); AssertUI.CheckIfValue(browser.First("#input-text"), " texT1 ", false); }); }
public void Feature_ViewModelProtection_ComplexViewModelProtection(string messageDataUi, string originalText, string changedText, string afterPostBackText) { RunComplexViewModelProtectionTest(browser => { var message = browser.Single(messageDataUi, this.SelectByDataUi); AssertUI.TextEquals(message, originalText); browser.Single($"change-{messageDataUi}", this.SelectByDataUi).Click().Wait(); message = browser.Single(messageDataUi, this.SelectByDataUi); AssertUI.TextEquals(message, changedText); }, browser => { var message = browser.Single(messageDataUi, this.SelectByDataUi); AssertUI.TextEquals(message, afterPostBackText); }); }
public void Control_LinkButton_LinkButtonOnClick() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.ControlSamples_LinkButton_LinkButtonOnclick); var onclickResult = browser.First("span.result1"); var clickResult = browser.First("span.result2"); AssertUI.InnerTextEquals(clickResult, ""); AssertUI.InnerTextEquals(onclickResult, ""); browser.Click("#LinkButton"); AssertUI.InnerTextEquals(clickResult, "Changed from command binding"); AssertUI.InnerTextEquals(onclickResult, "Changed from onclick"); }); }
public void Feature_PostbackConcurrency_RedirectPostbackQueueSpa_PostbackDuringRedirect() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.FeatureSamples_PostbackConcurrency_RedirectPostbackQueueSpa); browser.ElementAt("input[type=button]", 0).Click(); browser.ElementAt("input[type=button]", 1).Click(); while (!browser.CurrentUrl.Contains("?time")) { Thread.Sleep(100); AssertUI.TextNotEquals(browser.Single(".result"), "1"); } }); }
public void Control_IncludeInPageProperty_IncludeInPage_GridViewEmptyDataTemplate() { const string gridViewDataUi = "gridView-emptyDataTemplate"; const string messageDataUi = "emptyDataTemplate"; CheckIncludeInPage(browser => { AssertUI.IsNotDisplayed(browser, gridViewDataUi, this.SelectByDataUi); var message = browser.Single(messageDataUi, this.SelectByDataUi); AssertUI.IsDisplayed(message); AssertUI.TextEquals(message, "There are no Customers to display"); }, browser => { Assert.AreEqual(0, browser.FindElements(gridViewDataUi).Count); Assert.AreEqual(0, browser.FindElements(messageDataUi).Count); }); }
public void Feature_AttachedProperties_AttachedProperties() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.FeatureSamples_AttachedProperties_AttachedProperties); var div = browser.Single(".div"); AssertUI.Attribute(div, "bind:value", a => a == "test"); AssertUI.Attribute(div, "bind:value2", a => a == "aaa"); var txb = browser.Single("input[type=text]"); txb.Clear().SendKeys("bbb").SendKeys(Keys.Tab); AssertUI.Attribute(div, "bind:value2", a => a == "bbb"); }); }
public void FileDialogTest() { RunInAllBrowsers(browser => { browser.NavigateToUrl("FileDialog.aspx"); var tempFile = Path.GetTempFileName(); File.WriteAllText(tempFile, "test content"); browser.FileUploadDialogSelect(browser.First("input[type=file]"), tempFile); AssertUI.CheckAttribute(browser.First("input[type=file]"), "value", s => !string.IsNullOrWhiteSpace(s)); File.Delete(tempFile); }); }
public void ConfirmTest() { RunInAllBrowsers(browser => { browser.NavigateToUrl("/Confirm.aspx"); var button = browser.First("#button"); button.Click(); AssertUI.CheckIfInnerText(browser.ConfirmAlert().First("#message"), s => s.Equals("Accept", StringComparison.OrdinalIgnoreCase)); button.Click(); AssertUI.CheckIfInnerText(browser.DismissAlert().First("#message"), s => s.Equals("Dismiss", StringComparison.OrdinalIgnoreCase)); }); }
public void Feature_DateTimeSerialization_DateTimeSerialization() { var culture = new CultureInfo("cs-CZ"); CultureInfo.CurrentCulture = new CultureInfo("en"); RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.FeatureSamples_DateTimeSerialization_DateTimeSerialization); browser.WaitFor(() => browser.FindElements("input[type=text]").ThrowIfSequenceEmpty(), 5000); // verify the first date browser.ElementAt("input[type=text]", 0).Clear().SendKeys("18.2.1988"); browser.ElementAt("input[type=button]", 1).Click(); AssertUI.InnerText(browser.ElementAt("span", 0), s => DateTime.Parse(s).Equals(new DateTime(1988, 2, 18))); browser.ElementAt("input[type=text]", 0).Clear().SendKeys("test"); browser.ElementAt("input[type=button]", 1).Click(); AssertUI.InnerText(browser.ElementAt("span", 0), s => DateTime.Parse(s).Equals(DateTime.MinValue)); // verify the second date browser.ElementAt("input[type=text]", 1).Clear().SendKeys("2011-03-19 16:48:17"); browser.ElementAt("input[type=button]", 3).Click(); AssertUI.InnerText(browser.ElementAt("span", 1), s => DateTime.Parse(s).Equals(new DateTime(2011, 3, 19, 16, 48, 0))); browser.ElementAt("input[type=text]", 1).Clear().SendKeys("test"); browser.ElementAt("input[type=button]", 3).Click(); AssertUI.InnerTextEquals(browser.ElementAt("span", 1), "null"); // try to set dates from server browser.ElementAt("input[type=button]", 0).Click(); browser.ElementAt("input[type=button]", 2).Click(); browser.Wait(500); // there is no time in the field AssertUI.Attribute(browser.ElementAt("input[type=text]", 0), "value", s => (DateTime.Now - DateTime.Parse(s, culture)).TotalHours < 24); // the minutes can differ slightly AssertUI.Attribute(browser.ElementAt("input[type=text]", 1), "value", s => (DateTime.Now - DateTime.Parse(s, culture)).TotalMinutes < 1); }); }
public void Feature_Api_GetCollection() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.FeatureSamples_Api_GetCollection); // click the first button (ID = 11) browser.WaitFor(() => { browser.First(".id-company[data-company-id='11'] input[type=button]").Click() .Wait(); }, 30000, "Cannot find CompanyID = 11. Probably data are not loaded. (The page did not load in 5s.)"); // ensure that orders have been loaded var orders = browser.FindElements(".id-order"); AssertUI.Any(orders).Attribute("data-order-id", "6"); var idToDelete = orders[2].GetAttribute("data-order-id"); // every order has two elements (read-only and edit) // delete order (ID = 7) browser.First($".id-order[data-order-id='{idToDelete}'] input[type=button][value=Delete]").Click().Wait(); orders = browser.FindElements(".id-order"); AssertUI.Any(orders).Attribute("data-order-id", "6"); AssertUI.All(orders).Attribute("data-order-id", s => s != idToDelete); // click the second button (ID = 12) browser.First(".id-company[data-company-id='12'] input[type=button]").Click().Wait(); // ensure that orders have been loaded orders = browser.FindElements(".id-order"); AssertUI.Any(orders).Attribute("data-order-id", "2"); AssertUI.Any(orders).Attribute("data-order-id", "9"); // edit order (ID = 2) browser.First(".id-order[data-order-id='2'] input[type=button][value=Edit]").Click().Wait(); browser.First(".id-order.id-edit input[type=text]").Clear().SendKeys("2000-01-01"); browser.First(".id-order.id-edit input[type=button][value=Apply]").Click().Wait(); browser.First(".id-order.id-edit input[type=button][value=Exit]").Click().Wait(); AssertUI.TextEquals(browser.First(".id-order[data-order-id='2'] .id-date"), "2000-01-01"); // change the order (ID = 2) date back so the test can be run once again browser.First(".id-order[data-order-id='2'] input[type=button][value=Edit]").Click().Wait(); browser.First(".id-order.id-edit input[type=text]").Clear().SendKeys("2010-01-01"); browser.First(".id-order.id-edit input[type=button][value=Apply]").Click().Wait(); browser.First(".id-order.id-edit input[type=button][value=Exit]").Click().Wait(); AssertUI.TextEquals(browser.First(".id-order[data-order-id='2'] .id-date"), "2010-01-01"); }); }
public void AlertTest2() { RunInAllBrowsers(browser => { browser.NavigateToUrl("/Alert.aspx"); browser.First("#button").Click(); try { AssertUI.CheckIfAlertTextEquals(browser, "Confirm test", true); } catch (AlertException) { } }); }
public void Feature_Localization_Localization_NestedPage_Type() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.FeatureSamples_Localization_Localization_NestedPage_Type); AssertUI.InnerTextEquals(browser.First("#masterPage"), "Master page", false); AssertUI.InnerTextEquals(browser.First("#fromLocalizationFile1"), "This comes from resource file!", false); AssertUI.InnerTextEquals(browser.First("#fromLocalizationFile2"), "Nested page title", false); // change language browser.Last("a").Click(); AssertUI.InnerTextEquals(browser.First("#masterPage"), "Master page", false); AssertUI.InnerTextEquals(browser.First("#fromLocalizationFile1"), "Tohle pochází z resource souboru!", false); AssertUI.InnerTextEquals(browser.First("#fromLocalizationFile2"), "Nested page title", false); }); }
public void Control_GridView_RenamedPrimaryKey() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.ControlSamples_GridView_RenamedPrimaryKey); browser.WaitUntilDotvvmInited(); var gridview = browser.Single("gridview", SelectByDataUi); AssertUI.NotContainsElement(gridview, "input"); browser.First("edit-button", SelectByDataUi).Click(); browser.WaitFor(() => AssertUI.ContainsElement(gridview, "input"), 1000); browser.First("save-button", SelectByDataUi).Click(); browser.WaitFor(() => AssertUI.NotContainsElement(gridview, "input"), 1000); }); }
private void CheckSeparators(IBrowserWrapper browser, string repeaterDataUi) { var repeater = browser.Single(repeaterDataUi, this.SelectByDataUi); for (int i = 0; i < repeater.Children.Count; i++) { if (i % 2 == 0) { AssertUI.Attribute(repeater.Children[i], "data-ui", s => s == "item"); } else { AssertUI.Attribute(repeater.Children[i], "data-ui", s => s == "separator"); } } }
public void Complex_GridViewDataSet_ControlWithITemplateInColumn() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.ComplexSamples_GridViewDataSet_GridViewDataSet); browser.First(".GridView"); var templateContents = browser.FindElements(SelectByDataUiId("template-content")); foreach (var content in templateContents) { AssertUI.InnerTextEquals(content, "Not Authenticated"); } Assert.Equal(3, templateContents.Count); }); }
public void Feature_StaticCommand_StaticCommand_ArrayAssigment() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.FeatureSamples_StaticCommand_StaticCommand_ArrayAssigment); AssertUI.InnerTextEquals(browser.ElementAt(".item", 0), "Anne"); AssertUI.InnerTextEquals(browser.ElementAt(".item", 1), "Martin"); var button = browser.Single("input[type=button]"); button.Click().Wait(); AssertUI.InnerTextEquals(browser.ElementAt(".item", 0), "Bob"); AssertUI.InnerTextEquals(browser.ElementAt(".item", 1), "Oliver"); AssertUI.InnerTextEquals(browser.ElementAt(".item", 2), "Pablo"); }); }
public void Feature_Serialization_Serialization() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.FeatureSamples_Serialization_Serialization); // fill the values browser.ElementAt("input[type=text]", 0).SendKeys("1"); browser.ElementAt("input[type=text]", 1).SendKeys("2"); browser.Click("input[type=button]"); // verify the results AssertUI.Attribute(browser.ElementAt("input[type=text]", 0), "value", s => s.Equals("")); AssertUI.Attribute(browser.ElementAt("input[type=text]", 1), "value", s => s.Equals("2")); AssertUI.InnerTextEquals(browser.Last("span"), ",2"); }); }
public void Feature_Validation_EncryptedData() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.FeatureSamples_Validation_EncryptedData); var counterButton = browser.Single("[data-ui=counter-button]"); var result = browser.First("[data-ui=result]"); AssertUI.InnerTextEquals(result, "0"); counterButton.Click(); AssertUI.InnerTextEquals(result, "1"); counterButton.Click(); AssertUI.InnerTextEquals(result, "2"); }); }
public void TextNotEmptyText_ExpectedFailure() { var driver = new MockIWebDriver() { FindElementsAction = () => new List <IWebElement>() { new MockIWebElement() } }; var browser = CreateMockedIBrowserWrapper(driver); Assert.Throws <UnexpectedElementStateException>(() => { AssertUI.TextNotEmpty(browser.First("#empty-div")); }); }
public void Control_GridView_InvalidCssClass_CheckBox() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.ControlSamples_GridView_InvalidCssClass); browser.WaitUntilDotvvmInited(); var gridview = browser.Single("gridview", SelectByDataUi); AssertUI.HasNotClass(gridview.First(".is-standalone > span"), "invalid"); gridview.First("edit-button", SelectByDataUi).Click(); var checkBox = browser.First(".is-standalone > input"); checkBox.Click(); gridview.First("save-button", SelectByDataUi).Click(); browser.WaitFor(() => AssertUI.HasClass(gridview.First(".is-standalone > span"), "invalid"), 1000); }); }
public void Feature_BindingPageInfo_BindingPageInfo() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.FeatureSamples_BindingPageInfo_BindingPageInfo); var text = browser.Single("[data-ui=postback-text]"); var button = browser.Single("[data-ui=long-postback-button]"); AssertUI.InnerTextEquals(text, "no postback"); button.Click(); AssertUI.InnerTextEquals(text, "postback running"); browser.Wait(1000); AssertUI.InnerTextEquals(text, "no postback"); }); }
public void TextTestAll() { RunInAllBrowsers(browser => { browser.NavigateToUrl("text.aspx"); var elements = new[] { browser.First("#button"), browser.First("#input"), browser.First("#area") }; AssertUI.All(elements).CheckIfTextEquals("text", false); AssertUI.All(elements).CheckIfText(s => s.ToLower().Contains("text")); }); }
public void HtmlTagHasAmpAttribute(string dataui, bool hasWrapper) { RunInAllBrowsers(SampleUrl, wrapper => { var textWrapper = wrapper.Single(dataui, SelectByDataUiId); if (hasWrapper) { textWrapper = textWrapper.Single("div", By.TagName); } var bold = textWrapper.Single("b", By.TagName); AssertUI.InnerTextEquals(textWrapper, "Hello value"); AssertUI.InnerTextEquals(bold, "value"); }); }
public void Control_HtmlLiteral_HtmlLiteral() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.ControlSamples_HtmlLiteral_HtmlLiteral); var column1 = browser.ElementAt("td", 0); var column2 = browser.ElementAt("td", 1); AssertUI.InnerTextEquals(column1.ElementAt("fieldset", 0).Single("div"), "Hello value"); AssertUI.InnerTextEquals(column2.ElementAt("fieldset", 0).Single("div"), "Hello value"); column2.ElementAt("fieldset", 1).FindElements("div").ThrowIfDifferentCountThan(0); AssertUI.InnerText(column2.ElementAt("fieldset", 1), t => t.Contains("Hello value")); }); }
public void Control_CheckBox_Indeterminate() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.ControlSamples_CheckBox_Indeterminate); var checkBox = browser.First("input[type=checkbox]"); var reset = browser.First("input[type=button]"); var value = browser.First("span.value"); AssertUI.InnerTextEquals(value, "Indeterminate"); checkBox.Click(); AssertUI.InnerTextEquals(value, "Other"); reset.Click(); AssertUI.InnerTextEquals(value, "Indeterminate"); }); }
public void Feature_Resource_RequiredOnPostback() { RunInAllBrowsers(browser => { browser.NavigateToUrl(SamplesRouteUrls.FeatureSamples_Resources_RequiredOnPostback); browser.WaitUntilDotvvmInited(); var welcome = browser.Single("welcome", SelectByDataUi); AssertUI.TextEquals(welcome, "Welcome"); browser.Single("button", SelectByDataUi).Click(); browser.WaitFor(() => AssertUI.AlertTextEquals(browser, "javascript resource loaded!"), 5000); browser.ConfirmAlert(); browser.WaitFor(() => AssertUI.TextEquals(welcome, "Welcome"), 1000); }); }