serenity-bdd / serenity-core

Serenity BDD is a test automation library designed to make writing automated acceptance tests easier, and more fun.
http://serenity-bdd.info
Other
723 stars 518 forks source link

Serenity 3.1.20 - Broken by incompatibility with Google ImmutableMap #2703

Closed xescuder closed 2 years ago

xescuder commented 2 years ago

Using 3.1.16 it works, upgrading to 3.1.20 gives this error:

java.lang.NoSuchMethodError: 'com.google.common.collect.ImmutableMap com.google.common.collect.ImmutableMap.of(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)' at org.openqa.selenium.chrome.AddHasCasting.getAdditionalCommands(AddHasCasting.java:38) at org.openqa.selenium.chrome.ChromeDriver$ChromeDriverCommandExecutor.getExtraCommands(ChromeDriver.java:123) at org.openqa.selenium.chrome.ChromeDriver$ChromeDriverCommandExecutor.(ChromeDriver.java:118) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:106) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:93) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:82) at net.serenitybdd.core.webdriver.driverproviders.ChromeDriverProvider.lambda$newInstance$0(ChromeDriverProvider.java:68) at net.serenitybdd.core.webdriver.driverproviders.ProvideNewDriver.withConfiguration(ProvideNewDriver.java:40) at net.serenitybdd.core.webdriver.driverproviders.ChromeDriverProvider.newInstance(ChromeDriverProvider.java:64) at net.thucydides.core.webdriver.WebDriverFactory.createWebDriver(WebDriverFactory.java:157) at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:136) at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:143) at net.thucydides.core.webdriver.WebDriverFacade.newProxyDriver(WebDriverFacade.java:134) at net.thucydides.core.webdriver.WebDriverFacade.getProxiedDriver(WebDriverFacade.java:104) at net.thucydides.core.webdriver.WebDriverFacade.get(WebDriverFacade.java:174) at net.serenitybdd.core.pages.PageObject.openPageAtUrl(PageObject.java:979) at net.serenitybdd.core.pages.PageObject.open(PageObject.java:877) at net.serenitybdd.core.pages.PageObject.open(PageObject.java:865)

wakaleo commented 2 years ago

Selenium and Serenity both depend on guava version 31.0.1-jre (org.seleniumhq.selenium:selenium-chrome-driver:4.1.2) - are you sure there isn't a dependency on another version of Guava in your own project?

xescuder commented 2 years ago

I've checked from Intellij the code it's using guava 25.1. Thanks.