使用Proguard混淆基于Selenium的软件

时间:2014-04-25 15:24:34

标签: 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'

-dontskipnonpubliclibraryclassmembers
-dontshrink
-dontoptimize
-dontusemixedcaseclassnames
-verbose
-dontnote
-dontwarn


-keep class test.**

但是,当我执行程序时,我得到了这个:

  

线程“main”中的异常java.lang.NoClassDefFoundError:org / openqa / selenium / WebDriver          at java.lang.Class.forName0(Native Method)          at java.lang.Class.forName(Unknown Source)          在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(未知来源)          at java.security.AccessController.doPrivileged(Native Method)          at java.net.URLClassLoader.findClass(Unknown Source)          at java.lang.ClassLoader.loadClass(Unknown Source)          at java.lang.ClassLoader.loadClass(Unknown Source)          ......还有3个

     

引起:java.util.zip.ZipException:块类型无效          at java.util.zip.InflaterInputStream.read(Unknown Source)          at java.io.FilterInputStream.read(Unknown Source)          at sun.misc.Resource.getBytes(Unknown Source)          at java.net.URLClassLoader.defineClass(Unknown Source)          在java.net.URLClassLoader.access $ 100(未知来源)          ... 9更多

有关可能导致此问题的任何提示?

---更新

我尝试使用不同的Selenium jar,但这导致我在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)

0 个答案:

没有答案