我正在使用Python进行测试。在步骤文件中,我想获取当前步骤名称,因为如果测试失败,我会截取屏幕截图并将文件重命名为步骤名称。
这样的事情:
鉴于用户已登录
当用户执行某项操作时
然后会发生一些事情
我希望我的步骤代码是这样的:
@given('user is logged in')
try:
# MY CODE HERE
except:
# GET THE STEP NAME HERE
任何人都知道如何做到这一点?
答案 0 :(得分:6)
我已基本完成了您要做的工作,通过在anchorPoint = CGPoint(x: 0.5, y: 0.5)
let leftShape = SKShapeNode(rectOfSize: CGSize(width: frame.size.width/8, height: frame.size.height/2))
leftShape.fillColor = UIColor.redColor().colorWithAlphaComponent(0.2)
leftShape.strokeColor = UIColor.clearColor()
leftShape.name = "left"
addChild(leftShape)
文件中设置after_step
挂钩来截取失败测试的屏幕截图。
environment.py
如果某个步骤可以出现在多个场景中,您很可能也想要场景名称。
如果上述内容对你不起作用,遗憾的是,行为不会在def after_step(context, step):
if step.status == "failed":
take_the_shot(context.scenario.name + " " + step.name)
上使用当前步骤设置step
字段,就像使用当前方案或{{context
一样1}}具有当前功能。您可以使用scenario
挂钩执行此类指定,然后在步骤本身中,您将访问步骤的名称feature
。类似的东西:
before_step
步骤实施:
context.step.name