0

こんにちは、次のようにプロパティ ファイルからスイート クラスを使用するように設定できるかどうかを知りたいです ( test.properties ):

テスト = CorrectTestBackLink.class、CorrectTestSaveToDatabase.class、ErrorTestEnterLetterCalc.class、ErrorTestLeaveBlankCalc.class

またはこのように

test1 = CorrectTestBackLink.class

test2 = CorrectTestSaveToDatabase.class

test3 = ErrorTestEnterLetterCalc.class

test4 = ErrorTestLeaveBlankCalc.class

そして、このようなことをしますスイートクラスにはクラスが必要であることを知っているので、リストを取得する方法がわかりません。

@Suite.SuiteClasses({selectproperties.propertyarray});
// the actual class is empty
public class RunSelected {}

SelectedProperties.classがこのようなものを持っているので、配列として取得できます。

public String propertyArray;
public String propertyFileName;
public class SelectedProperties{
            System.in(propertyFileName);
            prop.load(new FileInputStream(propertyFileName));
            propertyArray = prop.getProperty("test");
    }

次に、次のコマンド ラインを使用して実行します。

java -cp bin;libs/junit-4.8.1.jar;libs/hamcrest-core-1.3.jar;libs/selenium-java-2.34.0.jar;libs/guava-14.0.jar;libs/json-20080701 .jar;libs/commons-exec-1.1.jar;libs/httpcore-4.2.1.jar;libs/httpclient-4.2.1.jar;libs/commons-logging-1.1.1.jar;libs/mysql-connector -java-5.1.26-bin.jar;libs/cpsuite-1.1.0.jar org.junit.runner.JUnitCore test.RunSelected

しかし、コマンドでpropertyFileNameを設定できるようにしたいのですが、方法はわかりませんが、 "test.properties"のようなもので終了します。

与えられた助けに感謝します。Jenkins を介してこれらのテストをスケジュールし、実行する予定です。コードが完全に間違っていることは知っていますが、それは私の考えを示すためのものです。

4

1 に答える 1

1

JUnit を使用したことがないため、SuiteClasses のコードを提供できません。コマンド ラインからプロパティ ファイル名を渡すことについて - それを main() メソッドに渡し、SelectedProperties にロジックを追加して、プロパティ ファイルを読み取り、「テスト」プロパティのコンマ区切りの値を分割することができます。そして、それを配列として SuiteClasses に渡します。

私は実際にTestNGを使用して同様のアイデアを実装しました。しかし、プロパティ ファイルからクラスを渡す代わりに、Excel シートからそれを行います。シートには、クラス名と実行フラグの列があります。実行フラグに基づいて、TestNG xml が動的に作成され、実行されます。

于 2013-08-21T09:47:08.803 に答える