2017-11-15 2 views
0

Ich bin ein Mittelstufentester, der derzeit Optionen für die mobile Automatisierung untersucht. Ich bin mit Appium/Selenium vertraut und versuche nun TestNG einzuführen, um Testsuites zu verwalten.Appium/Selenium TestNG Gradle DexArchiveBulderException Fehler beim Erstellen

Ich habe einen Fehler beim Versuch, ein einfaches Projekt zu erstellen, um mobile Tests mit TestNG und Appium/Selenium zu starten. Ich kann nicht herausfinden, wie ich diesen Fehler beheben kann.

Hier ist meine build.gradle:

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 
} 

Hier ist der Fehler:

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 

zu diesem Punkt zu gelangen, alles, was ich getan habe, ist ein grundlegendes android-Projekt erstellen und versuchte, die hinzufügen benötigte Abhängigkeiten für TestNG und Appium/Selenium zu bauen.

Die Fehler werden eingeführt, wenn die Abhängigkeiten für TestNG und Appium/Selen kombiniert werden. Das Projekt kann erfolgreich nur mit TestNG-Abhängigkeiten oder nur mit Appium/Selenium-Abhängigkeiten arbeiten. Sobald ich TestNG zusammen mit Appium/Selenium kombiniere, beginnen Fehler zu erscheinen.

Ich habe viele mögliche Lösungen gesucht und ausprobiert, aber es endet immer mit einer DexArchiveBulderException. Ich habe nicht die Erfahrung, abzuleiten, was mit den Abhängigkeiten falsch läuft, und es gibt sehr wenig Informationen über "DexArchiveBuilderException" beim Suchen.

Wenn es andere Informationen gibt, die ich zur Verfügung stellen kann, lassen Sie es mich bitte wissen. Danke für die Hilfe im Voraus.

Antwort

0

Das erste Problem ist, dass Sie versuchen, Selenium Tests in Android-Projekt zu erstellen, zumindest sieht es so aus, als ob Sie build.gradle in Android-Projekt Abhängigkeiten hinzufügen.

Und das ist wirklich seltsam zu starten. Werfen Sie einen Blick auf die offizielle Appium java-client tests, um Verständnis zu bekommen, wie man ein Projekt entwickelt

+0

Entschuldigung, ich hätte genauer sein sollen; Ich bereite mich auf mobile Automatisierung mit Appium vor. Selen kenne ich schon. –

+0

Ich aktualisierte die Antwort. Sie müssen separate Projekt erstellen und Tests auf PC/VM mit entsprechender Konfiguration (JVM, Android SDK, etc.) ausführen – dmle

+0

Ich bin bereits vertraut mit Appium und habe es eingerichtet Tests mit Android SDK, etc. zu starten. Ich benutze Android Studio. Das hilft mir nicht. Ich brauche Hilfe herauszufinden, warum TestNG Abhängigkeiten Konflikt mit Appium/Selen und wie zu beheben. Danke –

0

Problem behoben - neu erstelltes Projekt in Intellij IDEA als ein grundlegendes Gradle/Java-Projekt.

Verwandte Themen