1

我正在开发一个使用 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
}
4

1 回答 1

1

他们是这样。步骤将使用@BeforeClass、@Before、@Test 等运行。看来您的if (!authenticated)陈述可能不包括执行您的auth.login()步骤。

这里提供的代码肯定不够(比如什么是boolean authenticated)来清楚地检查您的问题,但我希望这个答案对您有所帮助。

于 2016-08-03T08:16:24.737 回答