在执行watir-cucumber期间,是否有标准方法打印终端中每个步骤的持续时间?
使用"后续步骤"可以制作某种发明。和一个全局变量。但是,有一个正确的方法吗?
答案 0 :(得分:1)
你可以使用这样的钩子:
Before do
@last_time = Time.new
end
AfterStep do
now = Time.new
puts "Step duration: #{((now - @last_time)*100).round} ms" # if (now-@last_time) > 10
@last_time = now
end
通过在新行上输出持续时间更加冗长,但除非您想要更深入(通过创建自己的格式化程序),否则无法输出您指定的内容。
如果您只对超过特定阈值的步骤感兴趣,请取消注释if
。
答案 1 :(得分:0)
最简单的方法是使用Ruby内置的Time类。使用Time.new,我们可以在执行步骤定义中的代码之前和之后将当前时间记录到局部变量中。然后我们通过从end_time减去start_time来计算持续时间。
#get the start time
start_time = Time.new
#do whatever the step needs to do here
#get the end time
end_time = Time. new
#calculate duration
duration = end_time - start_time
puts duration