우리는 일반적으로 TestNG xml 러너를 사용하여 Selenium 테스트를 실행합니다. 샘플 XML :셀레늄 TestNG : TestNG를 사용하여 컴파일 된 jar에서 셀렌 테스트를 어떻게 수행 할 수 있습니까?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="P1_jobSeeker" parallel="classes" preserve-order="true" thread-count="1">
<test name="P1_jobSeeker-1">
<classes>
<class name="pamr.testCases.jobSeeker.PAMRAutoJS12Part1"/>
<class name="pamr.testCases.jobSeeker.PAMRAutoJS12Part2"/>
<class name="pamr.testCases.jobSeeker.PAMRAutoJS12Part3"/>
</classes>
</test>
</suite>
지금 내가 IDE 외부 소스 파일없이 이렇게 단지 컴파일 된 jar 파일에서 모든 것을 실행하고 싶습니다.
내가 this을 찾은 후 TestNG 사이트에서 this 솔루션을 사용해 보았습니다.
나는 메인 클래스를 생성하고 실행할 클래스를 지정했습니다.
import java.util.ArrayList;
import java.util.List;
import org.testng.TestNG;
import org.testng.xml.XmlClass;
import org.testng.xml.XmlSuite;
import org.testng.xml.XmlTest;
public class Main {
public static void main(String[] args) {
XmlSuite suite = new XmlSuite();
suite.setName("P1_jobSeeker");
XmlTest test = new XmlTest(suite);
test.setName("P1_jobSeeker-1");
List<XmlClass> classes = new ArrayList<XmlClass>();
classes.add(new XmlClass("pamr.testCases.jobSeeker.PAMRAutoJS12Part1"));
classes.add(new XmlClass("pamr.testCases.jobSeeker.PAMRAutoJS12Part2"));
classes.add(new XmlClass("pamr.testCases.jobSeeker.PAMRAutoJS12Part3"));
test.setXmlClasses(classes);
List<XmlSuite> suites = new ArrayList<XmlSuite>();
suites.add(suite);
TestNG tng = new TestNG();
tng.setXmlSuites(suites);
tng.run();
}
}
항아리에 프로젝트를 내보내기 전에, 나는 주요 실행 시도하지만 난이 라인에서 java.lang.ClassNotFoundException
을 받고 있어요 : XmlSuite suite = new XmlSuite();
전체 콘솔 스택 : 아마 주목할 필요가
Exception in thread "main" java.lang.NoClassDefFoundError: org/testng/xml/XmlSuite
at Main.main(Main.java:11)
Caused by: java.lang.ClassNotFoundException: org.testng.xml.XmlSuite
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)
... 1 more
ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2
JDWP exit error AGENT_ERROR_NO_JNI_ENV(183): [util.c:840]
내 프로젝트가 메이븐 프로젝트이므로 메인 폴더와 테스트 폴더가 분리됩니다.
미리 감사드립니다.
이 대답을 수락하십시오. 감사! – iamkenos