public void RegisterExamWithoutLogin() { var startPage = new LandingPage(this.driver, true); var loginPage = new Login(this.driver); loginPage.LogIntoServie(Properties.Settings.Default.UserAteam1, Properties.Settings.Default.PasswordAteam1); var session = new AddSession(this.driver); var sessionData = new SessionData(); var dashboard = new Dashboard(this.driver); dashboard.AddSessionButton.Click(); sessionData.IsSpacePerSession = false; sessionData.LevelOther = false; sessionData.LevelAdvanced = false; sessionData.LevelExpert = false; sessionData.IstqbAdvancedLevelTechnicalTestAnalystEnglishPolish = false; sessionData.IstqbAdvancedLevelTestAnalystEnglishPolish = false; sessionData.IstqbAdvancedLevelTestManagerEnglishPolish = false; sessionData.IstqbTestManagementEnglish = false; sessionData.IstqbAgileTesterExtensionEnglishPolish = false; sessionData.IstqbImprovingTheTestProcessEnglish = false; session.Populate(sessionData); session.SaveSession.Click(); var sessionId = this.driver.Url.Substring(this.driver.Url.LastIndexOf("/") + 1); var sessionDetails = new Details(this.driver); sessionDetails.ActivateSession(); sessionDetails.UserMenu.Click(); sessionDetails.Logoff.Click(); var landingPage = new LandingPage(this.driver); var groupRegistration = landingPage.GroupRegistration.Where(x => x.GetAttribute("data-session").Equals(sessionId)).ToList(); if (!groupRegistration.Any()) { throw new Exception("Exam is not available for registration for logged off user"); } groupRegistration.FirstOrDefault().Click(); /*landingPage.PgsLogo.Click(); * Thread.Sleep(500); * var sid = landingPage.GetExistingSessionIdWithFreePlacesAndManyExams(3, 2); * var examButton = this.driver.FindElement(By.CssSelector(string.Format("div[data-session='{0}']", sid))); * examButton.FocusAtElement(this.driver); * examButton.Click();*/ var getAttendees = new GetAttendees(this.driver); var attendee = new Attendee(); getAttendees.Email.WaitForElement(1000); getAttendees.Populate(attendee); Assert.IsTrue(getAttendees.AddUserToList.Displayed); getAttendees.AddUserToList.Click(); var attendee2 = new Attendee(); getAttendees.Email.WaitForElement(1000); getAttendees.Populate(attendee2); Assert.IsTrue(getAttendees.AddUserToList.Displayed); getAttendees.AddUserToList.Click(); Assert.IsTrue(this.driver.VisibleText().Contains("2")); getAttendees.Forward.Click(); var getPersonData = new GetPersonData(this.driver); var personData = new ContactData(); getPersonData.Populate(personData); getPersonData.Forward.Click(); var getAddress = new GetAddress(this.driver); getAddress.Populate(personData); getAddress.Forward.Click(); Assert.IsTrue(this.driver.VisibleText().Contains("Dziękujemy za zapisanie się na egzamin")); Assert.IsTrue(this.driver.VisibleText().Contains(personData.PersonDataEmail)); getAddress.PgsLogo.Click(); startPage.LoginLink.Click(); loginPage.LogIntoServie(Properties.Settings.Default.UserAteam1, Properties.Settings.Default.PasswordAteam1); dashboard.CompanyColumnHeader.WaitForElement(1000); Thread.Sleep(500); Assert.IsTrue(dashboard.CheckSessionExistsOnDate(sessionData.SessionDate, sessionData.City)); dashboard.ClickSessionLink(sessionData.City); dashboard.SessionDetailsLink.WaitForElement(1000); Assert.AreEqual(8, dashboard.GetFreeSpaceCountFromSessionPopup()); }