使用 jUnit 的 Serenity BDD 如何将步骤注入设置方法?
Serenity BDD with jUnit how to inject steps into setup method?
我正在开发一个使用 Serenity、Selenium 和 jUnit 的测试框架。我有一些依赖于用户身份验证的测试。基本上我必须为每个测试重复所有登录步骤。我想将这些步骤移至 @Before 方法,但似乎未在未注释为 @Test 的方法中初始化步骤...请参阅下面的代码片段,未初始化 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
}
他们有。使用@BeforeClass、@Before、@Test 等的步骤将 运行。您的 if (!authenticated)
语句似乎排除了 auth.login()
步骤的执行。
这里提供的代码(比如 boolean authenticated
)肯定不足以清楚地检查您的问题,但我希望这个答案对您有所帮助。
我正在开发一个使用 Serenity、Selenium 和 jUnit 的测试框架。我有一些依赖于用户身份验证的测试。基本上我必须为每个测试重复所有登录步骤。我想将这些步骤移至 @Before 方法,但似乎未在未注释为 @Test 的方法中初始化步骤...请参阅下面的代码片段,未初始化 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
}
他们有。使用@BeforeClass、@Before、@Test 等的步骤将 运行。您的 if (!authenticated)
语句似乎排除了 auth.login()
步骤的执行。
这里提供的代码(比如 boolean authenticated
)肯定不足以清楚地检查您的问题,但我希望这个答案对您有所帮助。