2017-05-17 1 views
0

Ich habe ein UI-Automatisierungs-Framework mit Cucumber-jvm und Selen-Webdriver erstellt, für Cross-Browser-Tests habe ich Selen-Gitter, das erfolgreich ausgeführt wird lokal, aber wenn ich das Selenraster auf soucelabs Gitter zeige, wirft es den folgenden Fehler,Selenium SouceLabs - java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64

Ich suchte nach diesem Fehler früher, wo Lösung vorschlug, Abhängigkeit für commons-codec jar Akte in Maven hinzuzufügen, tat ich das aber noch i ' Ich bekomme das gleiche Problem.

Jede Hilfe auf diese sehr geschätzt, da ich mit diesem festhalte.

java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64 
    at org.apache.http.impl.auth.BasicScheme.authenticate(BasicScheme.java:166) 
    at org.apache.http.impl.auth.HttpAuthenticator.doAuth(HttpAuthenticator.java:239) 
    at org.apache.http.impl.auth.HttpAuthenticator.generateAuthResponse(HttpAuthenticator.java:202) 
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:263) 
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185) 
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) 
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111) 
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56) 
    at org.openqa.selenium.remote.internal.ApacheHttpClient.fallBackExecute(ApacheHttpClient.java:139) 
    at org.openqa.selenium.remote.internal.ApacheHttpClient.execute(ApacheHttpClient.java:87) 
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:343) 
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:159) 
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:637) 
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:250) 
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:236) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:137) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:174) 
    at step_definitions.STRAXDefinition.setup(STRAXDefinition.java:42) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at cucumber.runtime.Utils$1.call(Utils.java:37) 
    at cucumber.runtime.Timeout.timeout(Timeout.java:13) 
    at cucumber.runtime.Utils.invoke(Utils.java:31) 
    at cucumber.runtime.java.JavaHookDefinition.execute(JavaHookDefinition.java:59) 
    at cucumber.runtime.Runtime.runHookIfTagsMatch(Runtime.java:222) 
    at cucumber.runtime.Runtime.runHooks(Runtime.java:210) 
    at cucumber.runtime.Runtime.runBeforeHooks(Runtime.java:200) 
    at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) 
    at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) 
    at org.junit.runners.Suite.runChild(Suite.java:127) 
    at org.junit.runners.Suite.runChild(Suite.java:26) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309) 
    at cucumber.runtime.junit.ExamplesRunner.run(ExamplesRunner.java:59) 
    at org.junit.runners.Suite.runChild(Suite.java:127) 
    at org.junit.runners.Suite.runChild(Suite.java:26) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309) 
    at cucumber.runtime.junit.ScenarioOutlineRunner.run(ScenarioOutlineRunner.java:53) 
    at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) 
    at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309) 
    at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) 
    at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) 
    at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) 
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309) 
    at cucumber.api.junit.Cucumber.run(Cucumber.java:98) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) 
    at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) 
    at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) 
    at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) 
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.codec.binary.Base64 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 83 more 
+0

Diese Art von Fehler bedeutet, dass Sie möglicherweise 2 oder mehr Apache common lib in Ihrem Server und Ihrer Anwendung haben. Classloader wird wahrscheinlich zuerst von Server-Bibliotheken (dies könnte eine alte Bibliothek sein) und kümmert sich nicht um Ihre in der Anwendung Krieg/Ohr oder welches Paket Sie haben. Entfernen Sie eine in der Serverbibliothek und überprüfen Sie sie erneut. –

+0

Sie nicht folgen, aber das ist kein Server-Anwendungscode, das ist QA-Automatisierungscode, alles an einem einzigen Ort. – Yogiraj

Antwort

2

Ich löste meine Probleme, dank @ Paweł Głowacz für die Zeiger, statt Apache Commons Codec-Version 10 des Verwendens habe ich es auf die Version 9 und das mein Problem gelöst.

+0

Ich hatte Version 3, wechselte zu 10 und es funktionierte .... – kylexy1357

Verwandte Themen