2014-03-13 1 views
0

존재하지 않는 요소를 선언 할 수 있습니까? "textarea"요소가 사이트에 존재하지 않는다고 주장하고 싶습니다.Assert ElementNotPresent Webdriver

try { 
    assertFalse(isElementPresent(By.cssSelector("textarea"))); 
} catch (Error e) { 
    verificationErrors.append(e.toString()); 
    System.out.println(verificationErrors); 
} 


private boolean isElementPresent(By by) { 
    try { 
     driver.findElement(by); 
     return true; 
    } catch (NoSuchElementException e) { 
     return false; 
    } 
} 
+0

게시 한 코드가 귀하를위한 목적을 충족시키지 못합니까? –

답변

0

방법 # 1

수입 junit.framework.Assert;

경우
{
에서 System.out.println ("사용할 수 없음 텍스트") (isElementPresent (By.cssSelector ("텍스트 영역"))!);
} else
{
Assert.fail();
} 귀하의 경우에는


방법 # 2

긍정적 인 경우

수입 junit.framework 아래에 주어진 부정 사용 사례로 이동하시기 바랍니다. 주장하다;

부울 b = driver.getPageSource(). contains ("your text");
Assert.assertTrue (b);

부정적인 경우

수입 junit.framework.Assert;

부울 b = driver.getPageSource(). contains ("your text");
Assert.assertFalse (b);

이렇게하는 방법은 다양합니다. 위는 적습니다 :)

방법 1이 좋습니다!

+0

질문이 있으시면 연락주세요 –

+4

페이지 소스를 통해 검색하는 것은 매우 좋지 않고 부정확 한 방법으로 요소를 찾습니다. 이 대답을 다시 생각해보십시오. – JimEvans

+0

확실한 @JimEvans 곧 편집을 시작합니다 –

0

질문에있는 코드가 작동해야합니다.

또 다른 방법은 driver.findElement 대신 driver.findElements을 호출하는 것입니다 (추가 된 내용은 s입니다). NoSuchElementException을 던지는 대신 driver.findElements은 일치하는 항목이없는 경우 빈 목록을 반환합니다. 거기에서 반환 된 목록의 크기가 0이라고 주장하면됩니다.