Java 用Proguard混淆基于Selenium的软件
我开发了一个高度依赖Selenium的自动化测试软件。 现在我需要保护我的代码,我显然很后悔这个选择,但仍然 我试着用ProGuard。这是我的配置文件:Java 用Proguard混淆基于Selenium的软件,java,selenium,obfuscation,proguard,Java,Selenium,Obfuscation,Proguard,我开发了一个高度依赖Selenium的自动化测试软件。 现在我需要保护我的代码,我显然很后悔这个选择,但仍然 我试着用ProGuard。这是我的配置文件: -injars '...robotBU.jar' -outjars '...robotOBF.jar' -libraryjars 'C:\Program Files\Java\jre7\lib\rt.jar' -libraryjars '...selenium-server-standalone-2.28.0.jar' -dontskip
-injars '...robotBU.jar'
-outjars '...robotOBF.jar'
-libraryjars 'C:\Program Files\Java\jre7\lib\rt.jar'
-libraryjars '...selenium-server-standalone-2.28.0.jar'
-dontskipnonpubliclibraryclassmembers
-dontshrink
-dontoptimize
-dontusemixedcaseclassnames
-verbose
-dontnote
-dontwarn
-keep class test.**
然而,当我执行程序时,我得到了以下结果:
线程“main”java.lang.NoClassDefFoundError中出现异常:org/openqa/selenium/WebDriver
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(未知源)
位于org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa
der.java:56)
原因:java.lang.ClassNotFoundException:org.openqa.selenium.WebDriver
位于java.net.URLClassLoader$1.run(未知源)
位于java.net.URLClassLoader$1.run(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
... 3个以上
原因:java.util.zip.ZipException:无效的块类型
位于java.util.zip.InflateInputStream.read(未知源)
位于java.io.FilterInputStream.read(未知源)
位于sun.misc.Resource.getBytes(未知源)
位于java.net.URLClassLoader.defineClass(未知源)
位于java.net.URLClassLoader.access$100(未知来源)
... 9更多
是否有任何关于可能导致此问题的提示
---更新
我尝试使用不同的硒罐,但这导致我在Proguard中遇到了这个问题:
Unexpected error while performing partial evaluation:
Class = [test/V14_02_10/TestSaisieFeuilleDeSoinLB]
Method = [a()V]
Exception = [java.lang.IllegalArgumentException] (Can't find common super class of [org/openqa/selenium/NoSuchElementException] (with 2 known super classes) and [org/openqa/selenium/WebElement] (with 1 known super classes))
Unexpected error while preverifying:
Class = [test/V14_02_10/TestSaisieFeuilleDeSoinLB]
Method = [a()V]
Exception = [java.lang.IllegalArgumentException] (Can't find common super class of [org/openqa/selenium/NoSuchElementException] (with 2 known super classes) and [org/openqa/selenium/WebElement] (with 1 known super classes))
Can't find common super class of [org/openqa/selenium/NoSuchElementException] (with 2 known super classes) and [org/openqa/selenium/WebElement] (with 1 known super classes)
对你错过了硒罐。也就是说,
…selenium-server-standalone-2.28.0.jar
是错误的。我将路径替换为…,但在我的配置文件中有一个正确的路径。您的异常“NoClassDefFoundError:org/openqa/selenium/WebDriver”则相反。这个“java.util.zip.ZipException:invalid block type at”可能表示jar文件已损坏。不管怎样,这不是正确的。