예제 #1
0
        public void TestSubmitForm()
        {
            BrowserStandard browser = new BrowserStandard();

            browser.Navigate("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 postResponse     = browser.SubmitForm(postForm);
            dynamic   postResponseJson = new JavaScriptSerializer().Deserialize <dynamic>(postResponse.Body.TextContent);

            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 getResponse     = browser.SubmitForm(getForm);
            dynamic   getResponseJson = new JavaScriptSerializer().Deserialize <dynamic>(getResponse.Body.TextContent);

            Assert.True(getResponseJson["query"]["Message"] == "This is the test message");
            Assert.True(getResponseJson["query"]["Email"] == "*****@*****.**");
            Assert.True(getResponseJson["query"]["Rating"] == "3");
        }
예제 #2
0
        public void TestSubmitFormHeaders()
        {
            BrowserStandard browser = new BrowserStandard();

            browser.Navigate("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 postResponse     = browser.SubmitForm(postForm, postHeaders);
            dynamic   postResponseJson = new JavaScriptSerializer().Deserialize <dynamic>(postResponse.Body.TextContent);

            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"].ToString() == "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 getResponse     = browser.SubmitForm(getForm, getHeaders);
            dynamic   getResponseJson = new JavaScriptSerializer().Deserialize <dynamic>(getResponse.Body.TextContent);

            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"].ToString() == "Other header value");
            Assert.True(getResponseJson["headers"]["athirdheader"].ToString() == "A 3rd header");
        }