测试环境:水豚,恶作剧,幻影。
当我单击测试用例中的链接时,会打开一个新窗口。我能够切换到新窗口并使用selenium驱动程序验证文本。但是,我无法用poltergeist切换到新窗口。我尝试了以下方法切换到新窗口,但没有一个工作。 我想知道一个新的浏览器是否完全打开并且看起来像是。
main = page.driver.browser.window_handles.first
puts main (gives 0)
popup = page.driver.browser.window_handles.last
puts popup (gives 1)
1. within_window(->{ page.title == '2015-11-5.pdf' }) { assert_text(facility_name) }
2. page.switch_to_window(window=popup)
3. page.switch_to_window(page.driver.browser.window_handles.last)
4. page.driver.browser.switch_to().window(page.driver.browser.window_handles.last)
有人可以提供任何输入吗?谢谢!
答案 0 :(得分:3)
我使用了以下内容,弹出窗口生成,控件切换到它。
page.switch_to_window(page.window_opened_by{click_link('Generate Report')})
新窗口中嵌入了pdf。当我使用selenium驱动程序时,我能够读取和验证文档的内容。对于恶作剧者,我无法阅读pdf。你能给我一些关于如何进行的指示吗?
答案 1 :(得分:2)
Capybara有许多交叉驱动程序方法来处理这个问题,而无需使用特定于驱动程序的方法。
popup = page.window_opened_by {
click_link('whatever link opens the new window')
}
within_window(popup) do
# perform actions in the new window
end