2017-08-18 17 views
0

を示し、私はクラスのメインを作成することにより、JARファイルとそれ変換がエラー

package uatFramework; 

import org.testng.TestListenerAdapter; 
import org.testng.TestNG; 

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

内のmainメソッドを持つようにTestNGのファイルを変換している。しかしRMS_Loginクラスは、あまりにもBeforeSfterSuiteクラスを拡張します。 今私は、APP-Javaなどのメインを実行したとき>ブラウザが正常に表示されますが、ページがロードをdoesnotと私はエラーを取得開閉:org.testng.TestNGExceptionとして

@Parameters({"sUsername","sPassword","sUrl"})  
    public void uatRMSLoginTest(String sUsername, String sPassword,java.lang.String sUrl) throws InterruptedException, IOException 
     {  
     FileWriter writer = new FileWriter(file,true); 
     String filename= "screenshots"; 
     File filepath =new File(folderpath+"/" +filename); 
     filepath.mkdirs(); 
     if (System.getenv("sURL") != null) 
     { 
      .... 
     } 
} 

: パラメータ「をsUsername」方法uatRMSLoginTestに@Testによって必要とされるが、

答えて

1

あなたのコードに問題があるということ@optionalをマークしたり、メインメソッドでtestng.runためuatFramework.Mainone.main(Mainone.java:13)すなわちで を定義されていませんあなたの@Testメソッドが予期している必要なパラメータを@Parameters注釈で注入していません。

ここには、作業コードが含まれているコードがあります。ここで

import org.testng.ITestNGListener; 
import org.testng.TestListenerAdapter; 
import org.testng.TestNG; 
import org.testng.annotations.Parameters; 
import org.testng.annotations.Test; 
import org.testng.xml.XmlClass; 
import org.testng.xml.XmlSuite; 
import org.testng.xml.XmlTest; 

import java.util.Collections; 

public class Mainone { 
    public static void main(String[] args) { 
     TestListenerAdapter tla = new TestListenerAdapter(); 
     TestNG testng = new TestNG(); 

     XmlSuite xmlSuite = new XmlSuite(); 
     xmlSuite.getParameters().put("sUsername", "admin"); 
     xmlSuite.getParameters().put("sPassword", "admin"); 
     xmlSuite.getParameters().put("sUrl", "http://localhost"); 
     xmlSuite.setName("Sample_Suite"); 
     XmlTest xmlTest = new XmlTest(xmlSuite); 
     xmlTest.setName("Sample_Test"); 
     xmlTest.setClasses(Collections.singletonList(new XmlClass(RMS_Login.class))); 
     testng.addListener((ITestNGListener) tla); 
     testng.setXmlSuites(Collections.singletonList(xmlSuite)); 
     testng.run(); 
    } 

    public static class RMS_Login { 

     @Parameters({"sUsername", "sPassword", "sUrl"}) 
     @Test 
     public void uatRMSLoginTest(String sUsername, String sPassword, String sUrl) { 
      //Since I don't know what this method is supposed to do, 
      //Just printing them out. 
      System.err.println("UserName " + sUsername); 
      System.err.println("Password " + sPassword); 
      System.err.println("URL " + sUrl); 
     } 
    } 
} 

は出力

UserName admin 
Password admin 
URL http://localhost 

=============================================== 
Sample_Suite 
Total tests run: 1, Failures: 0, Skips: 0 
=============================================== 
+0

はそんなにあなたに感謝です!しかし、私は主な機能のために別のクラスを作成する必要がありますか? – krit

+0

私はそうすることを示唆していませんでした。私はあなたにあなたのコードの固定版を示していました。どのように消費したいのかを決めるのはあなた次第です。 –

+0

custsomレポートを使用する代わりに、私は他のスタイルを使用したいと思います。エクステントレポートはどうすればこのコードに使用できますか? – krit