使用jUnit的Serenity BDD如何将步骤注入setup方法?

时间:2016-08-02 12:12:01

标签: selenium junit bdd thucydides serenity-bdd

我正在使用Serenity,Selenium和jUnit的测试框架。我有一些依赖于用户身份验证的测试。基本上我必须重复每个测试的所有登录步骤。我想将这些步骤移到@Before方法,但似乎没有在未注释为@Test的方法中初始化Steps ...请参阅下面的代码片段,AuthSteps实例未初始化。

我有哪些选择?

@RunWith(SerenityRunner.class)
public class MyTests extends AbstractTest {
@Managed(driver = "firefox", uniqueSession = false)
@Steps
AuthSteps auth;

@Before
public void authSetup() {
 if (!authenticated){
  auth.login();
  //a lot of other things
 }
}

@Test
public void mytest(){
 //do test related stuff
}

1 个答案:

答案 0 :(得分:1)

他们这样做。步骤将与@BeforeClass,@ Before,@ Test等一起运行。您的if (!authenticated)语句似乎可能会排除执行auth.login()步骤。

这里肯定没有足够的代码(比如boolean authenticated)来清楚地检查你的问题,但我希望这个答案可以帮助你。