public void Will_Generate_Xpath_For_Simple_Element_With_Partial_Attribute_Defined_By_Variables3()
        {
            string attrName = "id";
            var    xpath    = CreateXpath.Where(e => e.TargetElementName == "td" && e.Attribute(attrName).Contains("displayNone"));

            Assert.AreEqual("//td[contains(@id,'displayNone')]", xpath);
        }
示例#2
0
        public void Will_Generate_Xpath_For_Simple_Element_Starting_With_Text_Represented_By_Variable()
        {
            string test  = "Test";
            var    xpath = CreateXpath.Where(e => e.TargetElementName == "span" && e.TargetElementText.StartsWith(test));

            Assert.AreEqual("//span[starts-with(text(),'Test')]", xpath);
        }
示例#3
0
        public void Will_Generate_Xpath_For_Simple_Element_Not_Containing_Text()
        {
            string tdElement = "td";
            var    xpath     = CreateXpath.Where(e => e.TargetElementName == tdElement && e.TargetElementText.Contains("my test") == false);

            Assert.AreEqual("//td[not(contains(text(),'my test'))]", xpath);
        }
示例#4
0
        public void Will_Generate_Xpath_For_Simple_Element_Specified_By_A_Variable()
        {
            string tdElement = "td";
            var    xpath     = CreateXpath.Where(e => e.TargetElementName == tdElement);

            Assert.AreEqual("//td", xpath);
        }
示例#5
0
        public void Will_Generate_Xpath_For_Simple_Element_With_Text()
        {
            string tdElement = "td";
            var    xpath     = CreateXpath.Where(e => e.TargetElementName == tdElement && e.TargetElementText == "my test");

            Assert.AreEqual("//td[text()='my test']", xpath);
        }
        public void Will_Return_Text_At_Property_From_Method()
        {
            int index = GetTextIndex();
            var xpath = CreateXpath.Where(e => e.TargetElementName == "td").Select(e => e.TextAt(index));

            Assert.AreEqual("//td/text()[4]", xpath);
        }
示例#7
0
        public void Will_Generate_Xpath_For_Element_With_Parent_Specified_Using_Variable()
        {
            string parent = "tr";
            var    xpath  = CreateXpath.Where(e => e.TargetElementName == "td" && e.Parent.Name == parent);

            Assert.AreEqual("//tr/td", xpath);
        }
        public void Will_Return_Attribute_Property2()
        {
            string classAttr = "class";
            var    xpath     = CreateXpath.Where(e => e.TargetElementName == "td").Select(e => e.Attribute(classAttr));

            Assert.AreEqual("//td/@class", xpath);
        }
示例#9
0
        public void Will_Generate_Xpath_For_Element_With_Parent_With_Contained_Text()
        {
            string text  = "myTest";
            var    xpath = CreateXpath.Where(e => e.TargetElementName == "td" && e.Parent.Name == "tr" && e.Parent.Text.Contains(text));

            Assert.AreEqual("//tr[contains(text(),'myTest')]/td", xpath);
        }
        public void Will_Return_Text_At_Property_From_Variable()
        {
            int index = 100;
            var xpath = CreateXpath.Where(e => e.TargetElementName == "td").Select(e => e.TextAt(index));

            Assert.AreEqual("//td/text()[100]", xpath);
        }
示例#11
0
        public void Will_Generate_Xpath_For_Simple_Element_With_Position_Specified_By_Variable()
        {
            int position = 5;
            var xpath    = CreateXpath.Where(e => e.TargetElementName == "td" && e.Position == position);

            Assert.AreEqual("//td[position()=5]", xpath);
        }
示例#12
0
        public void Will_Generate_Xpath_For_Element_With_Parent_With_Attribute_With_Exact_Text_All_Specified_Using_Attributes()
        {
            string text       = "_parent_child";
            string parentName = "tr";
            var    xpath      = CreateXpath.Where(e => e.TargetElementName == "td" && e.Parent.Name == parentName && e.Parent.Attribute("id").Text == text);

            Assert.AreEqual("//tr[@id='_parent_child']/td", xpath);
        }
        public void Will_Generate_Xpath_For_Element_With_Ancestor_Specified_Using_Variables()
        {
            string td    = "td";
            string table = "table";
            var    xpath = CreateXpath.Where(e => e.TargetElementName == td && e.Ancestor.Name == table);

            Assert.AreEqual("//td[ancestor::table]", xpath);
        }
示例#14
0
        public void Will_Generate_Xpath_For_Simple_Element_With_Following_Sibling_Specified_By_Attributes()
        {
            string siblingName = "td2";
            string elementName = "td1";
            var    xpath       = CreateXpath.Where(e => e.TargetElementName == elementName && e.FollowingSibling.Name == siblingName);

            Assert.AreEqual("//td1[following-sibling::td2]", xpath);
        }
示例#15
0
        public void Will_Generate_Xpath_For_Simple_Element_With_Attributes_Defined_By_Variables()
        {
            string myClass1 = "displayNone";
            string attrName = "class";
            var    xpath    = CreateXpath.Where(e => e.TargetElementName == "td" && e.Attribute(attrName).Text == myClass1);

            Assert.AreEqual("//td[@class='displayNone']", xpath);
        }
        public void Will_Generate_Xpath_For_Element_With_Ancestor_And_Descendant_Specified_By_Variables()
        {
            string desc     = "div";
            string ancestor = "table";
            string target   = "td";
            var    xpath    = CreateXpath.Where(e => e.TargetElementName == target && e.Ancestor.Name == ancestor && e.Descendant.Name == desc);

            Assert.AreEqual("//td[descendant::div and ancestor::table]", xpath);
        }
示例#17
0
        public void Will_Generate_Xpath_For_Simple_Element_Specified_By_A_Variable_Inside_Another_Object()
        {
            TestClass testClass = new TestClass();

            testClass.Name = "tr";
            var xpath = CreateXpath.Where(e => e.TargetElementName == testClass.Name);

            Assert.AreEqual("//tr", xpath);
        }
示例#18
0
        public void Will_Generate_Xpath_For_Element_With_Parent_Ending_With_Text()
        {
            var xpath = CreateXpath.Where(e => e.TargetElementName == "td" && e.Parent.Name == "tr" && e.Parent.Text.EndsWith("test") == true);

            Assert.AreEqual("//tr[ends-with(text(),'test')]/td", xpath);

            xpath = CreateXpath.Where(e => e.TargetElementName == "td" && e.Parent.Name == "tr" && e.Parent.Text.EndsWith("test"));

            Assert.AreEqual("//tr[ends-with(text(),'test')]/td", xpath);
        }
示例#19
0
        public void Will_Generate_Xpath_For_Simple_Element_With_Preceding_Sibling_And_Following_Sibling_And_Attribute_Using_Variables()
        {
            string aVal     = "a";
            string bVal     = "b";
            string cVal     = "c";
            string classVal = "class";

            var xpath = CreateXpath.Where(e => e.TargetElementName == bVal && e.PrecedingSibling.Name == aVal && e.FollowingSibling.Name == cVal && e.Attribute("class").Text == GetClassName());

            Assert.AreEqual("//b[@class='myClass' and following-sibling::c and preceding-sibling::a]", xpath);
        }
示例#20
0
        public void Will_Generate_Xpath_For_Simple_Element_Specified_By_A_Variable_Inside_Deep_Object()
        {
            TestClass2 outer = new TestClass2();

            outer.Test = new TestClass()
            {
                Name = "a"
            };

            var xpath = CreateXpath.Where(e => e.TargetElementName == outer.Test.Name);

            Assert.AreEqual("//a", xpath);
        }
示例#21
0
        public void Will_Generate_Xpath_For_Simple_Element_Specified_By_Value_Returned_From_Instance_Method_Call()
        {
            TestClass2 outer = new TestClass2();

            outer.Test = new TestClass()
            {
                Name = "a"
            };

            var xpath = CreateXpath.Where(e => e.TargetElementName == GetValue2("table"));

            Assert.AreEqual("//table", xpath);

            xpath = CreateXpath.Where(e => e.TargetElementName == GetValue2());

            Assert.AreEqual("//table", xpath);
        }
示例#22
0
        public void Will_Generate_Xpath_For_Element_With_Parent_With_Text_And_Position_And_Attribute()
        {
            var xpath = CreateXpath.Where(e => e.TargetElementName == "td" && e.Parent.Name == "tr" && e.Parent.Text == "test" && e.Parent.Position == 5 && e.Parent.Attribute("id").Text == "parent");

            Assert.AreEqual("//tr[@id='parent' and text()='test' and position()=5]/td", xpath);
        }
示例#23
0
        public void Will_Generate_Xpath_For_Element_With_Parent_Not_Starting_With_Text()
        {
            var xpath = CreateXpath.Where(e => e.TargetElementName == "td" && e.Parent.Name == "tr" && e.Parent.Text.StartsWith("test") == false);

            Assert.AreEqual("//tr[not(starts-with(text(),'test'))]/td", xpath);
        }
示例#24
0
        public void Will_Generate_Xpath_For_Element_With_Parent_With_Text()
        {
            var xpath = CreateXpath.Where(e => e.TargetElementName == "td" && e.Parent.Name == "tr" && e.Parent.Text == "test");

            Assert.AreEqual("//tr[text()='test']/td", xpath);
        }
示例#25
0
        public void Will_Generate_Xpath_For_Element_Where_Both_Parent_And_Element_Start_With_Text()
        {
            var xpath = CreateXpath.Where(e => e.TargetElementName == "td" && e.Parent.Name == "tr" && e.Parent.Text.StartsWith("parentText") && e.TargetElementText.StartsWith("childText"));

            Assert.AreEqual("//tr[starts-with(text(),'parentText')]/td[starts-with(text(),'childText')]", xpath);
        }
示例#26
0
        public void Will_Generate_Xpath_For_Element_With_Parent_Defined_First_In_Expression()
        {
            var xpath = CreateXpath.Where(e => e.Parent.Name == "tr" && e.TargetElementName == "td");

            Assert.AreEqual("//tr/td", xpath);
        }
示例#27
0
        public void Will_Generate_Xpath_For_Element_With_Parent_With_Multiple_Attributes_Containing_Text()
        {
            var xpath = CreateXpath.Where(e => e.TargetElementName == "td" && e.Parent.Name == "tr" && e.Parent.Attribute("id").Contains("_parent_child") && e.Parent.Attribute("class").Contains("someClass"));

            Assert.AreEqual("//tr[contains(@class,'someClass') and contains(@id,'_parent_child')]/td", xpath);
        }
示例#28
0
        public void Will_Generate_Xpath_For_Element_With_Parent_With_Multiple_Attributes_With_Exact_Text()
        {
            var xpath = CreateXpath.Where(e => e.TargetElementName == "td" && e.Parent.Name == "tr" && e.Parent.Attribute("id").Text == "_parent_child" && e.Parent.Attribute("class").Text == "myClass");

            Assert.AreEqual("//tr[@class='myClass' and @id='_parent_child']/td", xpath);
        }
示例#29
0
        public void Will_Generate_Xpath_For_Element_With_Parent_Not_Containing_Text()
        {
            var xpath = CreateXpath.Where(e => e.TargetElementName == "td" && e.Parent.Name == "tr" && e.Parent.Text.Contains("_parent_child") == false);

            Assert.AreEqual("//tr[not(contains(text(),'_parent_child'))]/td", xpath);
        }
示例#30
0
        public void Will_Generate_Xpath_For_Simple_Element_With_Parent_With_One_Attribute_Containing_Text_And_Another_Attribute_With_Exact_Text()
        {
            var xpath = CreateXpath.Where(e => e.TargetElementName == "td" && e.Attribute("id").Contains("_parent_child") && e.Attribute("class").Text == "myClass");

            Assert.AreEqual("//td[@class='myClass' and contains(@id,'_parent_child')]", xpath);
        }