Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- https://accounts.google.com/signin/v2/identifier?service=mail&passive=true&rm=false&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F%3Ftab%3Dwm&scc=1<mpl=default<mplcache=2&emr=1&osid=1&flowName=GlifWebSignIn&flowEntry=ServiceLogin
- package webPageObjects;
- import org.apache.logging.log4j.LogManager;
- import org.apache.logging.log4j.Logger;
- import org.openqa.selenium.By;
- import org.openqa.selenium.JavascriptExecutor;
- import org.openqa.selenium.WebDriver;
- import org.openqa.selenium.WebElement;
- import org.openqa.selenium.interactions.Actions;
- import org.openqa.selenium.support.ui.ExpectedConditions;
- import org.openqa.selenium.support.ui.WebDriverWait;
- public class Gmail {
- final static Logger log = LogManager.getLogger(SignUp_Page.class);
- static By loginemail = By.cssSelector("div.Xb9hP>input.whsOnd.zHQkBf");
- static By nextbtn = By.cssSelector("div#identifierNext>content.CwaK9>span.RveJvd.snByac");
- static By pwd = By.cssSelector("div#password>div.aCsJod.oJeWuf>div.aXBtI.Wic03c>div.Xb9hP>input.whsOnd.zHQkBf");
- static By pwdnextbtn = By.cssSelector("div#passwordNext>content.CwaK9>span.RveJvd.snByac");
- static By searchemailfield = By.cssSelector("input#gbqfq");
- static By searchemailbutton = By.cssSelector("button#gbqfb");
- static By emailfrom = By.xpath(".//table[@class='F cf zt']/tbody/tr[1]/td[4]/div[2]/span");
- static By emailtitle = By.cssSelector("table.F.cf.zt>tbody>tr:nth-of-type(1)>td:nth-of-type(6)>div>div>div:nth-of-type(2)>span:nth-of-type(1)>b");
- static By thankyoutext1 = By.xpath("(.//sup[1]/parent::td)[1]");//Thank you for registering for
- //alternate By.cssSelector("td.m_-5217904043742698481message_header3.m_-5217904043742698481content");
- static By emailtext = By.xpath(".//strong/parent::td"); //Your username is:
- static By deleteemailbtn = By.cssSelector("div.T-I.J-J5-Ji.nX.T-I-ax7.T-I-Js-Gs.ar7>div.asa>div.ar9.T-I-J3.J-J5-Ji");
- static By expandmorebtn = By.cssSelector("span.CJ");
- static By trashlink = By.cssSelector("a[title='Trash']");
- static By emptytrashnowlink = By.cssSelector("span.x2[role='button']");
- static By emptytrashokbtn = By.name("ok");
- public static String [] checkRegisterEmail (WebDriver webdriver, String email, String gmailpwd, String gmailsearch) throws InterruptedException
- {
- webdriver.get("https://accounts.google.com/signin/v2/identifier?service=mail&passive=true&rm=false&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F%3Ftab%3Dwm&scc=1<mpl=default<mplcache=2&emr=1&osid=1&flowName=GlifWebSignIn&flowEntry=ServiceLogin");
- WebDriverWait wait = new WebDriverWait (webdriver, 90);
- wait.until(ExpectedConditions.elementToBeClickable(loginemail));
- wait.until(ExpectedConditions.elementToBeClickable(nextbtn));
- WebElement login = webdriver.findElement(loginemail);
- login.clear();
- login.sendKeys(email);
- WebElement next1 = webdriver.findElement(nextbtn);
- next1.click();
- wait.until(ExpectedConditions.elementToBeClickable(pwd));
- WebElement password = webdriver.findElement(pwd);
- password.click();
- password.clear();
- password.sendKeys(gmailpwd);
- wait.until(ExpectedConditions.elementToBeClickable(pwdnextbtn));
- WebElement next2 = webdriver.findElement(pwdnextbtn);
- next2.click();
- wait.until(ExpectedConditions.elementToBeClickable(searchemailfield));
- wait.until(ExpectedConditions.elementToBeClickable(searchemailbutton));
- WebElement search_field = webdriver.findElement(searchemailfield);
- search_field.click();
- search_field.clear();
- search_field.sendKeys(gmailsearch);
- WebElement searchbtn = webdriver.findElement(searchemailbutton);
- searchbtn.click();
- //Wait up to 3 minutes for registration email to come into gmail inbox.
- WebDriverWait wait2 = new WebDriverWait (webdriver, 240);
- wait2.until(ExpectedConditions.presenceOfElementLocated(emailfrom));
- wait2.until(ExpectedConditions.elementToBeClickable(emailtitle));
- WebElement email_from = webdriver.findElement(emailfrom);
- WebElement email_title = webdriver.findElement(emailtitle);
- String xomename = email_from.getAttribute("innerHTML");
- String welcometoxome = email_title.getText();
- String [] emailarray = new String [4];
- emailarray[0] = xomename;
- emailarray[1]= welcometoxome;
- email_title.click();
- wait.until(ExpectedConditions.presenceOfElementLocated(thankyoutext1));
- wait.until(ExpectedConditions.presenceOfElementLocated(emailtext));
- WebElement thankyou1 = webdriver.findElement(thankyoutext1);
- WebElement yourusernameis = webdriver.findElement(emailtext);
- String thanks = thankyou1.getText();
- String yourusername = yourusernameis.getText();
- emailarray[2] = thanks;
- emailarray[3] = yourusername;
- return emailarray;
- }
- public static void deleteGmail (WebDriver webdriver) throws InterruptedException
- {
- WebDriverWait wait = new WebDriverWait (webdriver, 60);
- WebElement deletebtn = wait.until(ExpectedConditions.elementToBeClickable(deleteemailbtn));
- //WebElement deletebtn = webdriver.findElement(deleteemailbtn);
- //deletebtn.click();
- JavascriptExecutor jse = (JavascriptExecutor)webdriver;
- //jse.executeScript("arguments[0].scrollIntoView(true);", deletebtn);
- //jse.executeScript("arguments[0].click();", deletebtn);
- Actions action = new Actions(webdriver);
- action.moveToElement(deletebtn).click().perform();
- /***
- jse.executeScript("arguments[0].scrollIntoView(true);", deletebtn);
- String javaScript = "var evObj = document.createEvent('MouseEvents');" +
- "evObj.initMouseEvent("mouseover",true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);" +
- "arguments[0].dispatchEvent(evObj);";
- jse.executeScript(javaScript, deletebtn);
- jse.executeScript("arguments[0].click();", deletebtn);
- jse.executeScript("var clickEvent = document.createEvent('MouseEvents');clickEvent.initEvent('onmouseover', true, true); arguments[0].dispatchEvent(clickEvent);", deletebtn);
- ***/
- Thread.sleep(1000);
- wait.until(ExpectedConditions.presenceOfElementLocated(expandmorebtn));
- WebElement morebtn = webdriver.findElement(expandmorebtn);
- jse.executeScript("arguments[0].scrollIntoView(true);", morebtn);
- jse.executeScript("arguments[0].click();", morebtn);
- Thread.sleep(1000);
- wait.until(ExpectedConditions.elementToBeClickable(trashlink));
- WebElement trash_link = webdriver.findElement(trashlink);
- jse.executeScript("arguments[0].scrollIntoView(true);", trash_link );
- jse.executeScript("arguments[0].click();", trash_link );
- Thread.sleep(1000);
- wait.until(ExpectedConditions.elementToBeClickable(emptytrashnowlink));
- WebElement emptytrashnow = webdriver.findElement(emptytrashnowlink);
- emptytrashnow.click();
- wait.until(ExpectedConditions.elementToBeClickable(emptytrashokbtn));
- WebElement emptytrashok_btn = webdriver.findElement(emptytrashokbtn);
- emptytrashok_btn.click();
- }
- }
- package webTests;
- import java.io.IOException;
- import java.sql.Timestamp;
- import java.util.Date;
- import org.apache.logging.log4j.LogManager;
- import org.apache.logging.log4j.Logger;
- import org.testng.Assert;
- import org.testng.annotations.Test;
- import org.testng.asserts.SoftAssert;
- import base.TestBase;
- import common.ScreenshotURL;
- import webPageObjects.Gmail;
- import webPageObjects.SignUp_Page;
- public class SignUp_NewUser extends TestBase{
- static SoftAssert softAssert = new SoftAssert();
- final static Logger log = LogManager.getLogger(SignUp_NewUser.class);
- static String className = SignUp_NewUser.class.getSimpleName();
- static Date date1= new Date();
- static String originaltimestamp = new Timestamp(date1.getTime()).toString();
- static String timestamp = originaltimestamp.replace(':', 'x').substring(11);
- static String foldername = className+timestamp;
- static String errorname = "";
- static String picinfo = "";
- @Test(dataProvider = "getData")
- public void signUp_NewUser (String firstname, String lastname, String email, String password, String gmailpwd, String gmailsearch) throws IOException, InterruptedException
- {
- SignUp_Page.clickSignUp(webdriver);
- String [] signedupnewuser = SignUp_Page.testSignUpNewUser(webdriver, firstname, lastname, email, password);
- String signedupemail = signedupnewuser[0];
- try{
- Assert.assertEquals(signedupnewuser[1], "AMY FOWLER");
- }
- catch(AssertionError e)
- {
- log.error("Didn't sign up AmyFowler.", e.getMessage());
- errorname = "didntsignupAmyFowler";
- ScreenshotURL.screenshotURL(webdriver, foldername, errorname);
- softAssert.fail();
- }
- String [] registrationemail = Gmail.checkRegisterEmail(webdriver, email, gmailpwd, gmailsearch);
- try{
- Assert.assertEquals(registrationemail[0], "Xome Inc.");
- }
- catch(AssertionError e)
- {
- log.error("Didn't get Xome Inc.", e.getMessage());
- errorname = "didntgetXomeInc";
- ScreenshotURL.screenshotURL(webdriver, foldername, errorname);
- softAssert.fail();
- }
- try{
- Assert.assertEquals(registrationemail[1], "Welcome to Xome!");
- }
- catch(AssertionError e)
- {
- log.error("Didn't get Welcome to Xome!", e.getMessage());
- errorname = "didntgetWelcometoXome";
- ScreenshotURL.screenshotURL(webdriver, foldername, errorname);
- softAssert.fail();
- }
- String registrationemailtext = registrationemail[2]+"n"+registrationemail[3];
- log.info("Registrationemailtext is "+registrationemailtext);
- try {
- Assert.assertEquals(registrationemailtext, "Thank you for registering for Xome®.n"+"Your username is: "+signedupemail);
- //Capture a picture of the email for backup, then delete the email to clean up for next test run.
- picinfo="BackupCopyOfPassingRegistrationEmail";
- ScreenshotURL.backupCopyScreenshot(webdriver, foldername, picinfo);
- Gmail.deleteGmail(webdriver);
- }
- catch(AssertionError e)
- {
- log.error("Didn't get correct email registration text.", e.getMessage());
- errorname = "didntgetcorrectemailregistrationtext";
- ScreenshotURL.screenshotURL(webdriver, foldername, errorname);
- softAssert.fail();
- }
- softAssert.assertAll();
- }
- }
Add Comment
Please, Sign In to add comment