2017-05-02 1 views
0

Ich bekomme unten erwähnte Fehlermeldung während des Laufprogramms.Fehlendes oder ungültiges Typargument für Zeigeraktion - Selen

Ich versuche, auf das Untermenü zu klicken, das nach dem Mouse Hover im Hauptmenü angezeigt wird.

-Code unten:

public class ActionKeywords { 
    WebDriver driver = new FirefoxDriver(); 

    @Test 
    public void openBrowser(){ 
     driver.get("https://www.levissima.it/"); 
     driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 
     driver.manage().window().maximize(); 
    } 
    @Test 
    public void verify_Menus(){ 

     WebElement mainMenu = driver.findElement(By.xpath("//ul[@id='menu-main']/li/a")); 

     WebElement subMenu = driver.findElement(By.xpath("//a[contains(text(),'Impegno Per La Natura')]")); 
     Actions action = new Actions (driver); 
     action.moveToElement(mainMenu).perform(); 
     action.click(subMenu).perform(); 
    } 
} 

Bitte helfen!

+0

Welche Zeile löst diesen Fehler aus; füge kompletten Fehler StackTrace hinzu. – kushal

+0

An welcher Zeile sehen Sie den Fehler? Bitte geben Sie den vollständigen Fehler-Stack-Trace an. – DebanjanB

+0

org.openqa.selenium.InvalidArgumentException: Fehlendes oder ungültiges Argument für Zeigeraktion Build-Informationen: Version: '3.3.1', Revision: '5234b325d5', time: '2017-03-10 09:10:29 +0000 ' Systeminfo: Host:' M3B-D-543T2D3 ', IP:' 192.168.91.1 ', Betriebssystemname:' Windows 10 ', os.arch:' amd64 ', Versionsnummer: '10 .0', Java. Version: '1.8.0_111' – Sudhir

Antwort

0

Mit Selenium 3.4.0 zum Arbeiten mit Mozilla Firefox Browser 53.x müssen Sie den neuesten Geckodriver von here herunterladen. Speichern Sie es in Ihrem Gerät & bieten Sie den absoluten Pfad des Geckodriver. Dieser Code funktioniert gut mit einigen einfachen Änderungen an Ihrem eigenen Code.

WebDriver driver; 

@BeforeTest 
public void setup() 
{ 
    System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe"); 
    DesiredCapabilities dc = DesiredCapabilities.firefox(); 
    dc.setCapability("marionette", true); 
    driver = new FirefoxDriver(dc); 
    driver.manage().window().maximize(); 
} 

@Test 
public void openBrowser(){ 
    driver.get("https://www.levissima.it/"); 
    driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 
    driver.manage().window().maximize(); 
} 
@Test 
public void verify_Menus(){ 

    WebElement mainMenu = driver.findElement(By.xpath("//ul[@id='menu-main']/li/a")); 

    WebElement subMenu = driver.findElement(By.xpath("//a[contains(text(),'Impegno Per La Natura')]")); 
    Actions action = new Actions (driver); 
    action.moveToElement(mainMenu).perform(); 
    action.click(subMenu).perform(); 
} 

Die Ausgabe lautet:

PASSED: openBrowser 
PASSED: verify_Menus 

=============================================== 
    Default test 
    Tests run: 2, Failures: 0, Skips: 0 
=============================================== 

Lassen Sie mich wissen, ob dies Ihre Frage beantwortet.

+0

FEHLERHAFT KONFIGURATION: @BeforeTest Setup java.lang.ClassCastException: org.openqa.selenium.remote.service.DriverCommandExecutor kann nicht in org.openqa.selenium.firefox.FirefoxDriver $ LazyCommandExecutor – Sudhir

+0

1. Welche Version von Selen verwenden Sie ? 2. Verwenden Sie Gecko-Treiber? 3. Wenn ja, welche Version? 4. Was ist Ihre Mozilla Firefox Browser-Version? – DebanjanB

+0

Selenium 3.3.1 Firefox 53.0 – Sudhir

0

Ein besserer Weg, dies zu erreichen click() wäre:

Actions action = new Actions (driver); 
    action.moveToElement(mainMenu).moveToElement(subMenu).click().build().perform(); 

Dies wird Verkettung von Aktionen aufgerufen.

+0

@Sudhir: hast du das versucht? – kushal

+0

Ja. Kushal. Aber immer noch, ich bekomme den gleichen Fehler wie org.openqa.selenium.InvalidArgumentException: Fehlender oder ungültiger Typ Argument für die Zeigeraktion – Sudhir

+0

Bitte zeigen Sie mir importiert – kushal

0

Ich habe diesen Fehler heute und löste es nur mit einer anderen Geckodriver-Version. In diesem Fall (Firefox 52 + Selenium 3.8.0) löste geckodriver 0.15 es.

Ist nicht das erste Mal gezwungen, verschiedene Versionen von Firefox/Geckodriver/Selenium herunterzuladen und auszuprobieren.

Das Herunterladen des neuesten geckodriver wird Probleme nicht standardmäßig lösen. Du brauchst vielleicht eine ältere Version nach deinen Firefox und geckodriver Versionen, also zögere nicht, es selbst zu versuchen, anstatt nur die neueste Version zu bekommen, in der Hoffnung, dass es auf magische Weise funktionieren wird.

Ich empfehle wirklich verschiedene geckodrivers versuchen, bevor Sie verrückt werden.

Verwandte Themen