1

Pass/FailテストケースのステータスをExcelレポートに書き込む必要があります。簡単な方法で結果を取得するにはどうすればよいですか?AntXML/HTMLレポートでは、ステータス(Success / Failed)が表示されるので、これをキャッチする方法が必要だと思います@After Class
誰かがこれで私を助けることができますか?

私はJUnit4でSeleniumWebdriverを使用しており、Excelの処理にApache POIを使用しています(これも頭がおかしいです!)。さらに情報が必要な場合に備えてお知らせください。

ありがとう :)

PS:私はたくさんの質問をしているので、誰かが変更したり、変更を提案して、これらの質問やスレッドを他の人に役立てることができれば素晴らしいと思います。

4

1 に答える 1

3

私はあなたの問題を抱えています、そしてこれは私が今すべての私のテストケースでやっていることです-

テストケースで、2つの文字列が等しいかどうかを確認する場合-

このコードを使用している可能性があります-

Assert.assertTrue(value1.equals(value2));

そして、これらの値が等しくない場合、AssertionErrorが生成されます。

代わりに、次のようにコードを変更できます-

String testCaseStatus = "";
if(value1.equals(value2)){
   testCaseStatus = "success";
}
else{
   testCaseStatus = "fail"; 
 }

testCaseStatusここで、Apache POIを使用して実装したExcelに行を追加するコードにを渡すことにより、この結果をExcelシートに保存します。try catchブロックを実装すると、「エラー」の状態を処理することもできます。

たとえば、いくつかの例外をキャッチして、ステータスをエラーとしてExcelシートに追加できます。

回答の編集部分-

TestResultクラスの使用方法を理解しました-これは私が投稿しているサンプルコードです-

これはExampleTestと呼ばれるテストケースクラスです-

public class ExampleTest implements junit.framework.Test {

@Before
public void setUp() throws Exception {
}

@After
public void tearDown() throws Exception {
}

@Test
public void test(TestResult result) {

    try{

        Assert.assertEquals("hari", "");

    }catch(AssertionFailedError e){

        result.addFailure(this, e);         
    }catch(AssertionError e){
        result.addError(this, e);
    }


}

@Override
public int countTestCases() {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public void run(TestResult result) {

    test(result);
}

}

私はこのコードから上記のテストケースを呼び出します-

public class Test {

public static void main(String[] args) {

    TestResult result = new TestResult();

    TestSuite suite = new TestSuite();

    suite.addTest(new ExampleTest());

    suite.run(result);

    System.out.println(result.errorCount());

}

}

このスイートにテストケースを追加するだけで多くのテストケースを呼び出し、TestResultクラスのfailures()メソッドとerrors()メソッドを使用して結果全体を取得できます。

あなたはここからこれについてもっと読むことができます。

于 2012-07-25T05:32:30.873 に答える