我们可以在黄瓜框架中有两个 evn.rb 文件用于 Watir-Webdriver 和 REST API 项目测试吗

Can we have two evn.rb files in cucumber framework for Watir-Webdriver and REST API project Testing

目前我有两个单独的项目用于 Rest API 和 Watir-webdriver with cucumber,所以我打算将它们移到一个项目中,所以是否可以将其作为一个项目

我想在一个项目中保留 My Rest API 框架 [Cucumber + Httparty + Json ] 和 Watir-webdriver 框架 [Cucumber + Watir-webdriver], 有没有人可以帮助我?

可以在同一个项目中进行 service/browser 测试,实际上,这很常见,因为很多东西都可以在 ui 和服务测试层之间重用...我不认为这是可能有 2 env.rb 个文件,老实说,你没有理由想要...但我明白你为什么要考虑它...

您可以通过多种方式在单个存储库中管理您的 service/ui 框架,这完全取决于您遵循的路径...以下是您可以实现此目的的众多方式之一:

在你的两个框架中,你可能有独特的设置 env.rb...将那些独特的依赖项抽象到与 env.rb 相同级别的模块中,例如:

service.rb
browser.rb

在每个模块中添加您 ui/service 测试所需的步骤:ui:

module ServiceHelper/BrowserHelper      
  def service_setup/browser_setup
  end
end

现在在你的 env.rb 文件中,基于一些 ENV 变量配置,你调用浏览器或服务测试的设置:

require 'service'
require 'browser'

include 'BrowserHelper'
include 'ServiceHelper'

if ENV['driver'] = 'service'
  service_setup
elsif ENV['driver'] = 'browser'
  browser_setup
else
  ...
end

最后,你可能会发现你的 UI 测试会重用你的服务测试 suite 中的很多东西,例如,数据设置可以通过服务来完成协助你的 UI 测试......当你得出那个结论时,你将不再需要一个子句并加载一个或另一个......而是将设置 service/browser 抽象到模块中,在env.rb 仍然是一个很好的做法,然后您可以保持 env.rb 干净,并帮助管理您用于不同目的的不同设置...