0

Ich entwickle ein grundlegendes Firefox-Addon und möchte testen, ob ein bestimmtes Element in einem Kontextmenü vorhanden ist (nach einem Rechtsklick irgendwo auf der Seite angezeigt)).firefox sdk, marionette: Die Aktivierung dieses Elements ist im Kontextmenü vorhanden.

Ich habe gesehen, dass ich marionette und selenium-webdriver verwenden konnte, aber ich finde keine Möglichkeit, irgendwo auf der Seite zu klicken und zu bestätigen, dass ein bestimmtes Element im Kontextmenü vorhanden ist.

Ich habe es schwer, einfach mit der rechten Maustaste zu klicken (nicht einmal zu prüfen, ob das Element im Kontextmenü ist ...).

Nach the documentation on ActionSequence sollte ich click verwenden und einen Rechtsklick zur Verfügung stellen. Ich konnte es aber nicht zur Arbeit bringen. Hier ist, was ich versucht habe bisher

const webdriver = require('selenium-webdriver'); 
const Capabilities = require('selenium-webdriver/lib/capabilities').Capabilities; 
const input = require('selenium-webdriver/lib/input'); 

var capabilities = Capabilities.firefox(); 

capabilities.set('marionette', true); 

var driver = new webdriver.Builder().withCapabilities(capabilities).build(); 

driver.get('http://localhost'); 

// Using a element for opt_elementOrButton 
driver.actions().click(driver.findElement(webdriver.By.css('#changes')), input.Button.RIGHT).perform(); 

// Using right buttons 
//driver.actions().click(input.Button.RIGHT, input.Button.RIGHT).perform(); 

// Using only one argument, as the second argument opt_button is "Ignored if a button is provided as the first argument" 
//driver.actions().click(input.Button.RIGHT).perform(); 

//driver.quit(); 

Antwort

0

Sie können einen Rechtsklick ausführen, indem Actions.contextClick() verwenden, aber Sie werden zugreifen können über das Kontextmenü nicht zu überprüfen, ob eine Option vorhanden ist, usw. Beispielcode Führen Sie den Rechtsklick ist unten.

WebElement e = driver.findElement(locator); 
Actions action = new Actions(driver); 
action.contextClick(e).build().perform(); 

Referenz https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/Actions.html#contextClick--

+0

Danke, aber ich bin mit 'node' und es sieht aus wie die rechte Maustaste (diese Methode' driver.actions(). Klicken (input.Button.RIGHT). perform(); ') arbeitet nicht mit' firefox' (Nachforschungen mit 'chrome' funktionieren einwandfrei) ... Irgendeine Idee was schief gehen könnte? – user7890

Verwandte Themen