如何在 ruby+Cucumber2.0 中添加等待方法以等待特定元素加载完毕
How to add a wait method to wait until a specific element is loaded in ruby+Cucumber2.0
我在浏览器堆栈上测试案例时遇到问题。我面临的问题是不一致地再现。
为了让我的代码等待元素加载,我使用如下:
gift_no_btn1 = Capybara.find('giftingNoButton')
gift_no_btn1.click
这里的问题是屏幕卡在另一个模块中,我的预期元素没有加载,因此我的脚本失败了。我读过 find() 方法被 Capybara 2.0 中的 wait_untill 方法取代。
Capybaras 查找方法最多等待 Capybara.default_max_wait_time 秒,直到匹配元素出现。如果他们等待的时间不够长,请增加该设置或使用 :wait 选项覆盖它以进行特定查找,例如
page.find :css, 'CSS selector for the element', wait: 10
这将最多等待 10 秒让元素存在。在您的示例中,您传递了 'giftingNoButton' 的 CSS 选择器,除非您使用自定义元素,否则它实际上并不有效。您可能需要“#giftingNoButton”(查找 ID 匹配)或“.giftingNoButton”(class 匹配)
我在浏览器堆栈上测试案例时遇到问题。我面临的问题是不一致地再现。
为了让我的代码等待元素加载,我使用如下:
gift_no_btn1 = Capybara.find('giftingNoButton')
gift_no_btn1.click
这里的问题是屏幕卡在另一个模块中,我的预期元素没有加载,因此我的脚本失败了。我读过 find() 方法被 Capybara 2.0 中的 wait_untill 方法取代。
Capybaras 查找方法最多等待 Capybara.default_max_wait_time 秒,直到匹配元素出现。如果他们等待的时间不够长,请增加该设置或使用 :wait 选项覆盖它以进行特定查找,例如
page.find :css, 'CSS selector for the element', wait: 10
这将最多等待 10 秒让元素存在。在您的示例中,您传递了 'giftingNoButton' 的 CSS 选择器,除非您使用自定义元素,否则它实际上并不有效。您可能需要“#giftingNoButton”(查找 ID 匹配)或“.giftingNoButton”(class 匹配)