gpt4 book ai didi

gradle - 通过 Gradle 构建脚本的 Kotlin 未执行 WebDriver spek

转载 作者:行者123 更新时间:2023-12-03 04:22:41 29 4
gpt4 key购买 nike

严格重现我的问题的 repo :https://github.com/paul-hammant/kotlin-webdriver-snafu

规范,再简单不过了:

class WebDriverSpeks : Spek({
ChromeDriverManager.getInstance().setup()
val co = ChromeOptions()
val chromeDriver = ChromeDriver(co) as WebDriver

beforeGroup {
chromeDriver.get("https://yahoo.com/")
}

describe("yahoo") {
it("should have index.html") {
assertEquals(chromeDriver.title, "hello")
}
}

afterGroup {
chromeDriver.close()
}
})

在 Intellij 中没有表示编译失败的红线,但是当 gradle build运行它提示传递 dep:
$ gradle build
Download https://jcenter.bintray.com/org/slf4j/slf4j-api/1.7.24/slf4j- api-1.7.24.jar
w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
/Users/paul/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.2.30/f916048adc012c9342b796a5f84c0ac6205abcac/kotlin-stdlib-jdk8-1.2.30.jar (version 1.2)
/Users/paul/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.2.30/ca12c47fc1e3a7316067b2a51e2f214745ebf8c5/kotlin-stdlib-jdk7-1.2.30.jar (version 1.2)
/Users/paul/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.0.6/3d499d3b7768f88c4796e5a1e357933e11a8936d/kotlin-reflect-1.0.6.jar (version 1.0)
/Users/paul/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.2.30/2dfac33f8b4e92c9dd1422cd286834701a6f6d6/kotlin-stdlib-1.2.30.jar (version 1.2)
w: Consider providing an explicit dependency on kotlin-reflect 1.2 to prevent strange errors
w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath or use '-Xskip-runtime-version-check' to suppress this warning
e: Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath:
class org.openqa.selenium.chrome.ChromeDriver, unresolved supertypes: org.openqa.selenium.remote.RemoteWebDriver


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileTestKotlin'.
> Compilation error. See log for more details

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 6s
5 actionable tasks: 5 executed

据称 Unresolved 父类(super class)型 org.openqa.selenium.remote.RemoteWebDriver 在 selenium-remote-driver 中,并且

如果我删除 ~/.gradle 或 ./build 并再试一次,它是一样的。

如果我检查 pom.xml 中的 selenium-java,我可以看到对 selenium-remote-driver(存在)的依赖。见这里 - http://central.maven.org/maven2/org/seleniumhq/selenium/selenium-java/3.11.0/selenium-java-3.11.0.pom . jcenter中的那个是一样的。

我不知道为什么 Gradle 没有找到 selenium-remote-driver。我在 Gradle 脚本中注释掉了一个额外的 testCompile,但如果它被注释掉,什么都不会得到修复。

我认为这是 Gradle 中的一个问题,或者是我不太了解但在某处在线的 Maven Central 的一些 Gradleized 处理。我认为这不是 Kotlin 的问题。我从一开始就使用 Selenium 并且非常熟悉它(我已经制作了 100 个使用 Selenium 的 Maven 项目),所以我认为不是这样。当然,我的根本原因可能是错误的。

最佳答案

好吧,这成功了:

rm -rf ~/.m2/repository/org/seleniumhq/

我不知道 Gradle 使用了本地 Maven 存储库缓存。它一定是在某种程度上腐败了。

希望这对另一天有所帮助。

关于gradle - 通过 Gradle 构建脚本的 Kotlin 未执行 WebDriver spek,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49334602/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com