Guest User

Untitled

a guest
Apr 9th, 2018
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.56 KB | None | 0 0
  1. 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
  2.  
  3.  
  4.  
  5. package webPageObjects;
  6.  
  7. import org.apache.logging.log4j.LogManager;
  8. import org.apache.logging.log4j.Logger;
  9. import org.openqa.selenium.By;
  10. import org.openqa.selenium.JavascriptExecutor;
  11. import org.openqa.selenium.WebDriver;
  12. import org.openqa.selenium.WebElement;
  13. import org.openqa.selenium.interactions.Actions;
  14. import org.openqa.selenium.support.ui.ExpectedConditions;
  15. import org.openqa.selenium.support.ui.WebDriverWait;
  16.  
  17. public class Gmail {
  18.  
  19. final static Logger log = LogManager.getLogger(SignUp_Page.class);
  20.  
  21. static By loginemail = By.cssSelector("div.Xb9hP>input.whsOnd.zHQkBf");
  22. static By nextbtn = By.cssSelector("div#identifierNext>content.CwaK9>span.RveJvd.snByac");
  23. static By pwd = By.cssSelector("div#password>div.aCsJod.oJeWuf>div.aXBtI.Wic03c>div.Xb9hP>input.whsOnd.zHQkBf");
  24. static By pwdnextbtn = By.cssSelector("div#passwordNext>content.CwaK9>span.RveJvd.snByac");
  25.  
  26. static By searchemailfield = By.cssSelector("input#gbqfq");
  27. static By searchemailbutton = By.cssSelector("button#gbqfb");
  28. static By emailfrom = By.xpath(".//table[@class='F cf zt']/tbody/tr[1]/td[4]/div[2]/span");
  29. 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");
  30. static By thankyoutext1 = By.xpath("(.//sup[1]/parent::td)[1]");//Thank you for registering for
  31. //alternate By.cssSelector("td.m_-5217904043742698481message_header3.m_-5217904043742698481content");
  32. static By emailtext = By.xpath(".//strong/parent::td"); //Your username is:
  33.  
  34. 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");
  35. static By expandmorebtn = By.cssSelector("span.CJ");
  36. static By trashlink = By.cssSelector("a[title='Trash']");
  37. static By emptytrashnowlink = By.cssSelector("span.x2[role='button']");
  38. static By emptytrashokbtn = By.name("ok");
  39.  
  40. public static String [] checkRegisterEmail (WebDriver webdriver, String email, String gmailpwd, String gmailsearch) throws InterruptedException
  41. {
  42. 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");
  43. WebDriverWait wait = new WebDriverWait (webdriver, 90);
  44. wait.until(ExpectedConditions.elementToBeClickable(loginemail));
  45. wait.until(ExpectedConditions.elementToBeClickable(nextbtn));
  46. WebElement login = webdriver.findElement(loginemail);
  47. login.clear();
  48. login.sendKeys(email);
  49. WebElement next1 = webdriver.findElement(nextbtn);
  50. next1.click();
  51.  
  52. wait.until(ExpectedConditions.elementToBeClickable(pwd));
  53. WebElement password = webdriver.findElement(pwd);
  54. password.click();
  55. password.clear();
  56. password.sendKeys(gmailpwd);
  57. wait.until(ExpectedConditions.elementToBeClickable(pwdnextbtn));
  58. WebElement next2 = webdriver.findElement(pwdnextbtn);
  59. next2.click();
  60.  
  61. wait.until(ExpectedConditions.elementToBeClickable(searchemailfield));
  62. wait.until(ExpectedConditions.elementToBeClickable(searchemailbutton));
  63. WebElement search_field = webdriver.findElement(searchemailfield);
  64. search_field.click();
  65. search_field.clear();
  66. search_field.sendKeys(gmailsearch);
  67. WebElement searchbtn = webdriver.findElement(searchemailbutton);
  68. searchbtn.click();
  69.  
  70.  
  71. //Wait up to 3 minutes for registration email to come into gmail inbox.
  72.  
  73. WebDriverWait wait2 = new WebDriverWait (webdriver, 240);
  74. wait2.until(ExpectedConditions.presenceOfElementLocated(emailfrom));
  75. wait2.until(ExpectedConditions.elementToBeClickable(emailtitle));
  76. WebElement email_from = webdriver.findElement(emailfrom);
  77. WebElement email_title = webdriver.findElement(emailtitle);
  78.  
  79. String xomename = email_from.getAttribute("innerHTML");
  80. String welcometoxome = email_title.getText();
  81.  
  82. String [] emailarray = new String [4];
  83. emailarray[0] = xomename;
  84. emailarray[1]= welcometoxome;
  85.  
  86. email_title.click();
  87.  
  88. wait.until(ExpectedConditions.presenceOfElementLocated(thankyoutext1));
  89. wait.until(ExpectedConditions.presenceOfElementLocated(emailtext));
  90.  
  91. WebElement thankyou1 = webdriver.findElement(thankyoutext1);
  92. WebElement yourusernameis = webdriver.findElement(emailtext);
  93.  
  94.  
  95. String thanks = thankyou1.getText();
  96. String yourusername = yourusernameis.getText();
  97.  
  98. emailarray[2] = thanks;
  99. emailarray[3] = yourusername;
  100.  
  101. return emailarray;
  102.  
  103. }
  104.  
  105.  
  106. public static void deleteGmail (WebDriver webdriver) throws InterruptedException
  107. {
  108. WebDriverWait wait = new WebDriverWait (webdriver, 60);
  109. WebElement deletebtn = wait.until(ExpectedConditions.elementToBeClickable(deleteemailbtn));
  110. //WebElement deletebtn = webdriver.findElement(deleteemailbtn);
  111. //deletebtn.click();
  112. JavascriptExecutor jse = (JavascriptExecutor)webdriver;
  113. //jse.executeScript("arguments[0].scrollIntoView(true);", deletebtn);
  114. //jse.executeScript("arguments[0].click();", deletebtn);
  115.  
  116. Actions action = new Actions(webdriver);
  117. action.moveToElement(deletebtn).click().perform();
  118.  
  119. /***
  120. jse.executeScript("arguments[0].scrollIntoView(true);", deletebtn);
  121. String javaScript = "var evObj = document.createEvent('MouseEvents');" +
  122. "evObj.initMouseEvent("mouseover",true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);" +
  123. "arguments[0].dispatchEvent(evObj);";
  124. jse.executeScript(javaScript, deletebtn);
  125. jse.executeScript("arguments[0].click();", deletebtn);
  126. jse.executeScript("var clickEvent = document.createEvent('MouseEvents');clickEvent.initEvent('onmouseover', true, true); arguments[0].dispatchEvent(clickEvent);", deletebtn);
  127. ***/
  128.  
  129. Thread.sleep(1000);
  130.  
  131.  
  132.  
  133. wait.until(ExpectedConditions.presenceOfElementLocated(expandmorebtn));
  134. WebElement morebtn = webdriver.findElement(expandmorebtn);
  135. jse.executeScript("arguments[0].scrollIntoView(true);", morebtn);
  136. jse.executeScript("arguments[0].click();", morebtn);
  137. Thread.sleep(1000);
  138.  
  139. wait.until(ExpectedConditions.elementToBeClickable(trashlink));
  140. WebElement trash_link = webdriver.findElement(trashlink);
  141. jse.executeScript("arguments[0].scrollIntoView(true);", trash_link );
  142. jse.executeScript("arguments[0].click();", trash_link );
  143. Thread.sleep(1000);
  144.  
  145. wait.until(ExpectedConditions.elementToBeClickable(emptytrashnowlink));
  146. WebElement emptytrashnow = webdriver.findElement(emptytrashnowlink);
  147. emptytrashnow.click();
  148.  
  149. wait.until(ExpectedConditions.elementToBeClickable(emptytrashokbtn));
  150. WebElement emptytrashok_btn = webdriver.findElement(emptytrashokbtn);
  151. emptytrashok_btn.click();
  152.  
  153. }
  154.  
  155. }
  156.  
  157. package webTests;
  158.  
  159. import java.io.IOException;
  160. import java.sql.Timestamp;
  161. import java.util.Date;
  162. import org.apache.logging.log4j.LogManager;
  163. import org.apache.logging.log4j.Logger;
  164. import org.testng.Assert;
  165. import org.testng.annotations.Test;
  166. import org.testng.asserts.SoftAssert;
  167. import base.TestBase;
  168. import common.ScreenshotURL;
  169. import webPageObjects.Gmail;
  170. import webPageObjects.SignUp_Page;
  171.  
  172. public class SignUp_NewUser extends TestBase{
  173.  
  174.  
  175. static SoftAssert softAssert = new SoftAssert();
  176. final static Logger log = LogManager.getLogger(SignUp_NewUser.class);
  177.  
  178.  
  179. static String className = SignUp_NewUser.class.getSimpleName();
  180. static Date date1= new Date();
  181. static String originaltimestamp = new Timestamp(date1.getTime()).toString();
  182. static String timestamp = originaltimestamp.replace(':', 'x').substring(11);
  183. static String foldername = className+timestamp;
  184. static String errorname = "";
  185. static String picinfo = "";
  186.  
  187.  
  188. @Test(dataProvider = "getData")
  189. public void signUp_NewUser (String firstname, String lastname, String email, String password, String gmailpwd, String gmailsearch) throws IOException, InterruptedException
  190. {
  191.  
  192. SignUp_Page.clickSignUp(webdriver);
  193. String [] signedupnewuser = SignUp_Page.testSignUpNewUser(webdriver, firstname, lastname, email, password);
  194. String signedupemail = signedupnewuser[0];
  195. try{
  196. Assert.assertEquals(signedupnewuser[1], "AMY FOWLER");
  197. }
  198. catch(AssertionError e)
  199. {
  200. log.error("Didn't sign up AmyFowler.", e.getMessage());
  201. errorname = "didntsignupAmyFowler";
  202. ScreenshotURL.screenshotURL(webdriver, foldername, errorname);
  203. softAssert.fail();
  204. }
  205.  
  206. String [] registrationemail = Gmail.checkRegisterEmail(webdriver, email, gmailpwd, gmailsearch);
  207.  
  208. try{
  209. Assert.assertEquals(registrationemail[0], "Xome Inc.");
  210. }
  211. catch(AssertionError e)
  212. {
  213. log.error("Didn't get Xome Inc.", e.getMessage());
  214. errorname = "didntgetXomeInc";
  215. ScreenshotURL.screenshotURL(webdriver, foldername, errorname);
  216. softAssert.fail();
  217. }
  218.  
  219. try{
  220. Assert.assertEquals(registrationemail[1], "Welcome to Xome!");
  221. }
  222. catch(AssertionError e)
  223. {
  224. log.error("Didn't get Welcome to Xome!", e.getMessage());
  225. errorname = "didntgetWelcometoXome";
  226. ScreenshotURL.screenshotURL(webdriver, foldername, errorname);
  227. softAssert.fail();
  228. }
  229.  
  230. String registrationemailtext = registrationemail[2]+"n"+registrationemail[3];
  231. log.info("Registrationemailtext is "+registrationemailtext);
  232.  
  233. try {
  234. Assert.assertEquals(registrationemailtext, "Thank you for registering for Xome®.n"+"Your username is: "+signedupemail);
  235.  
  236. //Capture a picture of the email for backup, then delete the email to clean up for next test run.
  237. picinfo="BackupCopyOfPassingRegistrationEmail";
  238. ScreenshotURL.backupCopyScreenshot(webdriver, foldername, picinfo);
  239. Gmail.deleteGmail(webdriver);
  240.  
  241. }
  242. catch(AssertionError e)
  243. {
  244. log.error("Didn't get correct email registration text.", e.getMessage());
  245. errorname = "didntgetcorrectemailregistrationtext";
  246. ScreenshotURL.screenshotURL(webdriver, foldername, errorname);
  247. softAssert.fail();
  248. }
  249.  
  250.  
  251.  
  252. softAssert.assertAll();
  253.  
  254. }
  255. }
Add Comment
Please, Sign In to add comment