В моем классе всего четыре метода
Я создал статический WebDriver
объект
static WebDriver driver;
Метод 1: вход на сайт (здесь я инициализирую WebDriver driver=new new FirefoxDriver();
)
Способ 2. Щелкните ссылку на сайте (с помощью драйвера WebDriver). При нажатии открывается ссылка в новой вкладке в том же браузере
Метод 3:
СейчасВ методе 3 я переключаюсь на новую вкладку и выполняю некоторые действия с веб-элементом на новой вкладке
Ниже код используется для перехода на новую вкладку
ArrayList<String> tabss = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabss.get(1));
Метод 4: Опять хочучтобы выполнить еще какое-то действие в новой вкладке
Теперь мне нужен тот же экземпляр драйвера (вкладка), который использовался в способе 3 в способе 4.
Как мне получить
Если я использую «драйвер» в методе 4, он будет нулевым.
public class download {
static WebDriver driver;
@Test
public static void login() throws InterruptedException
{
driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.get("__site__");
driver.findElement(By.id("login-email")).sendKeys("__username__");
driver.findElement(By.id("login-password")).sendKeys("__password__");
driver.findElement(By.id("login-submit")).click();
Thread.sleep(3000);
}
@Test
public static void navigatetolearningpage() throws InterruptedException
{
driver.findElement(By.xpath("//div[@class='relative ember-view']")).click();
Thread.sleep(3000);
}
@Test
public static void search() throws InterruptedException, AWTException
{
ArrayList<String> tabss = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabss.get(1));
driver.findElement(By.xpath("//input[@type='text']")).sendKeys("__searchkeyword__");
Thread.sleep(3000);
driver.findElement(By.xpath("//input[@type='text']")).sendKeys(Keys.RETURN);
Thread.sleep(3000);
driver.findElement(By.xpath("//div[@class='search-facet__label']")).click();
}
@Test
public static void course_list() throws InterruptedException
{
//This driver will print as NULL
System.out.println("last method:"+driver);
}
}