如何在不同类中使用一个步骤类实例serenity-bdd

问题描述

我在步骤src / test / java / starter / steps文件夹中有步骤类NavigateHome.java

public class NavigateHome {
    HomePage homePage;
    CurrentPage currentPage;

@Step
public void isOnTheHomePage() {
    homePage.open();
}

@Step
public void shouldSeeTitle(String expectedTitle) {
    assertthat(currentPage.getTitle()).containsIgnoringCase(expectedTitle);
}

}

src / test / java / starter / features / login文件夹中有两个类StaffNavigateHomeAndLogin和StudentNavigateHomeAndLogin

StaffNavigateHomeAndLogin.java

@RunWith(SerenityRunner.class)
//@FixMethodorder(MethodSorters.NAME_ASCENDING)

public class StaffNavigateHomeAndLogin {

@Steps
NavigateHome navigateHome;

@Steps
LoginAsstaff loginAsstaff;

    @Steps
    logoutAsstaff logoutAsstaff;

    @Managed
    WebDriver driver;


    @Test
    public void StaffNavigateHomeAndLogin() {

        navigateHome.isOnTheHomePage();

        navigateHome.shouldSeeTitle("test");

        loginAsstaff.isLogin();

        loginAsstaff.isLoggedIn();

        logoutAsstaff.islogout();

        logoutAsstaff.isLoggedOut();

    }


}

StudentNavigateHomeAndLogin.java

@RunWith(SerenityRunner.class)
public class StudentNavigateHomeAndLogin {

        @Steps
        NavigateHome navigateHome;
    
        @Steps
        LoginAsstudent loginAsstudent;
        @Steps
        logoutAsstudent logoutAsstudent;
    
        @Test
        public void StudentNavigateHomeAndLogin() {
    
            navigateHome.isOnTheHomePage();
    
            navigateHome.shouldSeeTitle("test");
    
            loginAsstudent.isLogin();
    
            loginAsstudent.isLoggedIn();
    
            logoutAsstudent.islogout();
    
            logoutAsstudent.isLoggedOut();
    
        }
    } 

问题在于StudentNavigateHomeAndLogin.java永远不会运行,因为navigationHome始终为空。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)