AutomatedOwl / allure-environment-writer

Java library which allows to write environment.xml file into allure-results directory.
Apache License 2.0
25 stars 5 forks source link

Cannot run test scripts when add allure-environment-writer #5

Closed pduyet closed 1 year ago

pduyet commented 1 year ago

I want to add more information to allure report, but when I add this library to pom.xml, I cannot run test scripts. Before adding it, my scripts run normally. this is the issue console: java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap; image image pls help me

AutomatedOwl commented 1 year ago

Have you added the following dependency?

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>29.0-jre</version>
        </dependency>

and the import to the java code: import com.google.common.collect.ImmutableMap;

HanselCream commented 1 year ago

having the same problem error

Exception in thread "main" 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:98) at org.openqa.selenium.chrome.ChromeDriver$ChromeDriverCommandExecutor.(ChromeDriver.java:93) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:81) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:49) at chrome.main(chrome.java:11)

help us

Code:

import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver;

public class chrome {

public static void main(String[] args) {
    WebDriver driver;

    System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
    driver = new ChromeDriver();
    driver.get("https://www.google.com");
}

}

Note added pom.xml

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>4.2.0</version>
    </dependency>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>31.0.1-jre</version>
    </dependency>
    <dependency>
        <groupId>io.github.bonigarcia</groupId>
        <artifactId>webdrivermanager</artifactId>
        <version>5.0.1</version>
    </dependency>
pduyet commented 1 year ago

this issue is resolved. need to add google guava library. Thanks all

pduyet commented 1 year ago

having the same problem error

Exception in thread "main" 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:98) at org.openqa.selenium.chrome.ChromeDriver$ChromeDriverCommandExecutor.(ChromeDriver.java:93) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:81) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:49) at chrome.main(chrome.java:11)

help us

Code:

import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver;

public class chrome {

public static void main(String[] args) {
    WebDriver driver;

    System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
    driver = new ChromeDriver();
    driver.get("https://www.google.com");
}

}

Note added pom.xml

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>4.2.0</version>
    </dependency>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>31.0.1-jre</version>
    </dependency>
    <dependency>
        <groupId>io.github.bonigarcia</groupId>
        <artifactId>webdrivermanager</artifactId>
        <version>5.0.1</version>
    </dependency>

@@. firstly, you add webdrivermanager library but you hard code for chromedriver. unreasonable. then, maybe the versions in your libraries maybe conflict. refer to my versions image

HanselCream commented 1 year ago

still having this error even though i've follow your version

Exception in thread "main" 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:98) at org.openqa.selenium.chrome.ChromeDriver$ChromeDriverCommandExecutor.(ChromeDriver.java:93) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:81) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:49)

pduyet commented 1 year ago

still having this error even though i've follow your version

Exception in thread "main" 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:98) at org.openqa.selenium.chrome.ChromeDriver$ChromeDriverCommandExecutor.(ChromeDriver.java:93) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:81) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:49)

can you try with java 11