Я использую watir-webdriver и rspec для записи утверждений. У меня возникают проблемы с выполнением утверждений на элементах нового окна.
Это мой метод я использую:rspec утверждает в новом окне
def open_window
foobar = @browser.window(:title, 'Foo View')
return foobar
end
Это, как я пишу мою спецификацию:
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
Что происходит: Если я не поставил в команде sleep
в течение неопределенного количества времени, кажется, что окно закрывается, прежде чем оно сможет выполнить все утверждения. Есть ли какой-то wait
, который можно применить, чтобы открыть новое окно через всю спецификацию?
Ваш веб-приложение открывает браузер, а затем закрыть его после короткого периода времени ? И вы хотите выполнить все свои тесты до закрытия? – titusfortner
@titusfortner, да - я ищу его для запуска утверждений в окне, которое он открывает – kmancusi
@kmancusi, который закрывает новое окно? Это приложение, которое вы тестируете, или вы говорите Ватиру о его закрытии? Для Ватира было бы довольно необычно закрыть окно. Вы уверены, что один из ваших тестов не вызывает закрытия? Всегда ли это тот же набор тестов, который проходит до закрытия окна? –