2012-07-06 35 views

cevap

5

Selenium'un şu anda sekme değiştirme özelliği yoktur. Bu nedenle tarayıcıyı yeni pencerelerde açmaya zorluyoruz, ancak pencereleri değiştirebildiğimiz için tarayıcıyı yaklaşmaya zorluyoruz. Bu , numaralı telefonun

+0

açık, teşekkür ederim – khris

10

'da düzeltilebileceğini gösterir. Selenium, günümüzün sekmelerini değiştirebilme özelliğine sahiptir. Aşağıdaki kod1: firefox için çalışacak, kod2: Robot sınıfını kullanarak IE ve krom için yapabileceğimiz ve kontrolün otomatik olarak mevcut sekmeye geçmediği için pencere sekmeleri yöntemini kullanarak mevcut sekmeye geçmemiz gerekiyor. Aşağıda verilen kod iyi çalışacaktır. Tek tek komut dosyası çalıştırırken, bir paket olarak çalışırken, anahtar kurulu etkinliklerini gerçekleştirirken acıyı hissedebilirsiniz. Bunu önlemek için selenium-Java'da javascript executor kullanarak kullanıcı tanımlı javascript yöntemini kullanarak başka bir olasılıkla gitmemiz gerekiyor.

Pencereler ve sekmeler arasında, açtığımız her bir pencere için ayrılan adı tanımlayarak ve ad alfasayısal karakterde olacak şekilde geçiş yapabiliriz.

***Code 1*** 
    //First tab(default tab) 
    driver.navigate().to("http://www.google.com"); 
    driver.manage().window().maximize(); 

    //second tab 
    driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "t"); 
    driver.navigate().to("https://yahoo.com"); 

    //third tab 
    driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "t"); 
    driver.navigate().to("http://www.google.com"); 

    //move to very first tab. 
    driver.findElement(By.cssSelector("body")) 
      .sendKeys(Keys.CONTROL + "\t"); 

    // To close the current tab.  
    driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "w"); 
    **code 2** 
    driver.navigate().to("http://www.google.com"); 
    driver.manage().window().maximize(); 


    Robot robot = new Robot(); 
    robot.keyPress(KeyEvent.VK_CONTROL); 
    robot.keyPress(KeyEvent.VK_T); 

    Set<String> handles = driver.getWindowHandles(); 
    List<String> handlesList = new ArrayList<String>(handles); 
    String newTab = handlesList.get(handlesList.size() - 1); 

    // switch to new tab 
    driver.switchTo().window(newTab); 
    driver.get("http://www.yahoo.com");