public async Task TestNoProtoclNavigateSubmitAsync() { BrowserStandard browser = new BrowserStandard(); await browser.NavigateAsync("google.com"); await browser.NavigateAsync("google.com", null); await browser.NavigateAsync("google.com", null, null); await browser.SubmitAsync("google.com"); await browser.SubmitAsync("google.com", null); await browser.SubmitAsync("google.com", null, null); }
public async Task TestNavigateAsyncHeadersAndData() { BrowserStandard browser = new BrowserStandard(); Dictionary <string, string> formData = new Dictionary <string, string>(); formData.Add("Username", "FakeUserName"); formData.Add("Password", "FakePassword123"); formData.Add("SecretMessage", "This is a secret message"); Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("x-csrf-token", "axsd82os21"); var response = await browser.NavigateAsync(RequestTesterRouteUri, headers, formData); foreach (var data in formData) { Assert.AreEqual(data.Value, response.HtmlDocument.QuerySelector("#" + data.Key).TextContent); } foreach (var header in headers) { Assert.AreEqual(header.Value, response.HtmlDocument.QuerySelector("#" + header.Key).TextContent); } }
public async Task TestNavigateAsync() { BrowserStandard browser = new BrowserStandard(); var response = await browser.NavigateAsync("https://jayx239.github.io/BrowseSharpTest/"); Assert.True(browser.Documents.Count == 1); Assert.True(browser.Documents[0].Scripts.Count == 7); foreach (var script in browser.Documents[0].Scripts) { Assert.NotNull(script.SourceUri); Assert.NotNull(script.JavascriptString); } Assert.True(browser.Documents[0].Styles.Count == 2); foreach (var style in browser.Documents[0].Styles) { Assert.True(!string.IsNullOrEmpty(style.Content)); Assert.NotNull(style.SourceUri); } Assert.True(response.Scripts.Count == 7); foreach (var script in response.Scripts) { Assert.NotNull(script.SourceUri); Assert.NotNull(script.JavascriptString); } Assert.True(response.Styles.Count == 2); foreach (var style in response.Styles) { Assert.True(!string.IsNullOrEmpty(style.Content)); Assert.NotNull(style.SourceUri); } }
public async Task TestMaxHistorySize() { BrowserStandard browser = new BrowserStandard(); browser.MaxHistorySize = 2; IDocument document1 = await browser.NavigateAsync("https://github.com"); Assert.True(document1 == browser.Document); IDocument document2 = await browser.NavigateAsync(RequestTesterRouteUri); Assert.True(document2 == browser.Document); IDocument document3 = await browser.NavigateAsync("https://nuget.org"); Assert.True(document3 == browser.Document); Assert.True(browser.History.Count == 2); Assert.True(browser.Documents[0] == document2); }
public async Task TestStyleScrapingDisabledAsync() { BrowserStandard browser = new BrowserStandard(); browser.StyleScrapingEnabled = false; IDocument document = await browser.NavigateAsync("https://jayx239.github.io/BrowseSharpTest/"); Assert.True(document.Styles.Count == 0); }
public async Task TestJavascriptScrapingEnabledAsync() { BrowserStandard browser = new BrowserStandard(); browser.JavascriptScrapingEnabled = true; IDocument document = await browser.NavigateAsync("https://jayx239.github.io/BrowseSharpTest/"); Assert.True(document.Scripts.Count > 0); }
public async Task TestForwardAsyncCache() { BrowserStandard browser = new BrowserStandard(); IDocument firstResponseDocument = await browser.NavigateAsync("http://google.com"); Assert.True(firstResponseDocument == browser.Document); Assert.True(browser.History.Count == 1); IDocument secondDocument = await browser.NavigateAsync("https://facebook.com"); Assert.True(browser.History.Count == 2); await browser.BackAsync(); Assert.True(browser.History.Count == 1); Assert.True(browser.ForwardHistory.Count == 1); Assert.True(browser.Document != firstResponseDocument); Assert.True(browser.Document.Response.ResponseUri == firstResponseDocument.Response.ResponseUri); await browser.ForwardAsync(); Assert.True(browser.ForwardHistory.Count == 0); Assert.True(browser.History.Count == 2); Assert.True(secondDocument.Response.ResponseUri == browser.Document.Response.ResponseUri); }
public async Task TestNavigateAsyncHeaders() { BrowserStandard browser = new BrowserStandard(); Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("x-csrf-token", "axsd82os21"); var response = await browser.NavigateAsync(RequestTesterRouteUri, headers); foreach (var header in headers) { Assert.AreEqual(header.Value, response.HtmlDocument.QuerySelector("#" + header.Key).TextContent); } }
public async Task TestRefreshAsync() { BrowserStandard browser = new BrowserStandard(); IDocument document = await browser.NavigateAsync("https://github.com"); IDocument documentRefreshed = await browser.RefreshAsync(); Assert.True(documentRefreshed == browser.Document); Assert.True(documentRefreshed != document); IDocument secondDocument = browser.Navigate(RequestTesterRouteUri); IDocument thirdDocument = browser.Navigate("https://nuget.org"); browser.Back(); await browser.RefreshAsync(); Assert.True(browser.Document != secondDocument); Assert.True(browser.Document.Response.ResponseUri == secondDocument.Response.ResponseUri); }