我正在尝试在酱汁实验室进行arquillian测试。在我们的项目中,我们使用build.gradle而不是Pom.xml。我尝试了这个link
由于我们不使用pom.xml,因此我尝试将这些依赖项添加到build.gradle
build.gradle文件中的:
repositories {
.
.
maven { url 'https://repository-saucelabs.forge.cloudbees.com/release' }
}
dependencies {
.
.
// Libraries needed for Remote Weblogic Testing
.
.
testRuntime "com.saucelabs:arquillian-sauce-drone:0.0.4"
}
**in arquillian.xml:**
<extension qualifier="sauce-webdriver">
<property name="userName">swxxxxxxx</property>
<property name="accessKey">63xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</property>
<property name="browser">firefox</property>
<property name="os">Windows 2008</property>
<property name="version">4.</property>
</extension>
有人可以在这里阐明如何在sauclabs上进行arquillian测试(gradle项目)
java.lang.NoClassDefFoundError: org/jboss/arquillian/drone/webdriver/configuration/TypedWebDriverConfiguration
at com.saucelabs.drone.webdriver.SauceWebDriverFactory.createConfiguration(SauceWebDriverFactory.java:55)
at com.saucelabs.drone.webdriver.SauceWebDriverFactory.createConfiguration(SauceWebDriverFactory.java:33)
at org.jboss.arquillian.drone.impl.DroneConfigurator.configureDrone(DroneConfigurator.java:172)
at org.jboss.arquillian.drone.impl.DroneConfigurator.prepareDroneConfiguration(DroneConfigurator.java:122)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
我收到以下错误。
答案 0 :(得分:0)
这可能是传递依赖的问题。如果你看一下项目依赖的arquillian-sauce-drone-0.0.4.pom
<dependency>
<groupId>org.jboss.arquillian.extension</groupId>
<artifactId>arquillian-drone-webdriver</artifactId>
<version>${version.arquillian.drone}</version>
</dependency>
查看drone webdriver jar它包含您看到的每个例外都缺少的类。这可能只是可能缺少的必需依赖项之一。为此,您可以尝试通过gradle查找传递依赖关系管理,以查看它是否在项目中按预期设置/工作。
根据此SO post,您可以为依赖项添加传递属性。我可能会离开基地,因为除了maven和酱汁之外我没有任何这些工具的经验。
来自SO帖子的片段
compile ('com.somepackage:LIBRARY_NAME:1.0.0@aar'){
transitive=true
}