저는 Jenkins를 통해 하룻밤 사이에 실행되도록 의도 된 Maven과 TestNG를 사용하여 여러 셀레늄 테스트를 작성했습니다. 그러나 QA 팀이 Jenkins와 독립적으로 특정 매개 변수 (sku 등)를 사용하여 실행할 수있는 몇 가지 구체적인 테스트를 작성해야합니다. 현재 나의 자동화 테스트는 maven으로 실행되지만 testing 명령을 사용하여 명령 행에서 어떻게 실행할 수 있습니까? 따라서 명령 행 옵션으로 특정 파일을 실행하기 만합니다. 나는이 시도 :명령 줄에서 Maven/TestNG 프로젝트를 실행하고 명령 줄에서 DIFFERENT xml을 실행 하시겠습니까?
java -cp "/Users/kroe761/.m2/repository/org/testng/testng/6.8/testng-6.8.jar" org.testng.TestNG testng2.xml
을하지만 (나는 전혀 이해하지 못하는)이 오류가 발생했습니다
그 더 나은 것 mvn test
이 할 수있는 방법이 있다면
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: com.beust.jcommander.ParameterException
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)
... 7 more
, 젠킨스의 일을 너무 많이 수정하고 싶지는 않습니다.
. 나는 그런 식으로하고 싶었지만, 코드에서 사용할 수있는 명령 줄 인수를 추가 할 수있는 방법이 있습니까? 감사! – kroe761
아, 알겠습니다. '-Dsku = 123456' ->'System.out.println (System.getProperty ("sku"));'. 도와 주셔서 정말로 고맙습니다! – kroe761