public void EditAnEventItem() { // Set up the test in ReportLog wrapper class. ReportLog.CreateTest("EditAnEventItem", "This is an end-to-end test case regarding the editing of an Event."); try { // Log in. LoginPage loginPage = new LoginPage(driver); loginPage.NavigateToLoginPage(); ReportLog.Log("Navigated to Login Page."); loginPage.TypeUserName("plan.6"); loginPage.TypePassword("plan01#"); ReportLog.Log("Entered credentials."); // Go to home page. HomePage homePage = loginPage.ConfirmLoginAndGoBackToHomePage(); homePage.WaitUntilHomePageLoadingComplete(); ReportLog.Log("Login confirmed and redirected back to Home Page."); // Go to events page. EventsPage eventsPage = homePage.GoToEventsPage(); eventsPage.WaitUntilEventsPageLoadingComplete(); ReportLog.Log("Navigated to Events Page."); // Go to event item page of a specific item. EventsItemPage eventsItemPage = eventsPage.GoToSpecificEventsItemPage(0); eventsItemPage.WaitUntilEventsItemPageLoadingComplete(); ReportLog.Log("Go to the editing page of a specific item."); // Input mandatory values, save changes and extract item reference ID. string referenceID = eventsItemPage.InputMandatoryChangesAndSave().Substring(13); ReportLog.Log("Mandatory fields inputted and changes saved."); // Search for this specific item. eventsPage.SearchByReferenceID(referenceID, false, true); try { // Assertion. eventsPage.ConfirmEventEdited(referenceID); ReportLog.Pass("EditAnEventItem."); } catch (AssertionException a) { // Test failed due to assertion error. ReportLog.Fail(a.Message, ReportLog.TakeScreenShot("AddAnEventItemViaPortal", driver)); throw a; } driver.Quit(); } catch (Exception e) { // Test failed due to unforeseen exception. ReportLog.Fail(e.Message + "\n" + e.StackTrace); ReportLog.Fail("UnforeseenException", ReportLog.TakeScreenShot("UnforeseenException", driver)); throw e; } }