2016-12-29 64 views
0

我正在使用java的selenium webdriver。我想打開瀏覽器在其中執行一些操作。然後打開另一個瀏覽器並在其中執行相同的操作,然後返回到第一個瀏覽器並執行一些操作。如何在兩個瀏覽器之間切換使用java的selenium webdriver

如何在2個瀏覽器之間切換(而不是在2個標籤之間切換)?

這是我做了什麼:

@BeforeTest 
    public void beforeTest() throws BiffException, IOException,InterruptedException { 
System.setProperty("webdriver.chrome.driver","D:\\MyProjects\\SeleniumTrials\\chromedriver_win32\\chromedriver.exe"); 
     WebDriver driver = new ChromeDriver(); 
     driver.get(properties.getProperty("VAR_BASEURL")); 
     driver.manage().window().maximize(); 
     WebDriver tempDriver = new ChromeDriver(); 
     tempDriver.get(properties.getProperty("VAR_BASEURL")); 
     tempDriver.manage().window().maximize(); 
} 
@Test 
    public void playTournament() throws InterruptedException, BiffException,IOException { 
    int rowNumber = 1; 
    int newRowNumber=2; 
    WebElement login =driver.findElement(By.xpath(properties.getProperty("VAR_LOGIN"))); 
    login.click(); 
    Thread.sleep(1000); 
    WebElement username = driver.findElement(By.xpath(properties.getProperty("VAR_USERNAME"))); 
    username.clear(); 
    username.sendKeys(getCellContent(0, rowNumber)); 
    Thread.sleep(1000); 
    WebElement password = driver.findElement(By.xpath(properties.getProperty("VAR_PASSWORD"))); 
    password.clear(); 
    password.sendKeys(getCellContent(1, rowNumber)); 
    Thread.sleep(1000); 
    WebElement continueButton = driver.findElement(By.xpath(properties.getProperty("VAR_CONTINUE"))); 
    continueButton.click(); 
    Thread.sleep(1000); 

    WebElement login =tempDriver .findElement(By.xpath(properties.getProperty("VAR_LOGIN"))); 
    login.click(); 
    Thread.sleep(1000); 
    WebElement username = tempDriver .findElement(By.xpath(properties.getProperty("VAR_USERNAME"))); 
    username.clear(); 
    username.sendKeys(getCellContent(0, rowNumber)); 
    Thread.sleep(1000); 
    WebElement password = tempDriver .findElement(By.xpath(properties.getProperty("VAR_PASSWORD"))); 
    password.clear(); 
    password.sendKeys(getCellContent(1, rowNumber)); 
    Thread.sleep(1000); 
    WebElement continueButton = tempDriver .findElement(By.xpath(properties.getProperty("VAR_CONTINUE"))); 
    continueButton.click(); 
+0

如何打開第二個瀏覽器?再次使用'new ChromeDriver()'? – Guy

+0

是的..再次打開第二個瀏覽器使用新的ChromeDriver().. – Amrutha

回答

0

一些更多的行動。當你做

WebDriver driver = new ChromeDriver(); 
driver = new ChromeDriver(); 

重新初始化driver實例,女巫意味着你失去了第一個瀏覽器。你可以通過調用getWindowHandles()

driver.getWindowHandles(); // will be 1, the last open browser 

看到它,如果你想不同的瀏覽器使用臨時駕駛

WebDriver driver = new ChromeDriver(); 
WebDriver tempDriver = new ChromeDriver(); 

// do some stuff on tempDriver 

tempDriver.close(); 

// continue working with the first driver 
+0

我已經做到了。代碼與問題一起添加。 – Amrutha

+0

但用戶只能在第二個瀏覽器登錄 – Amrutha

+0

您怎麼知道用戶沒有登錄到第一個瀏覽器?你有什麼錯誤嗎? – code

0

我想這是你在找什麼,

  1. 保持2個瀏覽器對象
  2. 定義哪些做的一組操作的方法在瀏覽器上
  3. 先使用第一個瀏覽器調用此方法,再次使用第二個瀏覽器
  4. 然後對第一個瀏覽器
+0

是的..這是我想要做的。我怎樣才能做到這一點? – Amrutha

相關問題