2017-11-15 3 views
0

저는 현재 모바일 자동화 옵션을 탐색하고있는 중급 테스터입니다. Appium/Selenium에 익숙하며 TestNG를 도입하여 Test Suite를 관리하려고합니다.Appium/Selenium TestNG Gradle DexArchiveBulderException 빌드 오류

TestNG 및 Appium/Selenium을 사용하여 모바일 테스트를 시작하는 간단한 프로젝트를 만들 때 오류가 발생했습니다. 이 오류를 수정하는 방법을 알 수 없습니다.

Information:Gradle tasks [clean, :app:assembleDebug] 
Warning:Ignoring InnerClasses attribute for an anonymous inner class 
Error:com.android.builder.dexing.DexArchiveBuilderException: Failed to process C:\Users\Mike.Johnson\.gradle\caches\modules-2\files-2.1\org.seleniumhq.selenium\selenium-firefox-driver\3.7.1\460c39abe149b7c649dd05dd71ab64ca80f738aa\selenium-firefox-driver-3.7.1.jar 
Error:com.android.builder.dexing.DexArchiveBuilderException: Error while dexing org/openqa/selenium/firefox/FirefoxBinary.class 
Error:com.android.dx.cf.code.SimException: invalid opcode ba (invokedynamic requires --min-sdk-version >= 26) 
Error:Execution failed for task ':app:transformClassesWithDexBuilderForDebug'. 
> com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process C:\Users\Mike.Johnson\.gradle\caches\modules-2\files-2.1\org.seleniumhq.selenium\selenium-firefox-driver\3.7.1\460c39abe149b7c649dd05dd71ab64ca80f738aa\selenium-firefox-driver-3.7.1.jar 
Information:BUILD FAILED in 10s 
Information:4 errors 
Information:1 warning 
Information:See complete output in console 

내가 행한 모든 기본 안드로이드 프로젝트를 만드는 것입니다이 지점에 도착하고 추가를 시도하려면 : 여기

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 27 
    defaultConfig { 
     applicationId "com.example.mikejohnson.testngtest" 
     minSdkVersion 15 
     targetSdkVersion 27 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 

     } 
    } 
    configurations.all { 
     resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9' // added this to resolve initial build conflict 
    } 
} 

dependencies { 
    implementation fileTree(dir: 'libs', include: ['*.jar']) 
    implementation 'com.android.support:appcompat-v7:27.0.1' 
    implementation 'com.android.support.constraint:constraint-layout:1.0.2' 
    testImplementation 'org.testng:testng:6.11' //added this 
    testImplementation 'junit:junit:4.12' 
    androidTestImplementation 'com.android.support.test:runner:1.0.1' 
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' 
    implementation 'org.seleniumhq.selenium:selenium-java:3.7.1' //added this 
    implementation 'io.appium:java-client:5.0.4' //added this 
} 

오류입니다 : 여기

내 build.gradle입니다 TestNG 및 Appium/Selenium build.gradle에 대한 필수 종속성

TestNG 및 Appium/Selenium에 대한 종속성을 결합 할 때 오류가 발생합니다. 이 프로젝트는 TestNG 종속성 또는 Appium/Selenium 종속성만으로 성공적으로 빌드 할 수 있습니다. AppNG/Selenium과 함께 TestNG를 결합하자마자 오류가 나타나기 시작합니다.

많은 가능한 솔루션을 검색하여 시도했지만 항상 DexArchiveBulderException로 끝납니다. 종속성에 어떤 문제가 있는지 추론 할 수있는 경험이 없으며 검색 할 때 'DexArchiveBuilderException'에 대한 정보가 거의 없습니다.

내가 제공 할 수있는 다른 정보가 있으면 알려 주시기 바랍니다. 사전에 도움을 주셔서 감사합니다.

답변

0

초기 문제는 안드로이드 프로젝트에서 셀렌 테스트를 만들려고한다는 것입니다. 적어도 Android 프로젝트에서는 build.gradle에 의존성을 추가하는 것처럼 보입니다.

그리고 정말 이상한 방법입니다. 공식 Appium java-client tests을보고 프로젝트 설계 방법을 이해하십시오

+0

미안하지만 좀 더 구체적이어야합니다. appium을 사용하여 모바일 자동화를 준비하고 있습니다. 나는 이미 Selenium에 익숙하다. –

+0

답변이 업데이트되었습니다. 별도의 프로젝트를 만들고 적절한 구성 (JVM, Android SDK 등)을 사용하여 PC/VM에서 테스트를 실행해야합니다. – dmle

+0

저는 appium에 이미 익숙하며 Android SDK 등을 사용하여 테스트를 실행하도록 설정했습니다. Android 사진관. 이건 내가 도움이 안돼. TestNG 의존성이 Appium/Selenium과 충돌하는 이유와 해결 방법을 찾는 데 도움이 필요합니다. 감사합니다 –

0

Intellij IDEA의 수정 된 프로젝트가 기본 gradle/java 프로젝트로 문제가 발생했습니다.