我正在使用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
}
答案 0 :(得分:1)
他们这样做。步骤将与@BeforeClass,@ Before,@ Test等一起运行。您的if (!authenticated)
语句似乎可能会排除执行auth.login()
步骤。
这里肯定没有足够的代码(比如boolean authenticated
)来清楚地检查你的问题,但我希望这个答案可以帮助你。