如何在网站棱镜中包含黄瓜的世界概念?这样我就可以在World中包含test_site类,而不必每次都在单步执行函数中实例化test_site类。有可能吗?
我使用的是带有Capybara和site-prism的Ruby;而不是rails!
我的test_site类是:
class TestSite
def home
TestHomePage.new
end
end我不能这样做吗?
module Some
class TestSite
def home
TestHomePage.new
end
end
end
World(Some)发布于 2013-08-04 21:47:00
SitePrism自述文件对如何处理此问题提供了建议,请参阅此处:
发布于 2014-06-02 15:09:46
我找到了我的问题的答案。
按照Nat的建议,我遵循了以下SitePrism自述文件:
[http://rdoc.info/gems/site_prism/file/README.md#Epilogue][1]
我将App class更改为Module,并在支持文件中使用了World(App),因此每当我需要在步骤定义中使用元素时,我只需提供page_name.element_name.click而不是@app.page_name.element_name.click
我将下面的类更改为Module,并将该模块包含在World中作为World(App)
class App def home Home.new end end
修改为
Module App def home Home.new end end
如果我把类改成模块会有什么问题吗??对我来说,一切似乎都很好,在我继续之前,想要确认一下。
发布于 2018-10-10 02:18:46
您可以创建一个模块来返回所需的所有页面。在support文件夹中,在此文件中创建一个object_factory.rb,您可以添加:
Module Pages
def my_page
MyPage.new
end
end在文件env.rb中,您可以插入:
require_relative 'object_factory'和
World(Pages)在模块页面中创建的对象将可用于所有步骤定义
https://stackoverflow.com/questions/16712039
复制相似问题