如何在场地棱镜中包含黄瓜的世界概念?这样我就可以在World中包含test_site类,然后无需每次在step函数中实例化test_site类。可能吗?
我正在使用Ruby与Capybara和site-prism;不是铁路!!!
我的test_site类是:
class TestSite
def home
TestHomePage.new
end
end
我不能这样做吗?
module Some
class TestSite
def home
TestHomePage.new
end
end
end
World(Some)
答案 0 :(得分:1)
SitePrism自述文件有关于如何处理此问题的建议,请参见此处:
答案 1 :(得分:1)
我找到了问题的答案。
正如Nat建议的那样,我在这里关注了SitePrism自述文件:
[http://rdoc.info/gems/site_prism/file/README.md#Epilogue][1]
我将App类更改为Module并在支持文件中使用了World(App),因此每当我需要在步骤定义中使用元素时,我只能给出
page_name.element_name.click
而不是@app.page_name.element_name.click
我将以下课程改为模块,并将模块纳入世界世界(应用程序)
class App
def home
Home.new
end
end
修改为
Module App
def home
Home.new
end
end
如果我将类更改为Module会有什么问题吗? 在我继续之前,对我来说一切都很好,想要确认一下。
答案 2 :(得分:0)
您可以创建一个模块以返回所需的所有页面。
在支持文件夹中的此文件中创建一个object_factory.rb
,您可以添加:
Module Pages
def my_page
MyPage.new
end
end
在文件env.rb
中,您可以插入:
require_relative 'object_factory'
和
World(Pages)
在“页面”模块中创建的对象将可用于所有步骤定义