-2

フレームワークを開発したい。実際にフレームワークが完成したら、それをパッケージ化してユーザーに送信します (jar パッケージなど)。ソースコードを変更することはできません。ただし、構成用に xml または csv ファイルを変更します。たとえば、私の情報源には、手順の前、手順の後、および 20 のテストがあります。私は3つの問題で立ち往生しています。1- さまざまなブラウザーを実行する 20 個のテストを実行したい。通常、手順の前にブラウザを設定しています。実行時にブラウザを変更するにはどうすればよいですか。2- テスト手順をグループ化したい。そして、たとえば、そのうちの5つのプロシージャのみを実行できます。テストをグループ化するにはどうすればよいですか。また、誰かが実行し、誰かが実行しないように設定するにはどうすればよいですか。また、ソースコードに触れずにこれを行う必要があります。3- 詳細な報告システムを作りたい。スクリプトのすべてのステップをログに記録します。(ユーザーログイン成功、メニューオープン成功など)

これらを実行できるフレームワークはどれですか? テスト?または何?

助けてくれてありがとう

4

1 に答える 1

0
  1. 問題はありません。テストを開始する前に、毎回新しいブラウザ インスタンスを作成できます。そこで、IE、Chrome、または FF のいずれかを選択できます。テストクラスにパラメーターを使用できます。パラメーターは @BeforeTest でチェックされ、対応するブラウザーが開かれます。
  2. グループは TestNG と jUnit でサポートされています。より柔軟なため、TestNG をお勧めします。
  3. セレン1だけが段階的なログを記録していましたが、セレン2はそれをサポートしていません。私がしたことは、セレンメソッドにロギングを提供する新しいクラス「TestElement」を作成することでした。そこで、失敗と成功を記録する新しい assertThat を作成しました

    public static <T> void assertIt(String reason, T actual, Matcher<?> matcher)
    {
        Description description = new StringDescription();
        description.appendText(reason).appendText("Expected: ")
            .appendDescriptionOf(matcher).appendText(", Actual: ")
            .appendValue(actual);
        String desc = description.toString();
        if (!matcher.matches(actual))
        {
            TestLog.log(desc, TestLog.LogLevel.FAIL);
            throw new AssertionError(desc);
        }
        else
        {
            TestLog.log(desc, TestLog.LogLevel.PASS);
        }
    }
    
于 2013-07-19T08:08:29.977 に答える