rspec утверждений в новом окне

browser rspec watir-webdriver assertions

87 просмотра

2 ответа

337 Репутация автора

Я использую watir-webdriver и 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который можно применить, чтобы новое окно оставалось открытым во всей спецификации?

Автор: kmancusi Источник Размещён: 14.07.2016 08:08

Ответы (2)


0 плюса

76 Репутация автора

Пока не могу комментировать.

Когда окно доступно, предполагая, что вы не выполняете действия на странице, просто поместите все содержимое в переменную экземпляра, прежде чем оно закроется, а затем запустите ваши утверждения против этого?

Не идеально, но это может сработать.

Автор: David Shute Размещён: 15.07.2016 02:21

0 плюса

337 Репутация автора

Решение

Сделал некоторый рефакторинг, и теперь он работает должным образом - по сути, это был вопрос установки, чтобы сказать что-то вроде#when_present.use

Автор: kmancusi Размещён: 28.07.2016 05:55
Вопросы из категории :
32x32