从自定义黄瓜格式化器驱动浏览器

时间:2013-10-14 13:59:55

标签: ruby testing cucumber watir

我正在尝试创建一个自定义黄瓜格式化程序,它将在每个步骤之前执行某些操作。我的问题是在我们的舞台环境中发生的随机弹出横幅(模态)。我无法拒绝它们,因为营销正在测试它们,它们打破了回归脚本。很难对它们进行编码,因为我不知道它们会弹出什么样的纸张,或者它们会留在那里多久。所以我创建了一个在每个步骤之前运行的格式化程序。但我有问题将命令传递给浏览器。

require 'watir-webdriver'

module Custom
  class Formator
    def initialize(step_mother, io, options)
      @step_mother = step_mother
      @io = io
    end

    def before_step(step)
     @browser.goto "http://stage.website.local/"
    end
 end
end 

当我使用它时,我收到错误

undefined method `goto' for nil:NilClass (NoMethodError)

1 个答案:

答案 0 :(得分:0)

我在理解你的问题时遇到了一些问题。你在谈论“自定义黄瓜格式化程序”,但有一个名为Formator的类。格式化程序是Watir::Browser的子类。这有什么意义呢?

据我所知,您希望对暂存环境进行一些回归测试。弹出窗口会随机显示测试,您不想禁用它们,以便测试人员拥有它们。

我建议您不要根据用户代理显示这些弹出窗口。您可以将测试套件配置为使用特定的用户代理或其他标题信息运行,并使用此秘密设置禁用弹出窗口。