Exemple #1
0
        [Test] public void add_Link()
        {
            var href      = "href".add_5_RandomLetters();
            var id        = "id".add_5_RandomLetters();
            var innerText = "innerText".add_5_RandomLetters();

            ie.links().assert_Is_Empty();
            ie.body().add_Link(id, href, innerText);
            ie.links().assert_Not_Empty().assert_Size_Is(1);

            var link = ie.links().first();

            link.assert_Not_Null()
            .assert_Are_Equal(link.id, id)
            .assert_Contains(link.href, href)
            .assert_Are_Equal(link.innerText, innerText);

            assert_Are_Equal(link, ie.links().first());
            assert_Are_Equal(link, ie.elements("a").first());
            assert_Are_Equal(link, ie.link(id));
            assert_Are_Equal(link, ie.link(innerText));

            var innerText2 = "innerText 2".add_5_RandomLetters();

            ie.body().add_Link(innerText2);
            var link_NoId = ie.links().second();

            link_NoId.assert_Not_Null()
            .assert_Contains(link_NoId.id, "Link_Id_")
            .assert_Contains(link_NoId.href, "#")
            .assert_Are_Equal(link_NoId.innerText, innerText2);
        }
Exemple #2
0
        /// <summary>
        /// tries to find a link or button using the provided identified (<paramref name="linkOrButtonRef"/>) and click on it
        ///
        /// Returns the original watinIe object so that multiple clicks can be chained
        ///
        /// Returns null if the link or button was not found
        /// </summary>
        /// <param name="watinIe"></param>
        /// <param name="linkOrButtonRef"></param>
        /// <returns></returns>
        public static WatiN_IE click(this WatiN_IE watinIe, string linkOrButtonRef)
        {
            if (watinIe.isNull() || linkOrButtonRef.notValid())
            {
                return(watinIe);
            }
            if (watinIe.hasLink(linkOrButtonRef))
            {
                watinIe.link(linkOrButtonRef).click();
                return(watinIe);
            }
            if (watinIe.hasButton(linkOrButtonRef))
            {
                watinIe.button(linkOrButtonRef).click();
                return(watinIe);
            }

            "[WatiN_IE][click] could not find link or button with reference: {0}".error(linkOrButtonRef);
            return(null);
        }
Exemple #3
0
        private string Exploit_Stage_1_Stored_XSS(string fieldToInsertPayload)
        {
            setup();
            var payload = "<a href=\"\" onMouseOver=\"javascript:alert('xss')\">Over me to see xss</a>";

            webGoat.openMainPage();
            //ie.disableFlashing();
            ie.link("Cross-Site Scripting (XSS)").flash().click();
            ie.link("LAB: Cross Site Scripting").flash().click();
            ie.link("Stage 1: Stored XSS").flash();
            ie.field("password").flash().value("larry");
            ie.button("Login").flash().click();
            ie.selectLists()[1].options()[0].select().flash();
            ie.button("ViewProfile").flash().click();
            ie.button("EditProfile").flash().click();
            ie.field(fieldToInsertPayload).value(payload).flash();
            ie.button("UpdateProfile").flash().click();
            Assert.That(ie.html().contains("onmouseover=\"javascript:alert('xss')\""), "Payload was not inserted into page");
            return("ok");
        }
Exemple #4
0
        /// <summary>
        /// https://github.com/TeamMentor/Master/issues/829
        /// </summary>
        [Test] public void Issue_829__Get_rid_of_Control_Panel()
        {
            ieTeamMentor.open_Page_Login_if_Needed("/TeamMentor");

            // location 1) check link on home page
            ie.assert_Uri_Is(siteUri.mapPath("/TeamMentor"))             // confirm that we are on the main TM page
            .wait_For_Link("Logout")
            .assert_Has_Link("Logout")
            .assert_Has_Link("Tbot")
            .assert_Doesnt_Have_Link("Control Panel");                   // (Issue_830) for the 3.5 release this link should not be there

            // location 2) check link on Tbot page
            ie.link("TBot").click();
            ie.assert_Uri_Is(siteUri.mapPath("/rest/tbot/run/Commands"))
            .assert_Has_Link("Restart Server")
            .assert_Has_Link("TBot Monitor")
            .assert_Doesnt_Have_Link("Control Panel (legacy)");

            //  location 3)check for link on TBot Monitor
            ie.link("TBot Monitor").click();
            ie.assert_Uri_Is(siteUri.mapPath("/Tbot_Monitor/monitor.htm#/monitor/activities"))
            .assert_Has_Link("TeamMentor Admin (TBot)")
            .assert_Doesnt_Have_Link("Control Panel (legacy)");
        }
Exemple #5
0
        public void Workflow_Install_And_Delete_Library()
        {
            Action <string, string> waitForElementText =
                (elementId, text) => {
                "waiting for '{0}' in element '{1}'".info(text, elementId);
                for (int i = 0; i < 5; i++)
                {
                    if (ie.element(elementId).text().contains(text))
                    {
                        return;
                    }
                    else
                    {
                        elementId.sleep(1000, true);
                    }
                }
                "could not find '{0}' in element '{1}'".error(text, elementId);
            };

            Action <string, string> login =
                (username, password) => {
                ie.open(server.append("login"));
                ie.url().assert_Contains("Login");
                ie.field("username").value(username);
                ie.field("password").value(password);
                ie.button("login").click();
            };
            Action logout     = () => ie.open(server.append("logout"));
            Action teamMentor = () => {
                ie.open(server.append("teamMentor"));
                ie.waitForLink("About");
            };
            Action admin = () => ie.open(server.append("admin"));

            Action login_AsAdmin = () => {
                if (ie.hasLink("Control Panel").isFalse())
                {
                    logout();
                    login(admin_Name, admin_Pwd);
                    ie.waitForLink("About", 250, 20).assert_Not_Null();
                    ie.waitForLink("Logout").assert_Not_Null();
                    //teamMentor();
                }
            };
            Action installTestLibrary =
                () => {
                admin();
                ie.waitForComplete();
                ie.waitForLink("advanced admin tools").click().assert_Not_Null();
                ie.waitForLink("install/upload libraries").click().assert_Not_Null();;
                ie.waitForLink("OWASP").click().assert_Not_Null();
                ie.button("Install").click().assert_Not_Null();
                waitForElementText("installMessage", "> Library installed was successful");
                ie.link("Admin Tasks").click().assert_Not_Null();
                waitForElementText("jsonResult", "...Via Proxy");
                ie.link("Reload Server Cache").click().assert_Not_Null();
                waitForElementText("jsonResult", "In the Folder");
                ie.link("Open Main Page").click().assert_Not_Null();;
                //ie.waitForLink("Reload Server Cache").click();
            };
            Action deleteTestLibrary =
                () => {
                ie.waitForLink("OWASP").notNull().assert_True();

                var librariesBeforeRemove = ie.getJsVariable("window.TM.WebServices.Data.AllLibraries.length").cast <int>();

                ie.eval("window.TM.Gui.LibraryTree.remove_Library_from_Database('4738d445-bc9b-456c-8b35-a35057596c16')");

                for (var i = 0; i < 5; i++)
                {
                    if (ie.getJsVariable("window.TM.WebServices.Data.AllLibraries.length").cast <int>() < librariesBeforeRemove)
                    {
                        return;
                    }
                    else
                    {
                        100.sleep();
                    }
                }

                "Library was not deleted".assert_Fail();
            };

            teamMentor();
            login_AsAdmin();
            //ie.script_IE_WaitForClose();
            installTestLibrary();
            deleteTestLibrary();

            ie.hasLink("OWASP").assert_False();
        }
        [Test] public void link()
        {
            ie.links().assert_Empty();

            var id        = "id".add_5_RandomLetters();
            var innerText = "innerText".add_5_RandomLetters();

            ie.body().add_Link(id, "href", innerText);

            ie.links().assert_Not_Empty()
            .assert_Size_Is(1)
            .first().assert_Not_Null()
            .assert_Are_Equal((link) => link.id(), id)
            .assert_Are_Equal((link) => link.innerText(), innerText);


            ie.link(id).assert_Not_Null();
            ie.link(innerText).assert_Not_Null();

            var firstLink = ie.links().first();

            assert_Are_Equal(firstLink, ie.link(id));
            assert_Are_Equal(firstLink, ie.link(innerText));
        }