fan*_*ypi 4 c# scenarios specflow
我要登录一次,然后在关闭浏览器之前运行几个方案(假设有7个方案)。
我使用Background而不是在每个场景中都登录了Given,但是似乎每次运行场景时,它都首先登录。
这减慢了我的测试速度。
我想做的事:
登录并在同一浏览器窗口上运行多个方案,然后在完成后将其关闭。
您正在寻找的是Specflow挂钩。
https://github.com/techtalk/SpecFlow/wiki/Hooks
您将无法在后台指定“登录”作为步骤,而是标记需要登录的每个方案。
例:
@alreadyLoggedIn
Scenario: user can see XYZ
Given...
@alreadyLoggedIn
Scenario: user can see ABC
Given...
Run Code Online (Sandbox Code Playgroud)
然后,您只需要在使用BeforeFeature属性修饰的方法中指定用于“登录”的代码即可。对于功能中的任何方案,此方法将只运行一次。
[BeforeFeature("alreadyLoggedIn")]
public void BeforeFeatureLoggedIn()
{
// write code to log the person in
}
Run Code Online (Sandbox Code Playgroud)
如果您需要测试的用户/角色不同,则只需创建单独的标签(即adminAlreadyLoggedIn,salesAlreadyLoggedIn等)
希望这能使您走上正确的道路!
| 归档时间: |
|
| 查看次数: |
1857 次 |
| 最近记录: |