コード例 #1
0
        public void Nationality_CRUD_Test_Scenario()
        {
            //1. Login
            login("*****@*****.**", "adminadmin123");
            ImplicitWait(10);

            //2. Navigate to Nationality
            navMenu = driver.FindElementByCssSelector(".d-none .ft-menu");
            navMenu.Click();

            //Lookups = driver.FindElementByXPath("//span[contains(.,'Lookups')]");
            Lookups = driver.FindElementByCssSelector(".has-sub .menu-title");
            Lookups.Click();

            NationalityLookup = driver.FindElementByLinkText("Nationalities");
            NationalityLookup.Click();

            //Implicit wait for Nationality list to load
            ImplicitWait(10);

            //3. Create New Nationality
            btnAdd = driver.FindElementByXPath("//span[contains(.,'Add Nationality')]");
            btnAdd.Click();

            //Implicit wait to load create page
            ImplicitWait(5);

            txtNationalityName = driver.FindElementById("id_name");
            txtDescription     = driver.FindElementById("id_description");

            txtNationalityName.SendKeys("Villager");
            txtDescription.SendKeys("Villager from MineCraft");
            btnSave = driver.FindElementByName("save");
            btnSave.Click();

            //Implicit wait for Nationality list to load
            ImplicitWait(5);

            //4. View Created Nationality

            //Get the current count in the list (This will help getting the specific selector)
            string count = driver.FindElementByCssSelector(".media-body > h3").Text;

            //Check that the new Nationality has beeen created and is being displayed in the list
            NationalityLink = driver.FindElementByLinkText("Villager");
            Assert.IsTrue(NationalityLink.Displayed == true);

            //5. Edit Nationality
            NationalityLink.Click();

            //Implicit wait to load the edit page
            ImplicitWait(5);
            btnEdit = driver.FindElementByXPath("//span[contains(.,'Edit')]");
            btnEdit.Click();

            //Update Nationality
            txtNationalityName = driver.FindElementById("id_name");
            txtDescription     = driver.FindElementById("id_description");
            txtNationalityName.SendKeys(Keys.Control + "a" + Keys.Control);
            txtNationalityName.SendKeys("Zillager");

            txtDescription.SendKeys(Keys.Control + "a" + Keys.Control);
            txtDescription.SendKeys("Zillager from MineCraft");
            btnSave = driver.FindElementByName("save");
            btnSave.Click();

            //Implicit wait for Nationality list to load
            ImplicitWait(5);

            //Check that the new Nationality has beeen created and is being displayed in the list
            NationalityLink        = driver.FindElementByLinkText("Zillager");
            NationalityDescription = driver.FindElementByXPath("//td[contains(.,'Zillager from MineCraft')]");
            Assert.IsTrue(NationalityLink.Displayed == true);
            Assert.IsTrue(NationalityDescription.Displayed == true);

            //6. Delete Nationality
            btnDeleteLink = driver.FindElementByCssSelector($".even:nth-child({count}) .fa-trash");
            btnDeleteLink.Click();

            btnDelete = driver.FindElementByXPath("//button[contains(.,' Confirm')]");
            btnDelete.Click();

            //Implicit wait for Nationality list to load
            ImplicitWait(5);

            alertElement = driver.FindElementByCssSelector(".alert");
            Assert.IsTrue(alertElement.Text.Contains("Nationality successfully Deleted"));
        }