2014-11-24 85 views
0

我試圖在醬汁實驗室上運行我的arquillian測試。在我們的項目中,我們使用build.gradle而不是Pom.xml。我嘗試以下這個link在saucelabs上運行arquillian測試(使用gradle項目)

因爲我們不使用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

添加Maven依賴。然後它會工作。 – Junaid 2014-11-24 18:03:04

+0

@Junaid,謝謝。我已將「testRuntime」com.saucelabs:arquillian-sauce-drone:0.0.4「」添加到依賴關係中。那是錯的嗎? – 2014-11-24 18:08:56

+0

嗯,在使用和不使用Maven依賴關係之前,我使用了arquillian。但是,對我來說,arquillian總是與maven依賴運行。它的愚蠢,但我不能找出其他出路。這裏是鏈接http://stackoverflow.com/questions/13001371/adding-all-maven-dependencies-to-arquillian – Junaid 2014-11-24 18:12:09

回答

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和sauce之外,這些工具還沒有經驗。

片段來自SO張貼

compile ('com.somepackage:LIBRARY_NAME:[email protected]'){ 
    transitive=true 
} 
+0

謝謝。在它上面工作。將讓你們知道什麼時候以及如何運作。 – 2014-11-26 19:24:22

相關問題