I am using Selenium tool for automation and My automation scripts are failing because of this gmail issue.
Not sure, after my automated script sends my Email on Sign In page(https://google.com) usually it should go to
Enter Password page but instead why gmail is navigating to page
where it asks me to "Find Your Email" by entering the recovery email.
Even after i enter all the correct details it still says "cannot find email". Every time i run my script i face the same issue.
I have tried with different Email ID's, irrespective of Email ID whenever i run it from my Automation Script i am redirected to "Find Your Email" page
And if i refresh and enter my Email address manually it identifies my Email Id and navigates to Enter Password Page and works fine
Can Anybody help me resolve this as my website is completely dependent on the link i open it from Email.
I am on Windows using Google Chrome as my web browser.
Please refer to the attached screenshot of the Find Your Email page
CODE:
GMAIL PAGE
[FindsBy(How = How.Id, Using = "identifierId")] public IWebElement gmailUserName { get; set; }
[FindsBy(How = How.Name, Using = "password")] public IWebElement gmailPassWord { get; set; }
[FindsBy(How = How.ClassName, Using = "CwaK9")] public IWebElement gmailNext { get; set; }
public void LaunchGmail()
{
webDriver.Manage().Cookies.DeleteAllCookies();
webDriver.Navigate().GoToUrl("https://gmail.com");
}
public void GmailLogin(int iteration)
{
if (iteration < 1)
{
gmailUserName.SendKeys(ConfigurationManager.AppSettings["GmailUserName"] + "@gmail.com");
gmailNext.Click();
}
Thread.Sleep(2000);
gmailPassWord.SendKeys(ConfigurationManager.AppSettings["GmailPassWord"]);
gmailNext.Click();
}
TESTSETUP PAGE
[Binding]
public class TestSetup
{
public static IWebDriver WebDriver;
Actions myAction;
public static int TestCaseNumber = 0;
public GmailPage _gmailPage = new GmailPage(WebDriver);
[BeforeScenario]
public void BeforeScenario()
{
currentTest = Test.CreateNode("TestName : " + ScenarioContext.Current.ScenarioInfo.Title);
String ScenarioName = ScenarioContext.Current.ScenarioInfo.Title;
WebDriver.Manage().Window.Maximize();
if (ScenarioName.Equals("Scenario Name"))
{
_gmailPage.launchGmail();
_gmailPage.GmailLogin(TestCaseNumber);
_gmailPage.DeleteRegistrationEmail();
_gmailPage.gmailLogout();
}
}
Used Iteration as i launch gmail delete an email and launch my application Register as a user and relaunch Gmail after user Registers in my application user have to complete registration by clicking on the link sent to email to Set Password
Thanks,
Automation Choicez