public void ActionTestWithJS()
        {
            driver = new FirefoxDriver();
            driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
            LoginPage loginpage = new LoginPage(driver);

            loginpage.Open();
            //Login button is being clicked with Javascript
            HomePage homepage = loginpage.LoginUsingJSClick(login, password);

            Assert.IsTrue(homepage.LoggedIn(), "Login failed");
            NewEmailPage newemail = homepage.CreateEmailViaAction();

            newemail.ComposeEmailAndSaveDraft(toEmail, subjEmail, bodyEmail);
            //No any other waits handled this, only hardcoded wait
            System.Threading.Thread.Sleep(TimeSpan.FromSeconds(1));
            DraftsPage draftpage = homepage.GoToDraftsFolder();

            draftpage.OpenSavedDraft(bodyEmail);
            Assert.IsTrue(draftpage.IsElementPresent(By.XPath("//span[text() = '" + toEmail + "']")), "Draft email was not saved");
            Assert.IsTrue(draftpage.CheckDraftContent(toEmail, bodyEmail), "Error in draft content");
            //Email is sent by pressing ctrl+enter buttons on the keyboard
            Assert.IsTrue(draftpage.SendEmailByKeyBoard(), "Error while sending email");
            homepage.GoToDraftsFolder();
            Assert.IsTrue(draftpage.IsElementPresent(By.XPath("//div[@class='b-datalist__empty__block']")), "Email was not sent");
            SentPage sentpage = homepage.GoToSentPage();

            Assert.IsTrue(sentpage.CheckEmailSent(bodyEmail), "Sent folder is empty, no email was sent");
            //Before clicking logoff button, the button is highlighted with red color
            homepage.LogOffWithHihgLight();
            Assert.IsTrue(loginpage.LoggedOut(), "Log off failed");
            driver.Quit();
        }
        public void SendFolderAfterSendingTest()
        {
            try
            {
                new StartPage().Login(new User(LogIn, Password));
                new InboxPage().GoToSentPage();

                var sentPage = new SentPage();
                sentPage.DeleteAllSent();
                sentPage.GoToNewEmailPage();

                var emailPage = new EmailPage();
                emailPage.CreateANewEmail(new Email(EmailAddress, EmailSubject, EmailText));
                emailPage.SaveAsADraft();
                emailPage.GoToDraftPage();

                new DraftPage().OpenEmail();

                emailPage.SendEmail();
                emailPage.GoToSentPage();

                Assert.IsTrue(sentPage.SentEmailExist());
            }

            catch (Exception ex)
            {
                Logger.TakeScreenshot();
                Logger.log.Error("Exception: " + ex);
            }
        }
Exemple #3
0
 public void WhenIMoveToTheFolderSent()
 {
     sentPage = new SentPage(driver);
     sentPage.ClickOnSentItem();
     log.Debug("debug level");
     ScreenShots.ScreenShot();
 }
        public void SendAnEmailToRandom()
        {
            var RandomEmail = GetRandomEmailAddress.GetRandomEmail();

            new StartPage().Login(new User(LogIn, Password));
            new InboxPage().GoToSentPage();

            var sentPage = new SentPage();

            sentPage.DeleteAllSent();
            sentPage.GoToNewEmailPage();

            var emailPage = new EmailPage();

            emailPage.CreateANewEmail(new Email(EmailAddress, EmailSubject, EmailText));
            emailPage.SaveAsADraft();
            emailPage.GoToDraftPage();

            new DraftPage().OpenEmail();

            emailPage.SendEmail();
            emailPage.GoToSentPage();

            Assert.IsTrue(sentPage.SentEmailExist());
        }
 public void GivenIHaveNavigatedToTheSendEmailPageAndDeletedAll()
 {
     new InboxPage().GoToSentPage();
     sentPage = new SentPage();
     sentPage.DeleteAllSent();
     // sentPage.GoToNewEmailPage();
 }
        public void RunPageObjectTest()
        {
            driver = new ChromeDriver();
            driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
            LoginPage loginpage = new LoginPage(driver);

            loginpage.Open();
            HomePage homepage = loginpage.LoginAs(login, password);

            Assert.IsTrue(homepage.LoggedIn(), "Login failed");
            NewEmailPage newemail = homepage.CreateEmail();

            newemail.ComposeEmailAndSaveDraft(toEmail, subjEmail, bodyEmail);
            //No any other waits handled this, only hardcoded wait
            System.Threading.Thread.Sleep(TimeSpan.FromSeconds(1));
            DraftsPage draftpage = homepage.GoToDraftsFolder();

            draftpage.OpenSavedDraft(bodyEmail);
            Assert.IsTrue(draftpage.IsElementPresent(By.XPath("//span[text() = '" + toEmail + "']")), "Draft email was not saved");
            Assert.IsTrue(draftpage.CheckDraftContent(toEmail, bodyEmail), "Error in draft content");
            Assert.IsTrue(draftpage.SendEmail(), "Error while sending email");
            homepage.GoToDraftsFolder();
            Assert.IsTrue(draftpage.IsElementPresent(By.XPath("//div[@class='b-datalist__empty__block']")), "Email was not sent");
            SentPage sentpage = homepage.GoToSentPage();

            Assert.IsTrue(sentpage.CheckEmailSent(bodyEmail), "Sent folder is empty, no email was sent");
            homepage.LogOff();
            Assert.IsTrue(loginpage.LoggedOut(), "Log off failed");
            driver.Quit();
        }
Exemple #7
0
        public void SendFolderAfterSendingTest()
        {
            var startForm = new StartPage();

            startForm.Login(LogIn, Password);
            var inboxForm = new InboxPage();

            inboxForm.GoToSentPage();
            var sentForm = new SentPage();

            sentForm.DeleteAllSent();
            sentForm.GoToNewEmailPage();
            var emailForm = new EmailPage();

            emailForm.CreateANewEmail(EmailAddress, EmailSubject, EmailText);
            emailForm.SaveAsADraft();
            emailForm.GoToDraftPage();
            var draftForm = new DraftPage();

            draftForm.OpenEmail();
            emailForm.SendEmail();
            emailForm.GoToSentPage();

            Assert.IsTrue(sentForm.SentEmailExist());
        }
Exemple #8
0
        public void TestSendAndDeleteMail()
        {
            // Login to the mail box.
            HomePage homePage = Login();

            // Send a mail.
            EmailPage emailPage = homePage.ClickWriteBtn();

            emailPage.CreateDraft(this.mailTo, this.subject, this.text);
            emailPage.SendDraft();

            // Delete sent mail.
            SentPage sentPage = homePage.OpenSent();

            sentPage.SelectMailBySubject(this.subject);
            sentPage.DeleteSelectedMail();

            // Verify, that the mail disappeared from ‘Sent’ folder.
            sentPage.RefreshPage();
            bool isMailDisplayed = sentPage.IsMailDisplayed(this.subject);

            Assert.IsFalse(isMailDisplayed);

            // Verify, that the mail is in ‘Trash’ folder
            TrashPage trashPage            = sentPage.OpenTrash();
            string    subjectOfDeletedMail = trashPage.GetMailSubjectText(this.subject);

            Assert.AreEqual(this.subject, subjectOfDeletedMail, "The mail wasn't deleted");

            // Log out.
            trashPage.Logout();
        }
 public void GivenIHaveCreatedANewEmailWithAndAnd(string emailAddress, string emaiSubject, string emailText)
 {
     sentPage = new SentPage();
     sentPage.GoToNewEmailPage();
     emailPage = new EmailPage();
     emailPage.CreateANewEmail(new Email(emailAddress, emaiSubject, emailText));
 }
        public void TestBO()
        {
            driver = new FirefoxDriver();
            User   user   = new User("webdriver_mail.ru");
            Letter letter = new Letter("sample_mail");

            driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
            LoginPage loginpage = new LoginPage(driver);

            loginpage.Open();
            HomePage homepage = loginpage.LoginAs(user.Login, user.Password, user.Domain);

            Assert.IsTrue(homepage.LoggedIn(), "Login failde");
            NewEmailPage newemail = homepage.CreateEmail();

            newemail.ComposeEmailAndSaveDraft(letter.Addressee, letter.Subject, letter.Body);
            //No any other waits handled this, only hardcoded wait
            System.Threading.Thread.Sleep(TimeSpan.FromSeconds(1));
            DraftsPage draftpage = homepage.GoToDraftsFolder();

            draftpage.OpenSavedDraft(letter.Body);
            Assert.IsTrue(draftpage.IsElementPresent(By.XPath("//span[text() = '" + letter.Addressee + "']")), "Draft email was not saved");
            Assert.IsTrue(draftpage.CheckDraftContent(letter.Addressee, letter.Body), "Error in draft content");
            Assert.IsTrue(draftpage.SendEmail(), "Error while sending email");
            homepage.GoToDraftsFolder();
            Assert.IsTrue(draftpage.IsElementPresent(By.XPath("//div[@class='b-datalist__empty__block']")), "Email was not sent");
            SentPage sentpage = homepage.GoToSentPage();

            Assert.IsTrue(sentpage.CheckEmailSent(letter.Body), "Sent folder is empty, no email was sent");
            homepage.LogOff();
            Assert.IsTrue(loginpage.LoggedOut(), "Log off failed");
            driver.Quit();
        }
Exemple #11
0
        public void TestCreateAndSendDraft()
        {
            // Login to the mail box.
            HomePage homePage     = Login();
            string   writeBtnText = homePage.GetWriteBtnText();

            // Assert, that the login is successful: Если появляется кнопка Написать, значит вход выполнен успешно
            StringAssert.Contains("Написать", writeBtnText, "Login failed.");

            // Create a new mail(fill addressee, subject and body fields).
            EmailPage emailPage = homePage.ClickWriteBtn();

            emailPage.CreateDraft(this.mailTo, this.subject, this.text);

            // Save the mail as a draft.
            emailPage.SaveAndCloseDraft();

            // Verify, that the mail presents in ‘Drafts’ folder.
            DraftsPage draftsPage            = homePage.OpenDrafts();
            string     subjectOfCreatedDraft = draftsPage.GetMailSubjectText(this.subject);

            Assert.AreEqual(this.subject, subjectOfCreatedDraft, "Draft wasn't saved");

            // Verify the draft content(addressee, subject and body – should be the same as in 3).
            emailPage = draftsPage.OpenMailBySubject(this.subject);
            string draftBody    = emailPage.GetBodyText();
            string draftMailTo  = emailPage.GetDraftMailToText();
            string draftSubject = emailPage.GetDraftSubjectText();

            StringAssert.Contains(this.mailTo, draftMailTo, "TO value is not expected");
            StringAssert.Contains(this.subject, draftSubject, "Subject value is not expected");
            StringAssert.Contains(this.text, draftBody, "Body value is not expected");

            // Send the mail.
            emailPage.SendDraft();

            // Verify, that the mail disappeared from ‘Drafts’ folder.
            draftsPage.RefreshPage();
            bool isDraftDisplayed = draftsPage.IsMailDisplayed(this.subject);

            Assert.IsFalse(isDraftDisplayed);

            // Verify, that the mail is in ‘Sent’ folder.
            SentPage sentPage          = draftsPage.OpenSent();
            string   subjectOfSentMail = sentPage.GetMailSubjectText(this.subject);

            Assert.AreEqual(this.subject, subjectOfSentMail, "Mail is not in 'Sent' folder");

            // Log out.
            sentPage.Logout();
        }
        public void TestSmokeEmail()
        {
            User user = usercreator.Create(login, password);

            //Login to the mail.ru
            HomePage  homePage  = new HomePage();
            InboxPage inboxPage = homePage.Login(user);

            //Assert a user is logged in
            Assert.IsTrue(inboxPage.IsSucessfullyLoggedIn(), "User is not logged in");

            //Create a new mail
            EmailPage emailPage = inboxPage.ClickCreateNewMessageButton();

            email = new DraftEmail(email);

            //Navigate to DraftsPage
            NavigationMenu navigationMenu = new NavigationMenu();
            DraftsPage     draftsPage     = navigationMenu.NavigateToDrafts();

            //Open Draft Email on DraftsPage
            emailPage = draftsPage.ClickDraftEmail(email);

            //Verify the draft content (addressee, subject and body – should be the same)
            Assert.IsTrue(emailPage.GetAddress().Equals(address), "Address is wrong.");
            Assert.IsTrue(emailPage.GetSubject().Equals(email.subject), "Message subject doesn't match");
            Assert.IsTrue(emailPage.GetMessage().Contains(expectedTestBody), "Message is incorrect.");

            //Send the mail
            emailPage.ClickSendEmailButton();

            // Verify the email is sent message
            //Assert.IsTrue(emailPage.GetVerificationMessage().Contains(ExpectedMessage));

            //Navigate to DraftsPage and verify, that the mail disappeared from ‘Drafts’ folder
            draftsPage = navigationMenu.NavigateToDrafts();
            draftsPage.WaitForEmailDisappearedBySubject(email.subject);
            Assert.IsFalse(draftsPage.IsEmailPresentBySubject(email.subject));

            //Navigate to SentPage
            SentPage sentPage = navigationMenu.NavigateToSent();

            //Verify, that the mail presents in ‘Sent’ folder.
            sentPage.WaitForEmailinSentFolder(subject);
            Assert.IsTrue(sentPage.IsEmailPresentBySubject(email.subject));

            //Log out
            navigationMenu.LogOut();
        }
Exemple #13
0
        public void TestSmokeEmail()
        {
            //Login to the mail.ru
            HomePage homePage = new HomePage();

            homePage.Login(login, password);

            //Assert, that the login is successful
            InboxPage inboxPage = new InboxPage();

            inboxPage.ClickCreate();

            //Create a new mail
            EmailPage emailPage = new EmailPage();

            emailPage.CreateDraftEmail(address, subject, expectedTestBody);

            //Navigate to DraftsPage
            NavigationMenu navigationMenu = new NavigationMenu();
            DraftsPage     draftsPage     = navigationMenu.NavigateToDrafts();

            //Verify, that the mail presents in ‘Drafts’ folder.
            draftsPage.ClickDraftEmail(subject);

            //Verify the draft content (addressee, subject and body – should be the same)
            emailPage = new EmailPage();
            emailPage.CheckEmailFields(address, subject, expectedTestBody);

            //Send the mail
            emailPage.SendEmail();

            //Navigate to DraftsPage and verify, that the mail disappeared from ‘Drafts’ folder
            draftsPage = navigationMenu.NavigateToDrafts();
            draftsPage.CheckDisappearedEmail(subject);

            //Navigate to SentPage
            SentPage sentPage = navigationMenu.NavigateToSent();

            //Verify, that the mail presents in ‘Sent’ folder.
            sentPage.CheckSentEmail(subject);

            //Log out
            homePage = navigationMenu.LogOut();
        }
Exemple #14
0
        public void CreateNewMail()
        {
            var loginPage = new LoginPage(Driver.Instance);

            loginPage.Navigate();
            var inboxPage = loginPage.Login(Login, Password);

            Assert.That(Driver.Instance.Url.Contains("https://e.mail.ru/messages/inbox/"), $"Bad login =(  {Driver.Instance.Url}");

            //inboxPage.MoveMessageToDraftsFolder();

            var newMailPage = new NewMailPage(Driver.Instance);

            newMailPage.Navigate();
            newMailPage.FillTo(EMailAdress);
            newMailPage.FillSubject(Subject);
            newMailPage.FillMessage(Message);
            newMailPage.SaveAsDraft();
            var draftsPage = newMailPage.NavigateToDraftsPage();

            Assert.That(draftsPage.HasMail(EMailAdress, Subject), "Drafts folder don't contain mail");

            var mailPage = draftsPage.OpenMail(EMailAdress, Subject);
            var to       = mailPage.GetTo();
            var subject  = mailPage.GetSubject();
            var message  = mailPage.GetMessage();

            Assert.That(to == EMailAdress && subject == Subject && message == Message, $"Message is not equal to the original message. 1: {to}, 2:{subject}, 3:{message}");

            mailPage.SendMail();
            draftsPage.Navigate();
            Assert.That(!draftsPage.HasMail(EMailAdress, Subject), "Message is not deleted from Drafts folder");

            var sentPage = new SentPage(Driver.Instance);

            sentPage.Navigate();
            var hasMail   = sentPage.HasMail(EMailAdress, Subject);
            var mailTitle = sentPage.HoverOnMail(EMailAdress, Subject);

            Assert.That(hasMail && mailTitle == EMailAdress, "Sent folder don't contain Message");

            sentPage.DeleteMail(EMailAdress, Subject);
            sentPage.LogOut();
        }
        public void DragAndDropEmailTest()
        {
            new StartPage().Login(new User(LogIn, Password));
            new InboxPage().GoToSentPage();

            var sentPage = new SentPage();

            sentPage.DeleteAllSent();
            sentPage.GoToNewEmailPage();

            var emailPage = new EmailPage();

            emailPage.CreateANewEmail(new Email(EmailAddress, EmailSubject, EmailText));
            emailPage.SendEmail();
            emailPage.GoToSentPage();
            sentPage.DragAndDropFromSentToDelete();

            Assert.IsFalse(sentPage.SentEmailExist());
        }
Exemple #16
0
        public void DragAndDropEmailTest()
        {
            var startForm = new StartPage();

            startForm.Login(LogIn, Password);
            var inboxForm = new InboxPage();

            inboxForm.GoToSentPage();
            var sentForm = new SentPage();

            sentForm.DeleteAllSent();
            sentForm.GoToNewEmailPage();
            var emailForm = new EmailPage();

            emailForm.CreateANewEmail(EmailAddress, EmailSubject, EmailText);
            emailForm.SendEmail();
            emailForm.GoToSentPage();
            sentForm.DragAndDropFromSentToDelete();

            Assert.IsFalse(sentForm.SentEmailExist());
        }
Exemple #17
0
        public void CreateNewMail()
        {
            var startPage = new StartPage(Driver.Instance);

            startPage.Navigate();
            startPage.FillLogin(Login);
            startPage.FillPassword(Password);
            var inboxPage = startPage.Login();

            Assert.That(Driver.Instance.Url == "https://e.mail.ru/messages/inbox/?back=1", "Bad login =(");

            var newMailPage = inboxPage.NavigateToNewMailPage();

            newMailPage.FillTo(EMailAdress);
            newMailPage.FillSubject(Subject);
            newMailPage.FillMessage(Message);
            newMailPage.SaveAsDraft();
            var draftsPage = newMailPage.NavigateToDraftsPage();

            Assert.That(draftsPage.HasMail(EMailAdress, Subject), "Drafts folder don't contain mail");

            var mailPage = draftsPage.OpenMail(EMailAdress, Subject);
            var to       = mailPage.GetTo();
            var subject  = mailPage.GetSubject();
            var message  = mailPage.GetMessage();

            Assert.That(to == EMailAdress && subject == Subject && message == Message, $"Message is not equal to the original message");

            mailPage.SendMail();
            draftsPage.Navigate();
            Assert.That(!draftsPage.HasMail(EMailAdress, Subject), "Message is not deleted from Drafts folder");

            var sentPage = new SentPage(Driver.Instance);

            sentPage.Navigate();
            Assert.That(sentPage.HasMail(EMailAdress, Subject), "Sent folder don't contain Message");

            sentPage.DeleteMail(EMailAdress, Subject);
            sentPage.LogOut();
        }
        public void TestDeleteEmail()
        {
            User user = usercreator.Create(login, password);

            //Login to the mail.ru
            HomePage  homePage  = new HomePage();
            InboxPage inboxPage = homePage.Login(user);

            //Assert a user is logged in
            Assert.IsTrue(inboxPage.IsSucessfullyLoggedIn(), "User is not logged in");

            //Create a new mail
            EmailPage emailPage = inboxPage.ClickCreateNewMessageButton();

            email = new DraftEmail(email);

            //Send the mail
            emailPage.ClickSendEmailButton();

            //Navigate to SentPage
            NavigationMenu navigationMenu = new NavigationMenu();
            SentPage       sentPage       = navigationMenu.NavigateToSent();

            //Verify, that the mail presents in ‘Sent’ folder.
            sentPage.WaitForEmailinSentFolder(subject);

            //Delete the mail from Sent folder
            //sentPage.DeleteEmail(subject);

            //Delete email dragging to the trash bin
            sentPage.DragEmailToTrashBin(subject);

            //Navigate to recycle bin
            RecycleBinPage recyclePage = navigationMenu.NavigateToRecycle();

            //Verify, that the mail presents in ‘Recycle bin’ folder.
            recyclePage.WaitForDeletedEmail(subject);
        }
Exemple #19
0
        public void TestDeleteEmail()
        {
            //Login to the mail.ru
            HomePage homePage = new HomePage();

            homePage.Login(login, password);

            //Assert, that the login is successful
            InboxPage inboxPage = new InboxPage();

            inboxPage.ClickCreate();

            //Create a new mail
            EmailPage emailPage = new EmailPage();

            emailPage.CreateDraftEmail(address, subject, expectedTestBody);

            //Send the mail
            emailPage.SendEmail();

            //Navigate to SentPage
            NavigationMenu navigationMenu = new NavigationMenu();
            SentPage       sentPage       = navigationMenu.NavigateToSent();

            //Verify, that the mail presents in ‘Sent’ folder.
            sentPage.CheckSentEmail(subject);

            //Delete the mail from Sent folder
            sentPage.DeleteEmail(subject);

            //Navigate to recycle bin
            RecycleBinPage recyclePage = navigationMenu.NavigateToRecycle();

            //Verify, that the mail presents in ‘Recycle bin’ folder.
            recyclePage.CheckDeletedEmail(subject);
        }
 public void ThenTheEmailIsSent()
 {
     emailPage.GoToSentPage();
     sentPage = new SentPage();
     Assert.IsTrue(sentPage.SentEmailExist());
 }