public void TestNoProtoclNavigateSubmit() { BrowserTyped browser = new BrowserTyped(); browser.Navigate <dynamic>("google.com"); browser.Navigate <dynamic>("google.com", null); browser.Navigate <dynamic>("google.com", null, null); browser.Submit <dynamic>("google.com"); browser.Submit <dynamic>("google.com", null); browser.Submit <dynamic>("google.com", null, null); }
public void TestBackCache() { BrowserTyped browser = new BrowserTyped(); IDocument firstResponseDocument = browser.Navigate <dynamic>("http://google.com"); Assert.True(firstResponseDocument == browser.Document); Assert.True(browser.History.Count == 1); browser.Navigate <dynamic>("https://facebook.com"); Assert.True(browser.History.Count == 2); browser.Back(true); Assert.True(browser.History.Count == 1); Assert.True(browser.ForwardHistory.Count == 1); Assert.True(browser.Document == firstResponseDocument); }
public void TestClearForwardHistory() { BrowserTyped browser = new BrowserTyped(); browser.Navigate <dynamic>("http://google.com"); Assert.True(browser.History.Count == 1); browser.Navigate <dynamic>("https://facebook.com"); Assert.True(browser.History.Count == 2); browser.Back(); Assert.True(browser.History.Count == 1); Assert.True(browser.ForwardHistory.Count == 1); browser.ClearForwardHistory(); Assert.True(browser.ForwardHistory.Count == 0); }
public async Task TestSubmitFormAsync() { BrowserTyped browser = new BrowserTyped(); browser.Navigate <dynamic>("https://www.browsesharp.org/testsitesforms.html"); Form postForm = browser.Document.Forms[0]; Form getForm = browser.Document.Forms[1]; postForm.SetValue("UserName", "TestUser"); postForm.SetValue("Password", "TestPassword"); IDocument <Request> postResponse = await browser.SubmitFormAsync <Request>(postForm); Request postResponseJson = postResponse.Data; Assert.True(postResponseJson.FormData["UserName"] == "TestUser"); Assert.True(postResponseJson.FormData["Password"] == "TestPassword"); getForm.SetValue("Message", "This is the test message"); getForm.SetValue("Email", "*****@*****.**"); getForm.SetValue("Rating", "3"); IDocument <Request> getResponse = await browser.SubmitFormAsync <Request>(getForm); Request getResponseJson = getResponse.Data; Assert.True(getResponseJson.Query["Message"] == "This is the test message"); Assert.True(getResponseJson.Query["Email"] == "*****@*****.**"); Assert.True(getResponseJson.Query["Rating"] == "3"); }
public void TestRefresh() { BrowserTyped browser = new BrowserTyped(); IDocument document = browser.Navigate <dynamic>("https://github.com"); IDocument documentRefreshed = browser.Refresh(); Assert.True(documentRefreshed == browser.Document); Assert.True(documentRefreshed != document); IDocument secondDocument = browser.Navigate <dynamic>(RequestTesterRouteUri); IDocument thirdDocument = browser.Navigate <dynamic>("https://nuget.org"); browser.Back(); browser.Refresh(); Assert.True(browser.Document != secondDocument); Assert.True(browser.Document.Response.ResponseUri == secondDocument.Response.ResponseUri); }
public async Task TestBackAsync() { BrowserTyped browser = new BrowserTyped(); IDocument firstResponseDocument = browser.Navigate <dynamic>("http://google.com"); Assert.True(firstResponseDocument == browser.Document); Assert.True(browser.History.Count == 1); browser.Navigate <dynamic>("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); }
public void TestNavigate() { BrowserTyped browser = new BrowserTyped(); var response = browser.Navigate <Request>(RequestTesterRouteJsonUri); Assert.IsTrue(response.Data != null); Assert.IsTrue(response.Data is Request); }
public void TestStyleScrapingDisabled() { BrowserTyped browser = new BrowserTyped(); browser.StyleScrapingEnabled = false; IDocument document = browser.Navigate <dynamic>("https://jayx239.github.io/BrowseSharpTest/"); Assert.True(document.Styles.Count == 0); }
public void TestJavascriptScrapingEnabled() { BrowserTyped browser = new BrowserTyped(); browser.JavascriptScrapingEnabled = true; IDocument document = browser.Navigate <dynamic>("https://jayx239.github.io/BrowseSharpTest/"); Assert.True(document.Scripts.Count > 0); }
public void TestClearHistory() { BrowserTyped browser = new BrowserTyped(); browser.Navigate <dynamic>("http://google.com"); Assert.True(browser.History.Count == 1); browser.ClearHistory(); Assert.True(browser.History.Count == 0); }
public void TestForward() { BrowserTyped browser = new BrowserTyped(); IDocument firstResponseDocument = browser.Navigate <dynamic>("http://google.com"); Assert.True(firstResponseDocument == browser.Document); Assert.True(browser.History.Count == 1); IDocument secondDocument = browser.Navigate <dynamic>("https://facebook.com"); Assert.True(browser.History.Count == 2); browser.Back(); 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); browser.Forward(); Assert.True(browser.ForwardHistory.Count == 0); Assert.True(browser.History.Count == 2); Assert.True(secondDocument.Response.ResponseUri == browser.Document.Response.ResponseUri); }
public void TestNavigateHeaders() { BrowserTyped browser = new BrowserTyped(); Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("x-csrf-token", "axsd82os21"); IDocument <Request> response = browser.Navigate <Request>(RequestTesterRouteJsonUri, headers); Request request = response.Data; Assert.IsTrue(request.Headers.ContainsKey("x-csrf-token")); Assert.IsTrue(request.Headers["x-csrf-token"] == "axsd82os21"); }
public async Task TestSubmitFormAsyncHeaders() { BrowserTyped browser = new BrowserTyped(); browser.Navigate <dynamic>("https://www.browsesharp.org/testsitesforms.html"); Form postForm = browser.Document.Forms[0]; Form getForm = browser.Document.Forms[1]; postForm.SetValue("UserName", "TestUser"); postForm.SetValue("Password", "TestPassword"); Dictionary <string, string> postHeaders = new Dictionary <string, string>(); postHeaders.Add("x-my-header", "MyHeaderValue"); postHeaders.Add("other-header", "this is the other header"); IDocument <Request> postResponse = await browser.SubmitFormAsync <Request>(postForm, postHeaders); Request postResponseJson = postResponse.Data; Assert.True(postResponseJson.FormData["UserName"] == "TestUser"); Assert.True(postResponseJson.FormData["Password"] == "TestPassword"); Assert.True(postResponseJson.Headers["x-my-header"] == "MyHeaderValue"); Assert.True(postResponseJson.Headers["other-header"] == "this is the other header"); getForm.SetValue("Message", "This is the test message"); getForm.SetValue("Email", "*****@*****.**"); getForm.SetValue("Rating", "3"); Dictionary <string, string> getHeaders = new Dictionary <string, string>(); getHeaders.Add("get-header", "This is a get header"); getHeaders.Add("other-header", "Other header value"); getHeaders.Add("athirdheader", "A 3rd header"); IDocument <Request> getResponse = await browser.SubmitFormAsync <Request>(getForm, getHeaders); dynamic getResponseJson = getResponse.Data; Assert.True(getResponseJson.Query["Message"] == "This is the test message"); Assert.True(getResponseJson.Query["Email"] == "*****@*****.**"); Assert.True(getResponseJson.Query["Rating"] == "3"); Assert.True(getResponseJson.Headers["get-header"] == "This is a get header"); Assert.True(getResponseJson.Headers["other-header"] == "Other header value"); Assert.True(getResponseJson.Headers["athirdheader"] == "A 3rd header"); }
public void TestDocumentToTypedDocument() { BrowserTyped browser = new BrowserTyped(); browser.BaseUrl = new Uri("https://dog.ceo/api/breeds/image/random"); RestRequest dogRequest = new RestRequest(); IDocument <DogResponse> dogDocument = browser.Navigate <DogResponse>(browser.BaseUrl); IDocument <DogResponse> documentGot = browser.DocumentTyped <DogResponse>(); Assert.IsTrue(documentGot == dogDocument); Assert.IsTrue(documentGot is IDocument <DogResponse>); Assert.IsTrue(documentGot.Data is DogResponse); Assert.IsTrue(documentGot.Data.Status == "success"); Assert.IsTrue(documentGot.Data.Message != null); Assert.IsTrue(documentGot.Data.Status == dogDocument.Data.Status); Assert.IsTrue(documentGot.Data.Message == dogDocument.Data.Message); }
public void TestNavigateHeadersAndData() { BrowserTyped browser = new BrowserTyped(); 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"); IDocument <Request> response = browser.Navigate <Request>(RequestTesterRouteJsonUri, headers, formData); Request request = response.Data; Assert.IsTrue(request.Headers["x-csrf-token"] == "axsd82os21"); Assert.IsTrue(request.Query["Username"] == "FakeUserName"); Assert.IsTrue(request.Query["Password"] == "FakePassword123"); Assert.IsTrue(request.Query["SecretMessage"] == "This is a secret message"); }