private void _FormTest(IJavaScriptExecutor js)
        {
            var form = new Form();
            string json = DFormSerializer.serialize(form);
            Assert.IsFalse(String.IsNullOrEmpty(json));
            Assert.IsTrue(js.CreateDForm(json));
            IWebDriver driver = js as IWebDriver;

            IWebElement testTextInput = driver.FindElement(By.Id("test_form"));
            Assert.AreEqual(testTextInput.TagName.ToLower(),"form","form tag was not form! it was:" + testTextInput.TagName);
        }
        private void _RadioTest(IJavaScriptExecutor js)
        {
            var test = new RadioInput();
            string json = DFormSerializer.serialize(test);
            Assert.IsFalse(String.IsNullOrEmpty(json));
            Assert.IsTrue(js.CreateDForm(json));
            IWebDriver driver = js as IWebDriver;

            IWebElement testTextInput = driver.FindElement(By.Id("radio_test"));
            Assert.AreEqual(testTextInput.TagName.ToLower(), "input", "1st radio tag name was" + testTextInput.TagName + " but is meant to be input");
            Assert.IsTrue(testTextInput.Selected,"1st radio was not selected");
            testTextInput = driver.FindElement(By.Id("radio_test_1"));
            Assert.AreEqual(testTextInput.TagName.ToLower(), "input", "2nd radio tag name was" + testTextInput.TagName + " but is meant to be input");
            Assert.IsFalse(testTextInput.Selected,"2nd radio was selected");
        }
        private void _TextSerializationTest(IJavaScriptExecutor js)
        {
            var test = new TextInput();
            string json = DFormSerializer.serialize(test);
            Assert.IsFalse(String.IsNullOrEmpty(json));
            Assert.IsTrue(js.CreateDForm(json));
            IWebDriver driver = js as IWebDriver;

            IWebElement testTextInput = driver.FindElement(By.Id("test_id"));
            Assert.AreEqual(testTextInput.GetAttribute("value"), test.Text, "value was not the same as test objects!");
            Assert.AreEqual(testTextInput.TagName.ToLower(), "input", "text input field tag was not input it was: " + testTextInput.TagName);
            Assert.IsTrue(testTextInput.GetAttribute("class").Contains("test_class"), "text input class was not correct it was " + testTextInput.GetAttribute("class"));
            Assert.AreEqual(testTextInput.GetAttribute("name"), "test_name", "text input name was not correct it was " + testTextInput.GetAttribute("name"));
  
            
        }
        private void _CheckboxTest(IJavaScriptExecutor js)
        {
            var test = new CheckboxInput();
            string json = DFormSerializer.serialize(test);
            Assert.IsFalse(String.IsNullOrEmpty(json));
            Assert.IsTrue(js.CreateDForm(json));
            IWebDriver driver = js as IWebDriver;

            IWebElement testTextInput = driver.FindElement(By.Id("checkbox1"));
            Assert.AreEqual(testTextInput.TagName.ToLower(), "input", "1st checkbox tag name was" + testTextInput.TagName + " but is meant to be input");
            Assert.IsTrue(testTextInput.Selected, "1st checkbox was not selected");
            Assert.AreEqual(testTextInput.GetAttribute("type"), "checkbox");
            testTextInput = driver.FindElement(By.Id("checkbox2"));
            Assert.AreEqual(testTextInput.TagName.ToLower(), "input", "2nd checkbox tag name was" + testTextInput.TagName + " but is meant to be input");
            Assert.IsFalse(testTextInput.Selected, "2nd checkbox was selected");
            Assert.AreEqual(testTextInput.GetAttribute("type"), "checkbox");
        }