2011-04-13 2 views
4

나는 레코드를 삭제하는 테스트를 작성하고 삭제 한 후에 레코드가 더 이상 존재하지 않는지 확인해야합니다. 레코드 텍스트를 확인하는 방법을 알고 현재 페이지에서 "browser.text.include?"가 있지만 텍스트가 이 아닌 대신 표시되는지 확인할 수 있습니까? 텍스트가 삭제 된 후에도 테스트가 실패하면 테스트가 필요합니다. 검색했지만 검색시 얻는 유일한 검색 결과는 인 텍스트를 확인하는 방법입니다. 이는 내가 원하는 것과 반대입니다.Watir : 웹 페이지에 텍스트가 나타나지 않는지 확인하는 방법

대단히 감사합니다.

+2

당신은 단지 부정을 확인 할 수 없습니다 :

do_a_faily_thing unless browser.text.include? "face-eating-badger-eating-badgers are eating my face-eating badgers" 

가 추가는 "다른"예를 보여? 예 : Assert.IsFalse (즉, .ContainsText ("Foo", "레코드가 삭제되지 않았습니다.") – nithins

답변

4

browser.text.include을 삭제? 부울 값 (실제로는 truetype 또는 falsetype이지만이 시간은 토론의 시간이 아닙니다)을 반환하므로 검색 결과를 반대로 표시합니다.

do_a_faily_thing if not browser.text.include? "badgers are eating my face" 

나만의 필요에 따라 자유롭게 사용자 지정할 수 있습니다. 추신. 이것은 기본적으로 ry의 대답으로, 얼굴을 먹는 오소리들에게만 해당됩니다. 척의 제안에서 역사적 관심을

추가 :

if browser.text.include? "badgers are eating my face" 
    do_a_thing 
else 
    phew_no_badgers 
end 
+1

아하, 둘 다 감사합니다! 각 부분을 사용했습니다 - browser.text.include 인 경우 설정 했습니까? "badgers가 내 얼굴을 먹고 있습니다. "그렇다면 실제로는 좋지 않다!"라고 말하면 좋겠다. –

+1

나는 보통 '좋아하지 않는다'는 것을 좋아하지만,이 경우 '그렇지 않다면'보다 더 잘 읽는다 고 주장 할 것이다. @kinofrost는 기본적으로 여러분이 말하는 것을 루비 한 방법입니다. 그냥 작업을 먼저 넣은 다음 작업을 수행 할 조건을 입력하십시오. –

+0

@Kim, 여러분의 의견을 통해 우리가 할 수 있었던 것을 듣고 기쁘게 생각합니다. 당신을 돕는다. 당신이 필요로하는 답을 제공하고 다른 독자들에게 '옳은'답변을 제시하는 것에 대한 신용은 당신을 위해 일한 대답을 '받아들이는 것'입니다. (그것들을 끌어 올리는 것도 좋은 일이지만, 대답이 받아 들여질 때 큰 녹색 체크 마크는 대답 한 사람들을 공언하고 다른 사람들에게 대답하는 것입니다) –

2

방법에 대해 :

!browser.text.include?("my string") 
+0

이 스크립트를 시도해 보니 스크립트가 따옴표로 바뀌면 기대치를 얻지 못한다고 계속 말합니다. –

2

또는 어떤 테스트 프레임 워크에 따라이 존재하여, 레코드가 HTML 요소를 포장하는 경우

# RSpec and/or Cucumber 
browser.text.include?("my string").should != true 

# TestUnit 
assert(browser.text.include?("my string") != true) 
+0

이 목적을 위해 Rspec에 "should_not"메서드가 있습니다. – katmoon

0

을 사용하고 있습니까? 방법은 존재를 확인하는 또 다른 방법입니다.

는 레코드 (샘플)

<p class='foo'>bar</p> 

check 스크립트

p(:class,'foo').exist?