2016-07-14 4 views
0

나는 어 써트를 쓰기 위해 watir-webdriver와 rspec을 사용하고있다. 새 창 요소에 대한 단언문을 실행하는 데 문제가 있습니다.새로운 윈도우에서 rspec 어설 션

describe 'testing a new window' do 
    it 'opens a new window' do 
     open_window.use 
     sleep 2 # hackey way of getting it to work so far 
    end 
    it 'sees elements on page' do 
     # code for expectations of elements 
     # Several more it blocks 
    end 
end 

무슨 일이 일어나고 무엇 :

def open_window 
    foobar = @browser.window(:title, 'Foo View') 
    return foobar 
end 

이 내 사양을 쓰고있는 방법입니다
이것은 내가 사용하고 나의 방법이다 나는의 불확정 금액에 대한 sleep 명령에 넣어하지 않는 한 시간이 지나면 모든 어설 션을 실행하기 전에 창이 닫히는 것처럼 보입니다. 전체 사양을 통해 새 창을 열어 둘 수 있도록 wait을 적용 할 수 있습니까?

+1

웹 응용 프로그램은 짧은 시간 후 폐쇄 후 브라우저를 열고있다의 라인을 따라 뭔가 말을 설정하는 문제였다 ? 그리고 닫히기 전에 모든 테스트를 실행하고 싶습니까? – titusfortner

+0

@titusfortner, 예 - 열어주는 창에서 어설 션을 실행하기 위해 찾고 있습니다. – kmancusi

+0

@kmancusi, 누가 새 창을 닫고 있습니까? 테스트 중이거나 닫으려고 Watir에게 말하고있는 응용 프로그램입니까? Watir이 임의로 창을 닫는 것은 꽤 드문 일입니다. 시험 중 하나가 폐쇄를 일으키지 않는 것이 확실합니까? 창문이 닫히기 전에 항상 통과하는 동일한 테스트 세트입니까? –

답변

0

몇 가지 리팩토링을했고 지금 제대로 작동 - 본질적으로는 #when_present.use

0

아직 댓글을 달 수 없습니다.

페이지에서 작업을 수행하지 않는다고 가정하면 닫을 때까지 모든 콘텐츠를 인스턴스 변수로 밀어 넣은 다음 이에 대한 어설 션을 실행하십시오.

이상하지는 않지만 작동 할 수도 있습니다.