在宁静 BDD Driver.get(address) 抛出 java.lang.NoSuchMethodError: org.openqa.selenium.chrome.ChromeOptions.addArguments(Ljava/util/List;)

问题描述

我是 Serenity BDD 的新手,正在通过他们的 guide 编写一个小型 POC 来确定项目的可行性。我选择了 serenity BDD 版本 2.3.31。我使用的是 Java 8。

当我尝试 driver.get(address) 其中地址是有效网址时,我收到以下错误

java.lang.NoSuchMethodError: org.openqa.selenium.chrome.ChromeOptions.addArguments(Ljava/util/List;)Lorg/openqa/selenium/chrome/ChromeOptions;

这些是我尝试添加到 serenity.properties 文件中的几个属性,但它们没有帮助。请检查并帮助解决这个问题 -


webdriver.driver=chrome
drivers.mac.webdriver.chrome.driver=/Users/local/bin/chromedriver
chrome.switches=--homepage=about:blank,--no-first-run
chrome_preferences.profile_default_content_settings.popups = 0
chrome_preferences.pdfjs.disabled=true
chrome.capabilities.acceptSslCerts = true
chrome.capabilities.handlesAlerts = true

serenity.restart.browser.for.each=scenario

有人让我也粘贴代码,所以就这样

public class LMSLoginTest  { 

  @Steps private LMSLogin superuser;

  @Managed
  WebDriver driver;

  @Test
  public void logintest() {
    try {
      webdriverwait wait = new webdriverwait(driver,Duration.ofSeconds(7));
      superuser.launchbrowser(driver,UserInputsConstants.getSite);

      superuser.loginToLMS(
          wait,driver,UserInputsConstants.adminUser,UserInputsConstants.adminUserCreds);

      verifyloginTest(wait);
      Assertions.assertthatNoException();
    } catch (Exception e) {
      Assertions.fail("Test Failed cause " + e.getMessage());
    }
  }
}

@simpleApp 这就是 launchbrowser 所拥有的。那是我们第一次打驱动程序,得到上面的错误信息

  @Step("#actor launches a browser and navigates to {1}")
  public void launchbrowser(final WebDriver driver,final String address) {
      driver.get(address);
  }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)