1

JUnitを使用してEclipseでSelenium Web Driverを使用しています。ページにテキストが存在するかどうかを簡単に確認する必要があります。存在する場合は、エラーを生成する必要があります。このエラーを JUnit 障害トレースに表示したい。これは私のコードです:

public class Check  {
@Rule
public ErrorCollector errCollector = new ErrorCollector();

@FindBy(tagName="body")
@CacheLookup
private WebElement titl;
@FindBy(partialLinkText="Exception")
@CacheLookup
private WebElement excep;


public void check_false(String t, String r) {
        try {
             String bodyText = titl.getText();
             Assert.assertFalse("Exception found", bodyText.contains(t)); }
         catch (AssertionError e) {
             System.err.println(r + ": " + e.getMessage());
             System.out.println(excep.getText());
             errCollector.addError(e);   
            }    
          }

エラーが出る場合はEclipseコンソールに表示されるのですが、JUnitでエラーなしと表示され、例外メッセージが表示されないかテストします。どうすれば正しくチェックできますか?

4

2 に答える 2

0

私が使う

AssertJUnit.assertFalse("例外が見つかりました", bodyText.contains(t));

http://testng.org/doc/index.htmlからのものですhttp://testng.org/javadoc/org/testng/AssertJUnit.html を参照してください

テストが失敗したときのEclipse内で、junitウィンドウでstackstraceを取得します。エラーを収集しようとしたことはありません。それはスローします

アサーション失敗エラー

テストが失敗した場合でも、それをキャッチした場合、スタックトレースが JUnit ウィンドウに表示されるかどうかはわかりません。

于 2012-07-23T09:23:58.560 に答える
0

これはあなたが求めているものではないかもしれません。その場合は申し訳ありませんが、単純に失敗して、その理由に関するオプションのメッセージを提供できます。

public void checkText(String actual, String expected){
  try{
    if(!expected.equals(actuals){
      fail("Expected : [ " expected + " ] , actual [" + actual + "]"
  }catch(SomeOtherException soe){
      fail(soe.getMessage());
  }
 }
于 2012-07-23T10:56:53.440 に答える