- 它是
driver=new ChromeDriver();
行之后的代码的一部分,它给了我错误,我用 sysout 检查,错误在 2 中,好吧,我对 Maven 没有很好的经验,但我正在检查我的pom.xml
文件,我给了 Selenium 依赖项。
-任何建议?,任何帮助赞赏
public WebDriver initilizeDriver() throws IOException
{
Properties prop= new Properties();
FileInputStream fıs=new FileInputStream("C:\Users\Melih Sancak\my-amazonTest\src\main\java\com\ObjectRepisotary\app\data.properties");
prop.load(fıs);
String browserName =prop.getProperty("browser");
System.out.println(browserName);
if(browserName.equals("chrome"))
{
System.setProperty("webdriver.chrome.driver", "C:\Users\Melih Sancak\Downloads\chromedriver.exe");
driver=new ChromeDriver();
}
}
2. 错误:
java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap
at org.openqa.selenium.remote.service.DriverService$Builder.<init>(DriverService.java:253)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.<init>(ChromeDriverService.java:94)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
这个问题的原因是番石榴库。
这个问题通过在maven pom中添加番石榴库得到了解决.xml
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.0.1-jre</version>
</dependency>
我的一个朋友也遇到了这个问题,添加这个库可以解决这个问题,因为该方法不可变地图来自番石榴
粘贴错误消息,以便人们将降落在这里,因为许多人会遇到相同的问题
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;
at org.openqa.selenium.chrome.AddHasCasting.getAdditionalCommands(AddHasCasting.java:38)
at org.openqa.selenium.chrome.ChromeDriver$ChromeDriverCommandExecutor.getExtraCommands(ChromeDriver.java:123)
文件com/google/common/collect/ImmutableMap
可能已损坏:
部署 Maven 项目会抛出 java.util.zip.ZipException:无效的 LOC 标头(签名错误(
如果您使用的是 eclipse 并想检查此文件是否已损坏,请尝试打开它。它位于番石榴马文属地。如果它已损坏,它将显示invalid LOC header (bad signature)
。
然后找到找到.m2
文件夹,搜索损坏的文件并将其删除。最后运行一个 maven 更新。
这为我解决了问题。