我有一个功能测试,页面上列出了待办事项列表,然后点击第一个待办事项以查看该待办事项的详细信息。第一个todo链接ID为todo_1。
我面临的问题是,在我访问链接之前,我不知道如何等待链接出现。使用AJAX调用在表中列出了待办事项。
答案 0 :(得分:1)
Capybara在其大部分发现者和动作中都有等待行为,所以你通常不必专门等待ajax完成,因为Capybara等待页面上的可见变化发生。所以,如果你这样做
visit 'page path'
find('selector to the todo div that gets clicked first').click
click_link 'todo_1'
click_link将等待Capybara.default_max_wait_time秒,以显示链接。如果测试中的时间不够长,您可以增加Capybara.default_max_wait_time或将等待选项传递给需要更长潜在等待时间的特定方法调用
click_link 'todo_1', wait: 10
如果我不明白你在做什么,请发布更多的html以使其更清晰