你好,亲爱的Stackoverflowers。
我的水豚测试遇到了一些严重的烦人的麻烦。它似乎有自己的想法,有时会决定以零问题运行,有时会决定不查找元素,单击任何内容,通常只是吸吮。我不知道为什么会这样。
我已经进行了数天的研究,试图确定自己的逻辑,找到查找和单击元素或填写字段的“最佳”方法,但此后再也没有做过。请帮助,如果我仍然有头发,我会把它拔出来。
另外,我正在使用Selenium Web驱动程序。所有宝石都是最新的。
提前致谢。
它将随机决定不单击“ Amtrak 1234”,有时会完全错过find('#atedrop4')。click或将决定单击甚至在我的测试中未指定的元素。我很困惑,急需一些帮助。
it 'can view the itinerary print and export', js: true do
visit '/admin/login'
fill_in 'Email', with: "[email protected]"
fill_in 'Password', with: "guest"
click_button 'Login'
click_link 'Trips'
expect(page).to have_content 'Trips'
click_link('View Trip Page', match: :first)
new_window=windows.last
page.within_window new_window do
expect(page).to have_content 'A Test To Forget'
find('.showItinerary').click
expect(page).to have_content "DAY 1, AMSTERDAM"
find(:xpath, "//a[@href='#flight1day1']").click
expect(page).to have_content "SINGAPORE AIRLINES FLIGHT 326"
click_link 'Add to Calendar'
find('.ategoogle').click
new_window=page.driver.browser.window_handles.last
page.driver.browser.switch_to.window(new_window) do
fill_in "Email", with: "[email protected]"
fill_in "Password", with: "boarder1"
find("#signIn").click
expect(page).to have_content "[email protected]"
page.driver.browser.close
end
find(:xpath, "//a[@href='#flight1day1']").click
find(:xpath, "//a[@href='#train1Day1']").click
click_link('Export to Calendar', match: :first)
find('.ategoogle').click
new_window=page.driver.browser.window_handles.last
page.driver.browser.switch_to.window(new_window) do
expect(page).to have_content "[email protected]"
page.driver.browser.close
end
find(:xpath, "//a[@href='#train1Day1']").click
find(:xpath, "//a[@href='#carRentalDay1']").click
click_link('Export to Calendar', match: :first)
find('.ategoogle').click
new_window=page.driver.browser.window_handles.last
page.driver.browser.switch_to.window(new_window) do
expect(page).to have_content "[email protected]"
page.driver.browser.close
end
find(:xpath, "//a[@href='#carRentalDay1']").click
find(:xpath, "//a[@href='#hotelDay1']").click
click_link('Export to Calendar', match: :first)
find('.ategoogle').click
new_window=page.driver.browser.window_handles.last
page.driver.browser.switch_to.window(new_window) do
expect(page).to have_content "[email protected]"
page.driver.browser.close
end
find(:xpath, "//a[@href='#hotelDay1']").click
find(:xpath, "//a[@href='#carTransfer1Day1']").click
click_link('Export to Calendar', match: :first)
find('.ategoogle').click
new_window=page.driver.browser.window_handles.last
page.driver.browser.switch_to.window(new_window) do
expect(page).to have_content "[email protected]"
page.driver.browser.close
end
find(:xpath, "//a[@href='#carTransfer1Day1']").click
最佳答案
有帮助的一件事是在水豚测试中使用save_and_open_page。这样,您可以打开测试页的html源,并验证您的html ID和类是否确实存在/是否以您认为的方式呈现。当我做嵌套表单并将html动态添加到页面时,对我而言尤其如此。
关于ruby-on-rails - capybara :有时找到元素,有时找不到,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29975620/