2013-07-15 2 views
8
에서 실행하는 방법

TestNG 프로젝트가 있습니다. 메인 클래스가 없으면 현재 Run As TestNG와 같이 실행 중입니다.독립 실행 형 TestNG 프로젝트를 jar/bat/

runnable jar 또는 jar 파일로 내보내고 싶은데 누구나 명령 줄에서 명령을 누르면 테스트 케이스가 실행되기 시작합니다.

아무도 나를 도와 줄 수 있습니까? 또는 실행 가능한 형태로 코드를 전달하는 다른 방법을 제안하십시오 ...

개미 또는 maven을 사용하고 있지 않습니다.

감사합니다.

+0

해결책을 찾았습니까? 나는 여기에 너무 붙어있다. – Ramnath

+0

'Eclipse'를 사용하고 있습니까? 테스트를 실행할 '실행'파일을 내보낼 수는 있지만 실행해야하는 모든 클래스를 나열하는 'Suite'파일 하나가 필요합니다. 'launch'파일은 명령 행에서 실행될 수 있습니다. – radimpe

답변

4

나는 약간의 인터넷 검색 결과를 찾은 것 같습니다. 이것은 Eclipse (Juno)에서 잘 작동합니다.

'Tests.java'라는 TestNG 파일이 있습니다. 여러분이 올바르게 지적했듯이, main 메소드를 가진 클래스는 없을 것입니다. 그래서 동일한 패키지 아래에 새로운 Java 클래스 파일을 만들어야합니다. 'MainOne.java'로 이름을 지으겠습니다. 이것은 main 메소드를 가진 클래스를 가질 것이다.

import com.beust.testng.TestNG; 

public class MainOne { 

    public static void main(String[] args) { 
     TestNG testng = new TestNG(); 
     Class[] classes = new Class[]{Tests.class}; 
     testng.setTestClasses(classes); 
     testng.run(); 

    } 

자바 응용 프로그램으로 'MainOne.java'을 실행 : 여기

당신이 필요로하는 코드입니다. 그런 다음 패키지 -> 내보내기 -> Runnable Jar [Launch Configuration]에서 [MainOne]을 선택하고 마침을 클릭하십시오.

+0

아, _right 패키지를 클릭하고 menu_에서 선택하십시오. 불특정 편집기에서만 작동하는보다 보편적 인 솔루션을 제공하는 데주의하십시오. 또는 "이 Eclipse 버전"또는 "IntelliJ 13"또는 "Netbeans 8 사용"또는 "Inside JDeveloper 12"와 같은 특정 편집기 및 버전으로 제한하십시오. 그렇지 않으면 정보가 그다지 중요하지 않습니다 . 해당 메뉴는 현재 편집기에서 볼 수 없습니다. 어쩌면 과거에는 있었지만 움직 였을 것입니다. 아니면 다른 에디터 용 메뉴 일 수도 있습니다. – Bryan

+0

IDE 이름과 버전을 포함하도록 내 응답을 편집했습니다. 나는 보편적 인 해결책이 없다. – Ramnath

1

TestNG의 병행 성을 활용하려면 Eclipse IDE 내부가 아닌 명령 행에서 Java 클래스를 실행할 때 org.testng의 jar 파일에서 정적 main 메소드를 사용해야한다.

그러면 문제는 classpath가되며, java가 모든 JAR 파일을 찾는 방법을 정의합니다. http://javarevisited.blogspot.com/2012/10/5-ways-to-add-multiple-jar-to-classpath-java.html은 * 와일드 카드가 언급 되었기 때문에 가장 유용합니다. --- Selenum + TestNG + 사용자 정의 테스트 스위트에 필요한 모든 jar 파일을 참조해야 할 때 매우 유용합니다.

이것은 현재 Windows BAT 파일이며 작동합니다. ADV.jar에는 내 사용자 정의 클래스가 있지만 주 방법은 없습니다.

setlocal 
set r=d:\Apps\Selenium\ 
cd /d %~dp0 
java -classpath %r%Downloaded\*;%r%MyCompany\ADV.jar; org.testng.TestNG .\testng-customsuite-adv.xml 
pause 

공공 장소에서 다운로드 한 모든 JAR 파일은 내 d : \ Apps \ Selenium \ Downloaded 폴더에 저장되었습니다. 맞춤형 ADV.jar 파일을 d : \ Apps \ Selenium \ MyCompany에 저장하여 별도로 유지합니다.

Export Jar 파일을 사용하여 Eclipse에서 내 ADV.jar 파일을 작성하고 누락 된 main 메소드에 대한 경고를 무시했습니다.

제외 :이 https://stackoverflow.com/a/16879386/424855은 매우 흥미 롭지 만 그 작업을 수행하는 방법을 알 수는 없습니다.

0

여기에 더 좋은 방법이 있습니다.

public static void main(String[] args) { 
    TestListenerAdapter tla = new TestListenerAdapter(); 
    TestNG testng = new TestNG(); 
    testng.setTestClasses(new Class[] { test_start.class }); 
    testng.addListener(tla); 
    testng.run(); 
} 
다음

공식 TestNG의 웹 사이트에서 참조 URL입니다 :

당신은 다음과 같이 실행되는 모든 테스트 클래스의 목록을 가지고하는 주요 방법을 만들 수 있습니다.

MainOne.java을 Java 응용 프로그램으로 실행하십시오. 그런 다음 패키지 -> 내보내기 -> Runnable Jar [Launch Configuration으로 MainOne을 선택하십시오] -> 마침을 마우스 오른쪽 버튼으로 클릭하십시오.