我目前有一个框架,它LoginPage.cs
从DashboardPage.cs
. 在DashboardPage.cs
页面顶部有实用程序导航栏,它将出现在所有页面上。因此,我所做的是将PolicyBasePage.cs
除LoginPage.cs
.
我的测试方法在到达时中断dashboardPage.PolicyBasePage.SearchButton();
,我收到以下错误消息:
消息:测试方法 TestAutomationFrameworkPOMS.TestScript.Tests.Test 抛出异常:System.NullReferenceException:对象引用未设置为对象的实例。
测试方法.cs:
[TestMethod]
public void Test()
{
NavigationHelper.NavigateToUrl(ObjectRepository.Config.GetWebsite());
var loginPage = new LoginPage();
loginPage.UsernameTextBox(ObjectRepository.Config.GetUsername());
loginPage.PasswordTextBox(ObjectRepository.Config.GetPassword());
loginPage.RememberMeCheckBox();
loginPage.LoginButton();
var dashboardPage = new DashboardPage();
dashboardPage.PolicyBasePage.SearchButton();
var searchPage = new SearchPage();
searchPage.QuotePolicyNumberTextBox("0005");
searchPage.SearchButton();
var transACTPage = new TransACTPage();
transACTPage.PostCodeTextBox("MTA");
transACTPage.GoButton();
GenericHelper.TakeScreenshot();
}
仪表板页面.cs:
public class DashboardPage
{
private IWebElement driver;
public PolicyBasePage PolicyBasePage { get; set; }
#region WebElements
#endregion
public DashboardPage()
{
PageFactory.InitElements(ObjectRepository.Driver, this);
}
#region Actions
#endregion
}
PolicyBasePage.cs:
public class PolicyBasePage
{
#region WebElement
[FindsBy(How = How.Id, Using = "id_Search")]
private IWebElement Search;
#endregion
public PolicyBasePage()
{
PageFactory.InitElements(ObjectRepository.Driver, this);
}
#region
public void SearchButton()
{
Search.Click();
}
#endregion
}