Exemple #1
0
        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);
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
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);
        }
Exemple #7
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);
        }
Exemple #8
0
        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);
            }
        }
Exemple #9
0
        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);
        }