框架使用页面对象gem - bundle作为gem

时间:2015-01-28 21:13:23

标签: ruby watir-webdriver page-object-gem

我想使用ruby页面对象gem创建一个框架。这个想法很简单。我想在框架项目下分离常见的可重用组件,然后最终将所有这些组件捆绑为gem。 所有与项目相关的代码(页面和所有其他内容)都将进入项目内部。 我正在关注的好处是在不同项目中的可重用性。开发人员也可以更快地开发脚本。

现在的问题是:我可以在框架内移动钩子文件吗?如果是这样,如果我将这个框架gem添加到项目中,是否会自动选择gem内的钩子文件?我这样想的原因几乎是每个团队使用相同的钩子文件,根本没有任何变化。

整个想法都是干的。任何其他想法也欢迎。

1 个答案:

答案 0 :(得分:1)

我曾经为团队做过一段时间。我们最终得到的解决方案是一个名为global_hooks.rb的文件,它有一个方法define_hooks。当您调用该方法时,它将像钩子文件中一样定义钩子。因为它只是一个方法,所以直到在钩子文件中调用它才会被评估。

global_hooks.rb:

def define_hooks
  Before do
    #do something before
  end
end

hooks.rb:

require 'global_hooks'
define_hooks