получить доступ к shadowDOM с помощью Selenium / Java / JMeter / chromedriver - PullRequest
0 голосов
/ 20 марта 2020

Использование Selenium / Java / JMeter / chromedriver - пытаюсь получить доступ к элементам страницы shadowDOM с корнями, вложенными в несколько уровней, используя return arguments[0].shadowRoot. Однако я получаю сообщение об ошибке ниже:

Error in method invocation: Method executeScript( java.lang.String, org.openqa.selenium.remote.RemoteWebElement ) not found in class'org.openqa.selenium.chrome.ChromeDriver

Чего мне не хватает? Спасибо!

import org.openqa.selenium.*;
import org.openqa.selenium.support.ui.*;
import org.openqa.selenium.remote.RemoteWebElement;
WebDriverWait wait = new WebDriverWait(WDS.browser, 10);

WDS.browser.get("contentPage");
//checks/waits, switchtoFrame
WebElement root1 = WDS.browser.findElement(By.cssSelector("launcher"));
//confirming find successful
WDS.log.info("Found: " + root1.getAttribute("href"));
JavascriptExecutor jse = (JavascriptExecutor) WDS.browser;  
jse.executeScript("return arguments[0].shadowRoot", root1);

1 Ответ

0 голосов
/ 23 марта 2020

Начиная с JMeter 3.1 рекомендуется использовать тестовые элементы JSR223 и Groovy язык для сценариев

Похоже, вы используете Beanshell , который не действительно java, поэтому обязательно выберите groovy в качестве языка сценариев для WebDriver Sampler

enter image description here

и один раз Готово, вы должны быть в состоянии нормально использовать существующий код.

Дополнительная информация: Apache Groovy - Почему и как вы должны его использовать

...