2

「新しいユーザーフォームの追加」に取り組んでいます。このフォームには、いくつかの必須フィールドがあります。必須フィールドが空の場合、フォームは送信されず、「値は必須であり、空にすることはできません」のような検証メッセージが表示されます。フィールドが空かどうかにかかわらず、フォームをチェック/自動化するにはどうすればよいですか?

4

3 に答える 3

2

方法 1: まず、次のメソッドを記述します。

private boolean isTextPresent(String text){
        try{
            boolean b = driver.getPageSource().contains(text);
            return b;
        }
        catch(Exception e){
            return false;
        }
  }

上記のメソッドを呼び出して、予想されるメッセージがページに存在するかどうかをアサーションします。

assertTrue(isTextPresent("Value is required and can't be empty"), "Msg is absent/wrong/misspelled");

方法 2: 別の方法は次のとおりです。

import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.openqa.selenium.*;

private StringBuffer verificationErrors = new StringBuffer();

try {
      assertTrue(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Value is required and can't be empty[\\s\\S]*$"));
    } catch (Error e) {
      verificationErrors.append(e.toString());
    }
  }
于 2013-08-27T10:18:29.757 に答える