2017-08-29 3 views
0

J'utilise Selenium pour automatiser certains tests. L'API WebDriver getWindowHandle() renvoie toujours 2147483649. Il devrait en fait renvoyer une chaîne alphanumérique comme {9e10f4f4-2da6-ef43-b463-1b0d576e7dae} qui change généralement à chaque exécution de test. Mais je reçois toujours 2147483649. J'utilise Selenium 3.5.1 et Firefox 55.0.2.Selenium WebDriver api getWindowHandles() renvoie toujours 2147483649

Code pour reproduire le issue-

Java

public class SeleniumExample { 
    public static void main(String args[]){ 
     System.setProperty("webdriver.gecko.driver","/Users/raghavendr.kolisetty/Downloads/geckodriver"); 
     WebDriver driver = new FirefoxDriver(); 
     driver.manage().window().maximize(); 
     driver.manage().timeouts().implicitlyWait(25, TimeUnit.SECONDS); 
     driver.get("http://www.google.com"); 
     System.out.println("printing test handles "+driver.getWindowHandle()); 
    } 
} 

POM

<properties> 
    <selenium.java.version>3.5.1</selenium.java.version> 
</properties> 
<dependencies> 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-firefox-driver</artifactId> 
     <version>${selenium.java.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-java</artifactId> 
     <version>${selenium.java.version}</version> 
    </dependency> 
</dependencies> 
<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.1</version> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

Sortie - poignées test d'impression 2147483649

Quelqu'un peut-il expliquer ce que je fais mal. Merci

+0

Déclare une variable chaîne et lui assigne un handle de fenêtre. – iamsankalp89

+0

quelle différence cela fait-il? de toute façon je l'ai essayé et le résultat est le même. –

+0

vous n'obtenez pas la sortie désirée – iamsankalp89

Répondre

0

Utilisez cette code.Hopefully il sera fonctionne

String Parentswindows = driver.getWindowHandle(); 

    System.out.println("Parentswindows : " + Parentswindows); 
0

Avez-vous essayé this-

String window1 = driver.getWindowHandle(); 
System.out.println("Second window handle is "+window1); 
0

Essayez cette

public class SeleniumExample { 
public static void main(String args[]){ 
System.setProperty("webdriver.gecko.driver","/Users/raghavendr.kolisetty/Downloads/geckodriver"); 
WebDriver driver = new FirefoxDriver(); 
driver.manage().window().maximize(); 
driver.manage().timeouts().implicitlyWait(25, TimeUnit.SECONDS); 
driver.get("http://www.google.com"); 
System.out.println("printing test handles "+driver.getWindowHandle()); 
} 
} 

Remplacez votre code avec ceci:

public class SeleniumExample { 
public static void main(String args[]){ 
System.setProperty("webdriver.gecko.driver","/Users/raghavendr.kolisetty/Downloads/geckodriver"); 
WebDriver driver = new FirefoxDriver(); 
driver.manage().window().maximize(); 
driver.manage().timeouts().implicitlyWait(25, TimeUnit.SECONDS); 
driver.get("http://www.google.com"); 
String window1=driver.getWindowHandle(); 
System.out.println("printing test handles "+window1); 
} 
}