webdriver を使用して、読み込まれたページにテキスト行が存在することを確認しようとしています。関数を作成しました- isTextPresent、次に同じメソッド内で関数を呼び出しました。
Eclipse からエラーが表示されました。メソッド IsTrue(boolean) は、タイプ Assert に対して未定義です。
- なぜうまくいかないのか、どうすれば直せばよいのか教えてください。
Web ページ上のテキスト表示を検証するための最良の方法は何ですか?
2a.
@Test
最初のコード フラグメント内のテキスト表示を確認することは可能ですか?2b. この場合、どのタイプ##メソッドの見出し##を使用する必要がありますか(パブリック、プライベート、または保護)?
私のコードフラグメント:
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import org.junit.Before;
import org.junit.After;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
public class selftechyTestng
{
private WebDriver driver;
private String baseUrl;
@Before
public void setUp() throws Exception
{
driver = new FirefoxDriver();
baseUrl = "http://selftechy.com/";
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}
//First Test Method
@Test
public void searchElements() throws Exception{
driver.get(baseUrl);
driver.findElement(By.xpath("//a[@title='Selenium']")).click();
}
@Test
public boolean isTextPresent(String txtValue){
try{
boolean b = driver.getPageSource().contains(txtValue);
return b;
}
catch (Exception e){
return false;
}
Assert.IsTrue(isTextPresent("TestNG (Next Generation Testing Framework) – Understanding Annotations"));
}
}
関数isElementPresentの呼び出しを機能させるために行った変更searchElements() メソッド内にassertTrue()メソッドを追加する
assertTrue(isTextPresent(txtValue));
メソッド isElementPresent
public boolean isTextPresent(String str1)
{
try
{
driver.get(baseUrl);
driver.findElement(By.xpath("//a[@title='Selenium']")).click();
b = driver.getPageSource().contains(str1);
if(b){
System.out.println("text presented on the page");
}
else{
System.out.println("text did not present on the page");
}
return b;
}
catch (Exception e)
{
System.out.println(e.getMessage());
return b;
}
//return b;
}