1

基本的なFirefoxアドオンを開発しています.特定のアイテムがコンテキストメニューに存在するかどうかをテストしたいと思います(ページの任意の場所を右クリックした後に表示されます)。

marionetteandを使用selenium-webdriverできることは確認しましたが、ページのどこかをクリックして、特定の項目がコンテキスト メニューに表示されていることを確認する方法が見つかりません。

単純に右クリックするのに苦労しています(アイテムがコンテキストメニューにあるかどうかを確認することについてさえ話していません...)。

ドキュメントにActionSequenceよるとclick、右ボタンのクリックを使用して提供する必要があります。私はそれを機能させることができませんでした。これが私がこれまでに試したことです

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();
4

1 に答える 1

0

を使用して右クリックを実行Actions.contextClick()できますが、コンテキスト メニューにアクセスして、オプションが存在することなどを確認することはできません。右クリックを実行するサンプル コードを以下に示します。

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

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

于 2016-08-09T15:28:23.177 に答える