【问题标题】:Looking for a way to write to a file the name of the step and the scenario寻找一种将步骤名称和场景写入文件的方法
【发布时间】:2015-12-18 13:16:22
【问题描述】:
我正在使用此函数将步骤的错误/失败写入文件:
def addToErrorFile(errorName)
open('error.txt', 'a') { |f| f.puts"#{errorName}"}
end
这个函数位于我的测试流程的很多地方。
最后为了便于阅读,我想添加步骤名称(然后 /I go to...)以及场景(场景:登录到..)。
有没有办法将它们复制到函数中?
【问题讨论】:
标签:
android
ruby
function
automation
calabash-android
【解决方案1】:
您可以在写入错误日志的场景挂钩之前和之后放置一些代码。那应该把它分解一下,让它更容易阅读。像这样。
Before do |scenario|
your_logging_method(scenario.name)
end
After do |scenario|
your_logging_method(scenario.name)
end
还有一个 AfterStep 钩子,虽然我没用过。
AfterStep do |step|
another_logging_method(step)
end
您可能必须在 step 变量上调用一些方法才能使其成为有用的格式。
这是黄瓜钩子文档的链接 - https://github.com/cucumber/cucumber/wiki/Hooks
【解决方案2】:
最好使用 ruby(开始救援确保)并将代码放在那里。您保存测试会话,您可以将测试进行到下一步,您可以在其中放置代码行以将下一步的名称保存到文件中