我正在使用带有 selenium webdriver 和 testng 的页面对象模式。我想跨多个访问另一个类中的一个页面对象类的实例<test>
。
例如
<test name="Login scenario">
<classes>
<class name="sanitytests.LoginTests">
<methods>
<include name="validLogin"/>
</methods>
</class>
</classes>
</test>
<test name="scenario2" preserve-order="true" parallel="false">
<classes>
<class name="sanitytests.HomePageTests">
<methods>
<include name="clickOnMyAccountFromHome"/>
</methods>
</class>
</classes>
</test>
在我的 LoginTests 类中,我正在使用 homePage 类的实例
@Test()
public void validLogin(ITestContext context) throws Exception {
loginPage.loginDetails(username,password);
homePage = loginPage.loginAsValidUser();
context.setAttribute("homePage",homePage);
}
我的 HomePageTests 类
@Test()
public void clickOnMyAccountFromHome(ITestContext context) throws Exception {
homePage = (HomePage) context.getAttribute("homePage");
myAccountPage = homePage.navigateToMyAccountPage();
context.setAttribute("myAccountPage", myAccountPage);
}
我得到空指针异常,因为ItestContext
用于在方法之间而不是在测试之间共享参数。有没有其他选择?