我有6个产品页面,它们在功能测试方面几乎完全相同。他们之间的区别只在于描述和图像,我目前没有做任何事情。这是我的current_setup: 基页:product_page.rb
class ProductPage
button(:add_fruit_proceed, :id => add_fruit)
text_field(:fruit_quantity, :id => fruit_quantity)
end
产品页面看起来与此类似:apple_page.rb
class ApplePage < ProductPage
page_url "#{domain}/fruit/apple"
end
有没有办法整合所有这些,以便我只有product_page.rb?我需要page_url,因为我在测试中使用了访问(ApplePage)。
答案 0 :(得分:2)
page_url
可以更改为:
page_url "#{domain}/<%=params[:category]%>/<%=params[:type]%>"
页面对象gem使用ERB来创建页面URL模板,允许稍后替换params - 即在调用visit时。
要访问该页面,您必须在using params
:
visit ProductPage, using_params: {category: 'fruit', type: 'apple'} do |page|
# Do stuff with the domain/fruit/apple page
end