如何使用Python获得当前的行为步骤?

时间:2015-07-21 14:21:30

标签: python python-behave

我正在使用Python进行测试。在步骤文件中,我想获取当前步骤名称,因为如果测试失败,我会截取屏幕截图并将文件重命名为步骤名称。

这样的事情:

鉴于用户已登录
用户执行某项操作时 然后会发生一些事情

我希望我的步骤代码是这样的:

@given('user is logged in')  
try:  
   # MY CODE HERE  
except:  
   # GET THE STEP NAME HERE

任何人都知道如何做到这一点?

1 个答案:

答案 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