2017-09-15 1 views
0

Je suis débutant en sélénium, je fais un test mais je ne comprends pas pourquoi ça ne marche pas. Voici mon code et l'erreur suivante.Simple test avec du sélénium HTMLUnitDriver ne fonctionne pas bien, est-ce faux?

import org.openqa.selenium.*; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.htmlunit.HtmlUnitDriver; 
public class PruebaHTMLUnit { 
    public static void main(String[] args) { 

WebDriver driver = new HtmlUnitDriver(); 
driver.get("http://www.google.com"); 
WebElement element = driver.findElement(By.name("q")); 
element.sendKeys("Guru99"); 
element.submit(); 
System.out.println("Page title is: " + driver.getTitle()); 

driver.quit(); 
} 
} 

Et l'erreur:

Build info: version: '3.5.2', revision: '10229a9', time: '2017-08-21T17:29:55.15Z' 
System info: host: 'MVILLEGAS764', ip: '169.254.106.219', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: 

'1.8.0_144' Driver info: driver.version: HtmlUnitDriver at org.openqa.selenium.htmlunit.HtmlUnitDriver.findElementByName(HtmlUnitDriver.java:1293) at org.openqa.selenium.By$ByName.findElement(By.java:303) at org.openqa.selenium.htmlunit.HtmlUnitDriver$4.call(HtmlUnitDriver.java:1970) at org.openqa.selenium.htmlunit.HtmlUnitDriver$4.call(HtmlUnitDriver.java:1) at org.openqa.selenium.htmlunit.HtmlUnitDriver.implicitlyWaitFor(HtmlUnitDriver.java:1606) at org.openqa.selenium.htmlunit.HtmlUnitDriver.findElement(HtmlUnitDriver.java:1966) at org.openqa.selenium.htmlunit.HtmlUnitDriver.findElement(HtmlUnitDriver.java:754) at com.villegas.pruebas.PruebasRegresion.PruebaHTMLUnit.main(PruebaHTMLUnit.java:20)

+0

Ajoutez ceci à votre question, dites clairement ce qui ne fonctionne pas et comment cela devrait fonctionner, ajoutez la bonne mise en forme de code pour le code. – svgrafov

+0

Quel est le pot utilisé – iamsankalp89

+0

Comment puis-je connaître le pot que j'utilise? – mvillegas

Répondre

0
import org.openqa.selenium.*; 
    import org.openqa.selenium.WebDriver; 
    import org.openqa.selenium.WebElement; 
    import org.openqa.selenium.htmlunit.HtmlUnitDriver; 

    public class test_Stackoverflow 
    { 
      public static void main(String[] args) { 
         WebDriver driver = new HtmlUnitDriver(); 
       driver.get("https://www.google.com"); 
       WebElement element = driver.findElement(By.xpath(".//*[@id='gs_htif0']")); 
       element.sendKeys("Guru99"); 
       element.submit(); 
       System.out.println("Page title is: " + driver.getTitle()); 
       driver.quit(); 
      } 
    } 

HtmlUnitDriver était une partie de la version Sélénium 2,53. Si vous utilisez Selenium 2.52 ou une version antérieure, vous n'avez pas besoin de télécharger et d'installer HtmlUnitDriver, il est déjà présent.

Mais encore vous voulez utiliser le télécharger ici

https://github.com/SeleniumHQ/htmlunit-driver/releases

De 2,53 version, vous devez l'ajouter séparément

Voir cette image Image of result

Essayez ceci:

<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-htmlunit-driver --> 
<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-htmlunit-driver</artifactId> 
    <version>2.52.0</version> 
</dependency> 
+0

Comment puis-je savoir quel sélénium j'utilise? Je thnk org.seleniumhq.selenium sélénium-java 3.5.1 mvillegas

+0

Faites un clic droit sur Projet -> allez à construire le chemin -> ajouter des pots externes – iamsankalp89

+0

Vous utilisez 3.5.1 – iamsankalp89

0

Ple ase essayer celui-ci espère que cela fonctionnera

import org.openqa.selenium.*; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.htmlunit.HtmlUnitDriver; 
    /** 
    * Created by W3E64 on 9/15/2017. 
    */ 
    public class testing_solution 
    { 
public static void main(String[] args) { 
       java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(java.util.logging.Level.OFF); 
       java.util.logging.Logger.getLogger("org.apache.http").setLevel(java.util.logging.Level.OFF); 
HtmlUnitDriver unitDriver = new HtmlUnitDriver(); 

unitDriver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
unitDriver.get("http://google.com"); 
System.out.println("Title of the page is -> " + unitDriver.getTitle()); 

WebElement searchBox = unitDriver.findElement(By.name("q")) 
searchBox.sendKeys("Selenium"); 
WebElement button = unitDriver.findElement(By.name("btnG")); 
button.click(); 
System.out.println("Title of the page is -> " + unitDriver.getTitle()); 
      } 
    } 
+1

pourrait cela fonctionne ........... – iamsankalp89

+0

Ne pas travailler ..... – mvillegas

+0

pouvez-vous s'il vous plaît partager votre erreur actuelle? – zsbappa