0

Every thing works fine but the webdriver is not shifting focus to second tab after opening yopmail earlier shifting from one window and focussing from one window is working fine but focus on second tab is not working I am using arraylist for this rest of the codes is fine only focussing on second tab is not working

package Rolesandpermissions;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;

import java.awt.*;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.concurrent.TimeUnit;

public class Inviteuserbyemail {
    public static void main(String[] args) throws InterruptedException, AWTException {
        System.setProperty("webdriver.chrome.driver", "Path to chromedriver");
        WebDriver driver = new ChromeDriver();
        String windowHandle = driver.getWindowHandle();
        driver.get("URL");
        driver.navigate().forward();
        driver.manage().window().maximize();
        driver.navigate().forward();
        driver.manage().timeouts().implicitlyWait(7, TimeUnit.SECONDS);
        driver.findElement(By.xpath("//*[@id=\"formBasicEmail\"]")).sendKeys("good@yopmail.com");
        driver.navigate().forward();
        driver.findElement(By.name("password")).sendKeys("Qwerty@10");
        driver.manage().timeouts().implicitlyWait(7, TimeUnit.SECONDS);
        driver.navigate().forward();
        driver.findElement(By.className("checkmark")).click();
        driver.manage().timeouts().implicitlyWait(7, TimeUnit.SECONDS);
        driver.findElement(By.xpath("//*[@id=\"root\"]/div/div[2]/div/div/div[1]/div/div/form/button")).click();
        driver.navigate().forward();
        Thread.sleep(7000);
        driver.findElement(By.xpath("/html/body/div/div/div[1]/ul/li[2]/a")).click();
        Thread.sleep(4000);
        driver.findElement(By.xpath("/html/body/div/div/div[2]/div[3]/div/div/div/div")).click();
        driver.navigate().forward();
        Thread.sleep(8000);
        driver.findElement(By.xpath("//button[@class=\"NewUserWrap secondaryBtn\"]")).click();
        Thread.sleep(2000);
        driver.findElement(By.name("email")).sendKeys("Hond@yopmail.com");
        Thread.sleep(2000);
        driver.findElement(By.xpath("/html/body/div[3]/div/div/form/div[2]/div[2]/div/div/div[1]/input[1]")).click();
        Thread.sleep(2000);
        driver.findElement(By.xpath("/html/body/div[3]/div/div/form/div[2]/div[2]/div/div/div[2]/a[6]")).click();
        driver.findElement(By.id("teams")).click();
        Thread.sleep(5000);
        driver.findElement(By.xpath("/html/body/div[3]/div/div/form/div[2]/div[3]/div/div/div/div/div/span[1]")).click();
        Thread.sleep(2000);
        driver.findElement(By.xpath("//button[@class=\"btn btn-primary\"]")).click();
        Thread.sleep(2000);
        driver.manage().deleteAllCookies();
        // If you want to sign out //
        driver.findElement(By.xpath("//img[@class=\"rounded-circle\"]")).click();
        driver.findElement(By.xpath("//a[@href=\"#\"]")).click();
        Thread.sleep(2000);
        driver.switchTo().newWindow(WindowType.WINDOW);
        // User has received invitation //
        driver.get("http://www.yopmail.com");
        driver.findElement(By.xpath("//*[@id=\"login\"]")).sendKeys("Bond@yopmail.com"); //replace the test email
        driver.findElement(By.xpath("/html/body/div[1]/div[2]/main/div[3]/div/div[1]/div[2]/div/div/form/div/div/div[4]/button/i\n")).click();
        Thread.sleep(4000);
        driver.manage().window().maximize();
        driver.switchTo().frame("ifmail");
        driver.findElement(By.linkText("URL")).click();
        ArrayList<String> tabs2 = new ArrayList<String>(driver.getWindowHandles());
        driver.switchTo().window(tabs2.get(1));
        driver.navigate().forward();
        Thread.sleep(8000);
        driver.findElement(By.className("form-control")).sendKeys("Victorious");
        Thread.sleep(4000);
        driver.findElement(By.name("email")).sendKeys("Bond@yopmail.com");
        Thread.sleep(2000);
        driver.findElement(By.className("checkmark")).click();
        Thread.sleep(2000);
        driver.findElement(By.xpath("//*[@id=\"root\"]/div/div[2]/div/div[1]/div/div/form/button")).click();
        //driver.findElement(By.xpath("/html/body/div/div/div[2]/div/div/div[1]/div/div/p/a")).click();
        driver.navigate().forward();
        driver.findElement(By.xpath("//*[@id=\"fullName\"]")).sendKeys("Victorious");
        driver.navigate().forward();
        driver.findElement(By.name("email")).sendKeys("Bond@yopmail.com");
        driver.navigate().forward();
        driver.findElement(By.className("checkmark")).click();
        driver.findElement(By.xpath("//*[@id=\"root\"]/div/div[2]/div/div[1]/div/div/form/button")).click();
        //perform other operations.
        Robot r = new Robot();
        r.keyPress(KeyEvent.VK_CONTROL);
        r.keyPress(KeyEvent.VK_T);
        r.keyRelease(KeyEvent.VK_CONTROL);
        r.keyRelease(KeyEvent.VK_T);
        driver.switchTo().window(tabs2.get(0));
        driver.get("http://www.yopmail.com");
        driver.findElement(By.xpath("//*[@id=\"login\"]")).sendKeys("Bond@yopmail.com"); //replace the test email
        driver.findElement(By.xpath("/html/body/div[1]/div[2]/main/div[3]/div/div[1]/div[2]/div/div/form/div/div/div[4]/button/i\n")).click();
        driver.switchTo().frame("ifmail");
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
        String strCode = driver.findElement(By.xpath("//*[@id=\"mail\"]/div/table/tbody/tr[3]/td/table/tbody/tr[1]/td/table/tbody/tr[5]/td/span")).getText(); //replace the locator for verification code
        System.out.println("----------------");
        System.out.println(strCode);
        System.out.println("----------------");
        Actions actions = new Actions(driver);
        actions.sendKeys(Keys.chord(Keys.LEFT_CONTROL, "c")).build().perform();
        driver.switchTo().window(tabs2.get(1));
        //driver.manage().timeouts().implicitlyWait(60,TimeUnit.SECONDS);
        driver.navigate().forward();
         driver.findElement(By.id("code1")).sendKeys(strCode);
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
        int i;
        for (i = 1; i <= 6; i++) {
            driver.navigate().forward();
            driver.manage().timeouts().implicitlyWait(4, TimeUnit.SECONDS);
            driver.findElement(By.xpath("//button[@class=\"otp btn btn-primary\"]")).click();
            driver.navigate().forward();
            driver.findElement(By.xpath("//input[@name=\"newPassword\"]")).sendKeys("Qwerty@10");
            driver.navigate().forward();
            driver.findElement(By.xpath("//input[@name=\"comfirmNewPass\"] ")).sendKeys("Qwerty@10");
            driver.navigate().forward();
            driver.findElement(By.xpath("//button[@class=\"otp btn btn-primary\"]")).click();
            driver.navigate().forward();
            driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
            driver.findElement(By.name("email")).sendKeys("Bond@yopmail.com");
            driver.navigate().forward();
            driver.findElement(By.name("password")).sendKeys("Qwerty@10");
            driver.navigate().forward();
            driver.findElement(By.xpath("//span[@class=\"checkmark\"]")).click();
            driver.navigate().forward();
            driver.findElement(By.xpath("//button[@class=\"btn btn-primary\"]")).click();
            Thread.sleep(1000);
            driver.findElement(By.xpath("/html/body/div/div/div[1]/ul/li[1]/a")).click();
            //New Team Creation //
            /*driver.findElement(By.xpath("(//span[@class=\"toggleHide\"])[2]")).click();
            Thread.sleep(2000);
            driver.findElement(By.xpath("//button[@class=\"NewUserWrap secondaryBtn\"]")).click();
            Thread.sleep(2000);
            driver.findElement(By.name("teamLogo")).sendKeys("tunnel.jpg");
            Thread.sleep(2000);
            driver.findElement(By.name("name")).sendKeys("Great");
            Thread.sleep(2000);
            driver.findElement(By.xpath("//textarea[@name=\"description\"]")).sendKeys("T");
            Thread.sleep(4000);
            driver.findElement(By.xpath("/html/body/div[3]/div/div/form/div[3]/button[2]")).click();*/
            // User click on joining a team //
            Thread.sleep(4000);
            driver.findElement(By.xpath("/html/body/div/div/div[2]/div[2]/div[2]/span/div/button")).click();


        }
    }
}
Bug Hunter
  • 21
  • 5
  • Your question has already been answered: https://stackoverflow.com/questions/12729265/switch-tabs-using-selenium-webdriver-with-java – Alex_X1 Jan 09 '23 at 12:25

0 Answers0