From d8e63af7d830758b3536a23c848bdfcf6523bb49 Mon Sep 17 00:00:00 2001 From: cleeding <50547620+cleeding@users.noreply.github.com> Date: Wed, 26 Mar 2025 08:52:18 +0000 Subject: [PATCH] account summary section header test --- Pages/AccountActivityPage.cs | 9 ++++++++- Pages/AccountSummaryPage.cs | 21 ++++++++++++++------ Pages/OnlineBankingPage.cs | 7 +++++++ Tests/AccountSummaryTest.cs | 37 ++++++++++++++++++++++++++++++++++++ Tests/BaseTest.cs | 4 +++- 5 files changed, 70 insertions(+), 8 deletions(-) create mode 100644 Tests/AccountSummaryTest.cs diff --git a/Pages/AccountActivityPage.cs b/Pages/AccountActivityPage.cs index 0972aa4..cf59f27 100644 --- a/Pages/AccountActivityPage.cs +++ b/Pages/AccountActivityPage.cs @@ -24,6 +24,8 @@ public class AccountActivityPage : BasePage private By _withdrawalColumn = By.CssSelector("#filtered_transactions_for_account table tr:nth-child(1) td:nth-child(4)"); private By _h2Header = By.ClassName("board-header"); + private By _accountSummaryLink = By.Id("account_summary_tab"); + // Constructor public AccountActivityPage(IWebDriver driver) : base(driver) { } @@ -38,7 +40,8 @@ public void ClickFindButton() ClickElement(_findButton); } - public void CheckTabPanelHeaderIsDisplayed(){ + public void CheckTabPanelHeaderIsDisplayed() + { var element = _driver.FindElement(_h2Header).Displayed; Assert.That(element, Is.True); } @@ -72,5 +75,9 @@ public void CompleteFindTransactionSearchParameters(string description, string f SendText(_toAmountField, true, toAmount); SendText(_typeField, false, type); } + public void ClickAccountSummaryLink() + { + ClickElement(_accountSummaryLink); + } } } \ No newline at end of file diff --git a/Pages/AccountSummaryPage.cs b/Pages/AccountSummaryPage.cs index be4775b..b26e96c 100644 --- a/Pages/AccountSummaryPage.cs +++ b/Pages/AccountSummaryPage.cs @@ -1,13 +1,22 @@ +using NUnit.Framework; using OpenQA.Selenium; -namespace CSharpSeleniumFramework.Pages{ +namespace CSharpSeleniumFramework.Pages +{ - public class AccountSummaryPage : BasePage{ + public class AccountSummaryPage : BasePage + { - public AccountSummaryPage(IWebDriver driver) : base(driver){ + public AccountSummaryPage(IWebDriver driver) : base(driver) { } + public void VerifyAllSectionHeadersDisplayed() + { + var sections = new List { "Cash Accounts", "Investment Accounts", "Credit Accounts", "Loan Accounts" }; + foreach (var section in sections) + { + IWebElement element = _driver.FindElement(By.XPath($"//h2[text()='{section}']")); + Assert.That(element.Displayed); + } } - - } - } +} diff --git a/Pages/OnlineBankingPage.cs b/Pages/OnlineBankingPage.cs index c7b01a6..c606393 100644 --- a/Pages/OnlineBankingPage.cs +++ b/Pages/OnlineBankingPage.cs @@ -5,6 +5,7 @@ using SeleniumExtras.WaitHelpers; namespace CSharpSeleniumFramework.Pages + { public class OnlineBankingPage : BasePage { @@ -14,6 +15,7 @@ public class OnlineBankingPage : BasePage // Selectors private By _h1Header = By.TagName("h1"); private By _payBillsLink = By.Id("pay_bills_link"); + private By _accountSummaryLink = By.Id("account_summary_link"); // Constructor public OnlineBankingPage(IWebDriver driver) : base(driver) { } @@ -23,6 +25,11 @@ public void ClickPayBillsLink() { ClickElement(_payBillsLink); } + public void ClickAccountSummaryLink() + { + ClickElement(_accountSummaryLink); + } + public void CheckOnlineBankingPageHeader() { string h1Header = _driver.FindElement(_h1Header).Text; diff --git a/Tests/AccountSummaryTest.cs b/Tests/AccountSummaryTest.cs new file mode 100644 index 0000000..9d4930a --- /dev/null +++ b/Tests/AccountSummaryTest.cs @@ -0,0 +1,37 @@ +using NUnit.Framework; +using OpenQA.Selenium; +using OpenQA.Selenium.Chrome; +using Allure.NUnit.Attributes; +using Allure.NUnit; +using CSharpSeleniumFramework.Pages; +using CSharpSeleniumFramework.Utils; + +namespace CSharpSeleniumFramework.Tests +{ + [TestFixture] + [AllureNUnit] + public class AccountSummaryTest : BaseTest + { + [SetUp] + public override void Setup() + { + base.Setup(); + // Login + string username = "username"; + string password = "password"; + _homePage.ClickSignInButton(); + _loginPage.Login(username, password); + _loginPage.ByPassSSLCertIssue(); + _homePage.ClickCheckingAccountActivityLink(); + } + + [Test] + [AllureFeature("Account Summary")] + [AllureStory("Check all sections displayed on the page")] + public void CheckSectionsDisplayed() + { + _accountActivityPage.ClickAccountSummaryLink(); + _accountSummaryPage.VerifyAllSectionHeadersDisplayed(); + } + } +} diff --git a/Tests/BaseTest.cs b/Tests/BaseTest.cs index 5a261e6..eaa323d 100644 --- a/Tests/BaseTest.cs +++ b/Tests/BaseTest.cs @@ -18,6 +18,7 @@ public class BaseTest protected TransferFundsPage _transferFundsPage; protected AccountActivityPage _accountActivityPage; protected PayBillsPage _payBillsPage; + protected AccountSummaryPage _accountSummaryPage; [SetUp] public virtual void Setup() @@ -36,7 +37,7 @@ public virtual void Setup() ); _driver = new ChromeDriver(options); - _driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20); // Global implicit wait + _driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10); // Global implicit wait _basePage = new BasePage(_driver); _homePage = new HomePage(_driver); @@ -45,6 +46,7 @@ public virtual void Setup() _transferFundsPage = new TransferFundsPage(_driver); _accountActivityPage = new AccountActivityPage(_driver); _payBillsPage = new PayBillsPage(_driver); + _accountSummaryPage = new AccountSummaryPage(_driver); _driver.Manage().Window.Maximize(); //Visit the application