Я использую rspec-watir для автоматизации некоторых тестов, и недавно возникла странная проблема.
Фон: У меня есть метод под названием select_cards(cards)
, который выполняет поиск, выбирает 16 (особенно 16) карт, а затем добавляет их в раздел ... Недавно я изменил свою конфигурацию, чтобы окно экрана начиналось с 1920x1080 (@browser.window.resize_to(1920, 1080)
)
Watir-webdriver; изменение поведения метода из-за изменения размера окна?
Поскольку делать это всякий раз, когда я бегу select_cards(cards)
он выбирает только 12 карт вместо 16. Тем не менее, когда я закомментировать метод window.resize_to
, она успешно захватывает все 16
Любая идея, почему изменение размеров окна будет вызывать изменение поведения? Любые мысли о том, как я могу это решить?
Фрагмент кода для того, как select_cards(cards)
работ:
def select_cards(cards)
@browser.button(:class, 'add-cards').click
# this runs a generic search to return all cards
search_modal = @browser.div(:class, 'quick-search')
search_modal.button(:class, 'test-quick-search').click
results = @browser.div(:class, 'search-results')
# This #take() passes in how many cards to click on--as stated; 16
cards = results.divs(:class, 'card selectable')
cards.take(cards).each do |assets|
assets.click
end
end
Если вы не изменяете размер браузера, это окно больше или меньше, чем 1920x1080? Имеет ли ваше приложение какой-либо отзывчивый дизайн (т. Е. Изменения макета в зависимости от размера окна)? –
@ JustinKo, обычное окно браузера - _smaller_, чем 1920x1080, и да, есть некоторый отзывчивый дизайн - когда окно сокращается или расширяется, количество карт на строку изменяется (то есть, в обычном оконном окне браузера работает 4, 1920x1080 => 6) – kmancusi
Интересно, я бы ожидал, что маленькое окно станет проблемой. Совместное использование способов поиска элементов поможет. Кроме того, проверка HTML в двух разных размерах браузера может предоставить полезную информацию. –