Esempio n. 1
0
        public async Task TestMaxHistorySizeUnlimited()
        {
            BrowserTyped browser = new BrowserTyped();

            IDocument document1 = await browser.NavigateAsync <dynamic>("https://github.com");

            Assert.True(document1 == browser.Document);
            IDocument document2 = await browser.NavigateAsync <dynamic>(RequestTesterRouteUri);

            Assert.True(document2 == browser.Document);
            IDocument document3 = await browser.NavigateAsync <dynamic>("https://nuget.org");

            Assert.True(document3 == browser.Document);
            await browser.NavigateAsync <dynamic>("https://github.com");

            await browser.NavigateAsync <dynamic>(RequestTesterRouteUri);

            await browser.NavigateAsync <dynamic>("https://nuget.org");

            await browser.NavigateAsync <dynamic>("https://github.com");

            await browser.NavigateAsync <dynamic>(RequestTesterRouteUri);

            await browser.NavigateAsync <dynamic>("https://nuget.org");

            await browser.NavigateAsync <dynamic>("https://github.com");

            await browser.NavigateAsync <dynamic>(RequestTesterRouteUri);

            await browser.NavigateAsync <dynamic>("https://nuget.org");

            Assert.True(browser.History.Count == 12);
        }
Esempio n. 2
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");
        }
Esempio n. 3
0
        public async Task TestNavigateAsync()
        {
            BrowserTyped browser  = new BrowserTyped();
            var          response = await browser.NavigateAsync <Request>(RequestTesterRouteJsonUri);

            Assert.IsTrue(response.Data != null);
            Assert.IsTrue(response.Data is Request);
        }
Esempio n. 4
0
        public void TestNavigate()
        {
            BrowserTyped browser  = new BrowserTyped();
            var          response = browser.Navigate <Request>(RequestTesterRouteJsonUri);

            Assert.IsTrue(response.Data != null);
            Assert.IsTrue(response.Data is Request);
        }
Esempio n. 5
0
        public void TestJavascriptScrapingDisabled()
        {
            BrowserTyped browser = new BrowserTyped();

            browser.JavascriptScrapingEnabled = false;
            IDocument document = browser.Navigate <dynamic>("https://jayx239.github.io/BrowseSharpTest/");

            Assert.True(document.Scripts.Count == 0);
        }
Esempio n. 6
0
        public void TestStyleScrapingEnabled()
        {
            BrowserTyped browser = new BrowserTyped();

            browser.StyleScrapingEnabled = true;
            IDocument document = browser.Navigate <dynamic>("https://jayx239.github.io/BrowseSharpTest/");

            Assert.True(document.Styles.Count > 0);
        }
Esempio n. 7
0
        public async Task TestStyleScrapingDisabledAsync()
        {
            BrowserTyped browser = new BrowserTyped();

            browser.StyleScrapingEnabled = false;
            IDocument document = await browser.NavigateAsync <dynamic>("https://jayx239.github.io/BrowseSharpTest/");

            Assert.True(document.Styles.Count == 0);
        }
Esempio n. 8
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);
        }
Esempio n. 9
0
        public async Task TestJavascriptScrapingEnabledAsync()
        {
            BrowserTyped browser = new BrowserTyped();

            browser.JavascriptScrapingEnabled = true;
            IDocument document = await browser.NavigateAsync <dynamic>("https://jayx239.github.io/BrowseSharpTest/");

            Assert.True(document.Scripts.Count > 0);
        }
Esempio n. 10
0
        public void TestSubmitNothing()
        {
            BrowserTyped browser = new BrowserTyped();

            IDocument <Request> response = browser.Submit <Request>(RequestTesterRouteJsonUri);
            Request             request  = response.Data;

            Assert.IsTrue(request.Headers.Count > 0);
        }
Esempio n. 11
0
        public async Task TestSubmitAsyncNothing()
        {
            BrowserTyped browser = new BrowserTyped();

            IDocument <Request> response = await browser.SubmitAsync <Request>(RequestTesterRouteJsonUri);

            Request request = response.Data;

            Assert.IsTrue(request.Headers.Count > 0);
        }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
        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);
        }
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
        public async Task TestNavigateHeadersAsync()
        {
            BrowserTyped browser = new BrowserTyped();

            Dictionary <string, string> headers = new Dictionary <string, string>();

            headers.Add("x-csrf-token", "axsd82os21");

            IDocument <Request> response = await browser.NavigateAsync <Request>(RequestTesterRouteJsonUri, headers);

            Request request = response.Data;

            Assert.IsTrue(request.Headers.ContainsKey("x-csrf-token"));
            Assert.IsTrue(request.Headers["x-csrf-token"] == "axsd82os21");
        }
Esempio n. 16
0
        public async Task TestNoProtoclNavigateSubmitAsync()
        {
            BrowserTyped browser = new BrowserTyped();
            await browser.NavigateAsync <dynamic>("google.com");

            await browser.NavigateAsync <dynamic>("google.com", null);

            await browser.NavigateAsync <dynamic>("google.com", null, null);

            await browser.SubmitAsync <dynamic>("google.com");

            await browser.SubmitAsync <dynamic>("google.com", null);

            await browser.SubmitAsync <dynamic>("google.com", null, null);
        }
Esempio n. 17
0
        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");
        }
Esempio n. 18
0
        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);
        }
Esempio n. 19
0
        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);
        }
Esempio n. 20
0
        public void TestSubmit()
        {
            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");

            IDocument <Request> response = browser.Submit <Request>(RequestTesterRouteJsonUri, formData);
            Request             request  = response.Data;

            Assert.IsTrue(request.FormData["Username"] == "FakeUserName");
            Assert.IsTrue(request.FormData["Password"] == "FakePassword123");
            Assert.IsTrue(request.FormData["SecretMessage"] == "This is a secret message");
        }
Esempio n. 21
0
        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);
        }
Esempio n. 22
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);
        }
Esempio n. 23
0
        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");
        }
Esempio n. 24
0
        public async Task TestSubmitAsyncHeaders()
        {
            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 = await browser.SubmitAsync <Request>(RequestTesterRouteJsonUri, formData, headers);

            Request request = response.Data;

            Assert.IsTrue(request.Headers["x-csrf-token"] == "axsd82os21");
            Assert.IsTrue(request.FormData["Username"] == "FakeUserName");
            Assert.IsTrue(request.FormData["Password"] == "FakePassword123");
            Assert.IsTrue(request.FormData["SecretMessage"] == "This is a secret message");
        }