因此,我使用 SitePrism 为 POM 设置了 Capybara、Cucumber 项目,并且大部分情况下它都可以工作。当我使用:
Then('Find object name') do
expect(@page).to have_object_name
end
它工作得很好,但是当我开始使用时:
Then('Assign object names text to a variable') do
expect(@page).to have_object_name
valueA = @page.find('object_name').text
end
这不起作用并引发错误
Unable to find css "object_name" (Capybara::ElementNotFound)
但是,如果我使用:
Then('Assign object names text to a variable') do
expect(@page).to have_object_name
valueA = @page.find(:xpath, 'object_name_XPath').text
end
这也很好,但是这种方式违背了 POM 的观点,因为它会大大增加维护。
我想我一定是遗漏了一些东西来获取 page.find 从我的页面中找到 object_name,但我已经在它周围跳舞并搜索了高低,但似乎无法解决问题。帮助?:)