2014-11-24 2 views
0

소스 실험실에서 arquillian 테스트를 실행하려고합니다. 우리 프로젝트에서는 Pom.xml 대신 build.gradle을 사용합니다.saucelabs에서 arquillian 테스트 실행하기 (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> 

하는 사람이 창고시겠습니까 : 나는 우리가 pom.xml 파일을 사용 해달라고하기 때문에, 내가 build.gradle 파일에

을 build.gradle 이러한 종속성을 추가하려고이 link

을 다음 시도 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

추가 받는다는 종속성에서

발췌문. 그 때 그것은 작동 할 것이다. – Junaid

+0

@Junaid, 고마워. "testRuntime"com.saucelabs : arquillian-sauce-drone : 0.0.4 ""을 종속성에 추가했습니다. 틀렸어? –

+0

음, 이전에 maven 의존성이있는 arquillian을 사용했습니다. 하지만, 나에게는 arquillian이 항상 Maven 의존성으로 실행됩니다. 그 어리 석다. 그러나 나는 다른 길을 이해할 수 없다. 그리고 여기 링크 http://stackoverflow.com/questions/13001371/adding-all-maven-dependencies-to-arquillian – Junaid

답변

0

전이 종속성에 대한 문제 일 수 있습니다. 당신이 arquillian-sauce-drone-0.0.4.pom 보면이 프로젝트는 당신이 예외별로없는보고있는 클래스를 포함하는 drone webdriver jar 보면

<dependency> 
    <groupId>org.jboss.arquillian.extension</groupId> 
    <artifactId>arquillian-drone-webdriver</artifactId> 
    <version>${version.arquillian.drone}</version> 
</dependency> 

에 따라 달라집니다. 이것은 필 요한 종속성 중 하나 일 수 있습니다. 그런 효과를 얻으려면 gradble을 통해 전이 의존성 관리를 조사하여 프로젝트에서 예상대로 설정/작동하는지 확인할 수 있습니다.

이 값을 기준으로하면 SO post에 종속성에 대한 전이 속성을 추가 할 수 있습니다. 메이븐 (maven)과 소스 (source)를 제외하고는이 도구들에 대한 경험이 없기 때문에 나는 기초가 떨어져있을 수 있습니다. SO 게시

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

감사합니다. 그것에 종사. 언제 어떻게 작동하는지 알려줍니다. –