public async Task ChangeTitle_on_Server_Test(HostingModel hostingModel, BlazorVersion blazorVersion) { var host = this._TestContext.StartHost(hostingModel, blazorVersion); var httpClient = new HttpClient(); var contentOfHome = await httpClient.GetStringAsync(host.GetUrl("/")); Regex.Match(contentOfHome, "<title>(?<title>.+)</title>") .Groups["title"].Value.Is("Sample Site"); var contentOfCounter = await httpClient.GetStringAsync(host.GetUrl("/").TrimEnd('/') + "/counter"); Regex.Match(contentOfCounter, "<title>(?<title>.+)</title>") .Groups["title"].Value.Is("Counter(0)"); var contentOfFetchdata = await httpClient.GetStringAsync(host.GetUrl("/").TrimEnd('/') + "/fetchdata"); Regex.Match(contentOfFetchdata, "<title>(?<title>.+)</title>") .Groups["title"].Value.Is("Fetch data"); }
public void ChangeTitle_on_Browser_Start_from_Counter_Test(HostingModel hostingModel, BlazorVersion blazorVersion) { var host = this._TestContext.StartHost(hostingModel, blazorVersion); var driver = this._TestContext.WebDriver; // Navigate to "Counter" driver.GoToUrlAndWait(host.GetUrl("/counter")); // Validate document title of "Counter" driver.Wait(1000).Until(_ => driver.Title == "Counter(0)"); // document title will be updated real time. driver.FindElement(By.CssSelector("button.btn-primary")).Click(); driver.Wait(1000).Until(_ => driver.Title == "Counter(1)"); driver.FindElement(By.CssSelector("button.btn-primary")).Click(); driver.Wait(1000).Until(_ => driver.Title == "Counter(2)"); // Go back to "Home" driver.ClickHome(); // Validate document title of "Home" was restored. driver.Wait(1000).Until(_ => driver.Title == "Sample Site"); }
public void HelperJavaScript_Namespace_Not_Conflict_Test(HostingModel hostingModel, BlazorVersion blazorVersion) { var host = this._TestContext.StartHost(hostingModel, blazorVersion); var driver = this._TestContext.WebDriver; driver.GoToUrlAndWait(host.GetUrl("/counter")); var random = new Random(); var a = random.Next(1, 10); var b = random.Next(1, 10); var result = driver.ExecuteJavaScript <long>($"return Toolbelt.Blazor.add({a},{b})"); result.Is(a + b); }
public void Change_at_OnAfterRender_on_Browser_Start_from_OnAfterRender_Test(HostingModel hostingModel, BlazorVersion blazorVersion) { var host = this._TestContext.StartHost(hostingModel, blazorVersion); var driver = this._TestContext.WebDriver; // Navigate to "Change at "OnAfterRender"", and validate the document title of it driver.GoToUrlAndWait(host.GetUrl("/change-at-onafterrender")); driver.Wait(5000).Until(_ => driver.FindElement(By.XPath("//h1[text()='Change at \"OnAfterRender\"']"))); Thread.Sleep(200); driver.Wait(1000).Until(_ => driver.Title == "2nd title"); // Validate meta elements of "Change at "OnAfterRender"" var actualMetaAtOnAfterRender = driver.DumpMetaElements(); actualMetaAtOnAfterRender.Is(ExpectMeta.AtOnAfterRender); // Validate link elements of "Change at "OnAfterRender"" var actualLinkAtOnAfterRender = driver.DumpLinkElements(); actualLinkAtOnAfterRender.Is(ExpectLinks.AtOnAfterRender); // Go back to Home, and validate the document title, meta elements, link elements of "Home" driver.ClickHome(); driver.Wait(1000).Until(_ => driver.Title == "Sample Site"); var actualMetaAtHome = driver.DumpMetaElements(); actualMetaAtHome.Is(ExpectMeta.AtHome); var actualLinkAtHome = driver.DumpLinkElements(); actualLinkAtHome.Is(ExpectLinks.AtHome); }
public void Refresh_and_Cancel_on_Browser_Start_from_Redirect_Test(HostingModel hostingModel, BlazorVersion blazorVersion) { var host = this._TestContext.StartHost(hostingModel, blazorVersion); var driver = this._TestContext.WebDriver; driver.Navigate().GoToUrl(host.GetUrl("/").TrimEnd('/') + "/redirect"); driver.Wait(5000).Until(_ => driver.FindElement(By.XPath("//h1[text()='Redirect to Home']"))); Thread.Sleep(200); driver.DumpMetaElements() .Contains("'','','refresh','3;url=/'") // <- added 'refresh' .IsTrue(); // Navigate to "Fetch data" driver.ClickFetchData(); // Wait for redirected... Thread.Sleep(5000); // Validate current page is not redirected, stay on "Counter". driver.Wait(1000).Until(_ => driver.FindElement(By.XPath("//h1[text()='Weather forecast']"))); driver.Url.TrimEnd('/').Is(host.GetUrl("/").TrimEnd('/') + "/fetchdata"); }
public void Refresh_on_Browser_Start_from_Redirect_Test(HostingModel hostingModel, BlazorVersion blazorVersion) { var host = this._TestContext.StartHost(hostingModel, blazorVersion); var driver = this._TestContext.WebDriver; driver.Navigate().GoToUrl(host.GetUrl("/").TrimEnd('/') + "/redirect"); driver.Wait(5000).Until(_ => driver.FindElement(By.XPath("//h1[text()='Redirect to Home']"))); Thread.Sleep(200); driver.DumpMetaElements() .Contains("'','','refresh','3;url=/'") // <- added 'refresh' .IsTrue(); // Wait for redirected... Thread.Sleep(5000); // Validate current page is "Home". driver.Wait(1000).Until(_ => driver.FindElement(By.XPath("//h1[text()='Hello, world!']"))); driver.Url.TrimEnd('/').Is(host.GetUrl("/").TrimEnd('/')); }
public void ChangeLinkElements_on_Browser_Start_from_Counter_Test(HostingModel hostingModel, BlazorVersion blazorVersion) { var host = this._TestContext.StartHost(hostingModel, blazorVersion); var driver = this._TestContext.WebDriver; // Navigate to "Counter", and validate link elements of "Counter" driver.GoToUrlAndWait(host.GetUrl("/counter")); var actualAtCounter = driver.DumpLinkElements(); actualAtCounter.Is(ExpectLinks.AtCounter); // Go back to "Home", and validate link elements of "Home" were restored. driver.ClickHome(); var actualAtHomem = driver.DumpLinkElements(); actualAtHomem.Is(ExpectLinks.AtHome); }
public void ChangeMetaElements_on_Browser_Start_from_Home_Test(HostingModel hostingModel, BlazorVersion blazorVersion) { var host = this._TestContext.StartHost(hostingModel, blazorVersion); var driver = this._TestContext.WebDriver; // Navigate to Home driver.GoToUrlAndWait(host.GetUrl("/")); // Validate meta elements of "Home" var actualAtHome = driver.DumpMetaElements(); actualAtHome.Is(ExpectMeta.AtHome); // Navigate to "Counter" driver.ClickCounter(); // Validate meta elements of "Counter" var actualAtCounter = driver.DumpMetaElements(); actualAtCounter.Is(ExpectMeta.AtCounter); // Navigate to "Fetch data" driver.ClickFetchData(); // Validate meta elements of "Fetch data" var actualAtFetchData = driver.DumpMetaElements(); actualAtFetchData.Is(ExpectMeta.AtFetchData); // Go back to "Home" driver.ClickHome(); // Validate meta elements of "Home" were restored. var actualAtReturnHome = driver.DumpMetaElements(); actualAtReturnHome.Is(ExpectMeta.AtHome); }
public async Task ChangeMetaElements_on_Server_Test(HostingModel hostingModel, BlazorVersion blazorVersion) { var host = this._TestContext.StartHost(hostingModel, blazorVersion); var httpClient = new HttpClient(); var contentAtHome = await httpClient.GetStringAsync(host.GetUrl("/")); var actualAtHome = this.DumpMetaElements(contentAtHome); actualAtHome.Is(ExpectMeta.AtHome); var contentAtCounter = await httpClient.GetStringAsync(host.GetUrl("/counter")); var actualAtCounter = this.DumpMetaElements(contentAtCounter); actualAtCounter.Is(ExpectMeta.AtCounter); var contentAtFetchdata = await httpClient.GetStringAsync(host.GetUrl("/fetchdata")); var actualAtFetchData = this.DumpMetaElements(contentAtFetchdata); actualAtFetchData.Is(ExpectMeta.AtFetchData); }
public async Task AddLinkElementsOnly_on_Server_Test(HostingModel hostingModel, BlazorVersion blazorVersion) { var host = this._TestContext.StartHost(hostingModel, blazorVersion); var httpClient = new HttpClient(); var contentOfCanonical = await httpClient.GetStringAsync(host.GetUrl("/canonical")); this.DumpLinkElements(contentOfCanonical).Any( elemnt => elemnt == $"rel:canonical, href:/canonical, type:, media:, title:, sizes:, as:, crossorigin:, hreflang:, imagesizes:, imagesrcset:, disabled:false" ).IsTrue(); }