2017-05-29 9 views
0

要するに、JMeterと統合したいJUNITテストがあります。スクリプトは、Cucumberと統合されたSelenium WebDriverによって書かれています。キュウリと統合されたパラメータ付きJUNITの使用

public class SanityStart extends ClassUtility { 
    private ClassUtility driver; 
    private ClassUtility environment; 
    private ClassUtility path; 
    private ClassUtility userName; 

    public static Logger log = Logger.getLogger(SanityStart.class.getName()); 

    public SanityStart(ClassUtility driver, ClassUtility environment, ClassUtility path, ClassUtility userName) { 

     this.driver = driver; 
     this.environment = environment; 
     this.path=path; 
     this.userName=userName; 
    } 

    @Test 
    public void main(String[] args) throws Throwable { 

     environment.environmentValue = args[0]; 
     path.pathValue = "@" +args[1]; 
     userName.superUser = args[2]; 
     System.setProperty("userName",userName.superUser); 
     Main.main(new String[]{"-g", "bell.canada.step.definition", "-t", pathValue, "C:/Users/IBM_ADMIN/Documents/Automation/Cr Automation/CR Automation/src/NewFeature.feature"}); 
    } 
} 

私は、依存関係のインジェクター変数を含むClassUtilityを作成し、私が持っている変数を再利用したいので

これは私の主な方法です。

public class ClassUtility { 

    public WebDriver baseDriver; 
    public String orderNo; 
    public String pageIn; 
    public String environmentValue; 
    public String pathValue; 
    public String superUser; 
    public String profile1; 
    public String profile2; 

} 

実行時に、環境、パス、ユーザー名などの値をJMeterから取得する必要があります。その要求に基づいて、複数のスレッドを呼び出し、負荷テストを行います。テストクラスは正確に一つの公共ゼロ引数コンストラクタ のjava.lang.Exceptionを持っている必要があります:私はJUnitテストとして実行しようとすると

、私は、

のjava.lang.Exceptionを次のエラーを取得しています:メソッドメインにはパラメータがありません

私はこれをどのように達成することができますかに関するあなたの提案/フィードバックが必要です! JUNITテストではメインメソッドを使用することも可能ですか?前もって感謝します!

+0

また、「テストクラスには、引数が1つしかない引数のないコンストラクタが1つ必要です。それは私が依存性注入を伴うコンストラクタを持つことができないということですか? – Mathan

答えて

0

テストクラスは正確に一つの公共ゼロ引数コンストラクタ

を持つ必要があります。この例外はSanityStartコンストラクタは引数を持つべきではないことを示しています。 @Parameterized testsまたはカスタムテストランナーを使用している場合にのみ使用できます。

メソッドのメインは、パラメータ

これは、あなたがのJUnitでパラメータで関数に@Testアノテーションを使用することができないことを示していますがあってはなりません。だからmainはテストの対象にすることはできません。引数のない関数をテストするか、標準以外のランナーを使用してください(チェックthis question)。

関連する問題