在saucelabs上运行arquillian测试(使用gradle项目)

时间:2014-11-24 18:00:01

标签: jboss-arquillian saucelabs

我正在尝试在酱汁实验室进行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)

我收到以下错误。

1 个答案:

答案 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
}