class HierarchyBalanceReportTest(unittest.TestCase):
    log = cl.customLogger(logging.INFO)

    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.login = LoginPage(self.driver)
        self.rootCustomer = RootCustomer(self.driver)
        self.home = HomePage(self.driver)
        self.account = Accounts(self.driver)
        self.company = Company(self.driver)
        self.hierarchyBal = HierarchyBalance(self.driver)
        self.status = TestStatus(self.driver)

    @pytest.mark.smoke
    def test_HierarchyBalances(self):
        result = False
        self.login.loginToApplication(ApplicationConfig.get('UserId'), ApplicationConfig.get('Password'))
        # self.home.verifyWelcomeMessage( ApplicationConfig.get( 'UserId' ) )
        # self.status.mark(result, "Incorrect match")

        self.home.navigateToRootCustomers()
        self.rootCustomer.clickOnAddRootCustomerButton()
        companyList = inputCustomerTest.df_Singlecustomer
        self.company.createCustomerHierarchy(companyList)
        self.company.activateCustomer(companyList.loc[0]['Subentity'])
        self.home.navigateToAccounts()
        self.account.clickOnAddRootAccountButton()
        accountList = inputCustomerTest.df_accounts_HB
        data = self.account.createAccountHierarchy(accountList)
        self.account.activateAccount(accountList.loc[0]['Name of the account'])
        self.home.navigateToReports()
        self.hierarchyBal.verifyDefaultHierarchyBalances()

        self.home.userLogout()
        print('TTTTTTTT')
class GlobalSearchTest(unittest.TestCase):
    log = cl.customLogger(logging.INFO)

    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.login = LoginPage(self.driver)
        self.rootCustomer = RootCustomer(self.driver)
        self.home = HomePage(self.driver)
        self.account = Accounts(self.driver)
        self.company = Company(self.driver)
        self.globalSearch = GlobalSearch(self.driver)
        self.status = TestStatus(self.driver)

    @pytest.mark.smoke
    def test_searchCustomerAndClick(self):
        result = False
        self.login.loginToApplication(ApplicationConfig.get('UserId'), ApplicationConfig.get('Password'))
        # self.home.verifyWelcomeMessage( ApplicationConfig.get( 'UserId' ) )
        # self.status.mark(result, "Incorrect match")
        self.home.navigateToRootCustomers()
        companyList = inputCustomerTest.df_Singlecustomer
        customerName = companyList['Subentity'][0]
        customerName = '01PKTESTCUST'
        self.globalSearch.searchAccountOrCustomerAndClick(self.home.labelsOnUI['GlobalSearchType_Company'],
                                                          customerName)
        self.home.verifyRootCustomerLabelOnCompanyPage(customerName)
        self.overview.verifyCustomerDetails(companyList)
 def classSetup(self, oneTimeSetUp):
     self.login = LoginPage(self.driver)
     self.rootCustomer = RootCustomer(self.driver)
     self.home = HomePage(self.driver)
     self.account = Accounts(self.driver)
     self.company = Company(self.driver)
     self.hierarchyBal = HierarchyBalance(self.driver)
     self.status = TestStatus(self.driver)
 def classSetup(self, oneTimeSetUp):
     self.login = LoginPage(self.driver)
     self.rootCustomer = RootCustomer(self.driver)
     self.home = HomePage(self.driver)
     self.account = Accounts(self.driver)
     self.company = Company(self.driver)
     self.globalSearch = GlobalSearch(self.driver)
     self.status = TestStatus(self.driver)
Exemplo n.º 5
0
 def classSetup(self, oneTimeSetUp):
     self.login = LoginPage(self.driver)
     self.rootCustomer = RootCustomer(self.driver)
     self.home = HomePage(self.driver)
     self.customer = Customer(self.driver)
     self.account = Accounts(self.driver)
     self.company = Company(self.driver)
     self.globalSearch = GlobalSearch(self.driver)
     self.overview = CustomerOverview(self.driver)
 def classSetup(self, oneTimeSetUp):
     self.login = LoginPage(self.driver)
     self.rootCustomer = RootCustomer(self.driver)
     self.home = HomePage(self.driver)
     self.ct = Customer(self.driver)
     self.account = Accounts(self.driver)
     self.company = Company(self.driver)
     self.bankUser = Users(self.driver)
     self.status = TestStatus(self.driver)
Exemplo n.º 7
0
 def classSetup(self, oneTimeSetUp):
     self.login = LoginPage(self.driver)
     self.rootCustomer = RootCustomer(self.driver)
     self.home = HomePage(self.driver)
     self.ct = Customer(self.driver)
     self.account = Accounts(self.driver)
     self.company = Company(self.driver)
     self.camtFile = CAMT053FileProcessing()
     self.transaction = Transactions(self.driver)
     self.globalSearch = GlobalSearch(self.driver)
     self.overview = AccountOverview(self.driver)
     self.status = TestStatus(self.driver)
class BankUserTest(unittest.TestCase):
    log = cl.customLogger(logging.INFO)

    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.login = LoginPage(self.driver)
        self.rootCustomer = RootCustomer(self.driver)
        self.home = HomePage(self.driver)
        self.ct = Customer(self.driver)
        self.account = Accounts(self.driver)
        self.company = Company(self.driver)
        self.bankUser = Users(self.driver)
        self.status = TestStatus(self.driver)

    @pytest.mark.smoke
    def test_CreateBankUsers_And_ViewUsers(self):
        self.login.loginToApplication(
            ApplicationConfig.get('BANKADMIN_USERID'),
            ApplicationConfig.get('BANKADMIN_PASSWORD'))
        # self.home.verifyWelcomeMessage( ApplicationConfig.get( 'UserId' ) )
        self.home.navigateToAdmin()
        userList = inputCustomerTest.df_BankUsers
        self.UsersABO = self.bankUser.createUsers(userList.loc[0])
        # print(self.UsersABO)
        self.bankUser.searchUser(self.UsersABO)
        result = self.bankUser.verifyAdminUserDetails(self.UsersABO)
        self.status.mark(result, "Incorrect Match")
        self.home.userLogout()
        self.login.loginToApplication(self.UsersABO.get('User ID'),
                                      self.UsersABO.get('Password'))
        result = self.home.verifyWelcomeMessage(
            self.UsersABO.get('First name'))
        self.status.mark(result, "Incorrect Match")
        self.home.userLogout()
        self.status.markFinal("test_CreateBankAdminUser_And_ViewUser", result,
                              "Verification is Successful")

    @pytest.mark.smoke
    def test_CreateCustUsers_And_ViewUsers(self):
        self.login.loginToApplication(
            ApplicationConfig.get('BANKADMIN_USERID'),
            ApplicationConfig.get('BANKADMIN_PASSWORD'))
        #self.home.verifyWelcomeMessage( ApplicationConfig.get( 'UserId' ) )
        self.home.navigateToAdmin()
        userList = inputCustomerTest.df_CustUsers
        self.UsersABO = self.bankUser.createUsers(userList.loc[0])
        # print(self.UsersABO)
        self.bankUser.searchUser(self.UsersABO)
        result = self.bankUser.verifyAdminUserDetails(self.UsersABO)
        self.status.mark(result, "Incorrect Match")
        self.home.userLogout()
        self.login.loginToApplication(self.UsersABO.get('User ID'),
                                      self.UsersABO.get('Password'))
        result = self.home.verifyWelcomeMessage(
            self.UsersABO.get('First name'))
        self.status.mark(result, "Incorrect Match")
        self.home.userLogout()
        self.status.markFinal("test_CreateBankAdminUser_And_ViewUser", result,
                              "Verification is Successful")
Exemplo n.º 9
0
class LoginTest(unittest.TestCase):

    @pytest.fixture( autouse=True )
    def classSetup(self, oneTimeSetUp):
        self.login = LoginPage( self.driver )
        self.home = HomePage( self.driver )

    @pytest.mark.Smoke
    def test_login_valid(self):
        self.login.loginToApplication( ApplicationConfig.get( 'UserId' ), ApplicationConfig.get( 'Password' ) )
        self.home.verifyWelcomeMessage( ApplicationConfig.get( 'UserId' ) )
        self.home.userLogout()

    @pytest.mark.Regression
    def test_login_invalid(self):
        self.login.loginToApplication( 'banksup', 'Tieto@123' )
class UserProfile(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.login = LoginPage(self.driver)
        self.rootCustomer = RootCustomer(self.driver)
        self.home = HomePage(self.driver)
        self.customer = Customer(self.driver)
        self.account = Accounts(self.driver)
        self.company = Company(self.driver)
        self.globalSearch = GlobalSearch(self.driver)
        self.overview = CustomerOverview(self.driver)
        self.bankUser = Users(self.driver)
        self.status = TestStatus(self.driver)

    @pytest.mark.run(order=1)
    def test_createAllBankUsers(self):
        self.login.loginToApplication(
            ApplicationConfig.get('BANKADMIN_USERID'),
            ApplicationConfig.get('BANKADMIN_PASSWORD'))
        self.home.verifyWelcomeMessage(
            ApplicationConfig.get('BANKADMIN_USERID'))
        self.home.navigateToAdmin()
        self.bankUser.createUsers(userProfileTestData.df_BankAdmin)
        self.bankUser.searchUser(userProfileTestData.df_BankAdmin[
            self.home.labelsOnUI['UserID']][0])
        result = self.bankUser.verifyDetails(userProfileTestData.df_BankAdmin)
        self.status.mark(result, "Incorrect Match")

    @pytest.mark.run(order=1)
    def test_bank_admin_user_able_to_create_all_bankusers(self):
        self.login.loginToApplication(
            ApplicationConfig.get('BANKADMIN_USERID'),
            ApplicationConfig.get('BANKADMIN_PASSWORD'))
        self.home.verifyWelcomeMessage(
            ApplicationConfig.get('BANKADMIN_USERID'))
        self.home.navigateToAdmin()
        self.status.mark(self.bankUser.verifyAddUserButtonNotDisplayed(),
                         "Incorrect Match")

        self.bankUser.createUsers(userProfileTestData.df_BankRead)
        self.bankUser.searchUser(
            userProfileTestData.df_BankRead[self.home.labelsOnUI['UserID']][0])
        result = self.bankUser.verifyDetails(userProfileTestData.df_BankRead)
        self.status.mark(result, "Incorrect Match")

        self.bankUser.createUsers(userProfileTestData.df_BankUpdate)
        self.bankUser.searchUser(userProfileTestData.df_BankUpdate[
            self.home.labelsOnUI['UserID']][0])
        result = self.bankUser.verifyDetails(userProfileTestData.df_BankUpdate)
        self.status.mark(result, "Incorrect Match")
        self.home.userLogout()
        self.status.markFinal(
            "test_bank_admin_user_able_to_create_all_bankusers", result,
            "Verification is Successful")

    @pytest.mark.run(order=2)
    def test_bank_update_user_not_able_to_create_bankusers(self):
        self.login.loginToApplication(
            userProfileTestData.df_BankUpdate[self.home.labelsOnUI['UserID']]
            [0], userProfileTestData.df_BankUpdate[
                self.home.labelsOnUI['Password']][0])
        self.home.verifyWelcomeMessage(userProfileTestData.df_BankUpdate[
            self.home.labelsOnUI['UserID']][0])
        self.home.navigateToAdmin()
        result = self.bankUser.verifyAddUserButtonNotDisplayed()
        self.status.mark(result, "Incorrect Match")
        self.status.markFinal(
            "test_bank_update_user_not_able_to_create_all_bankusers", result,
            "Verification is Successful")

    @pytest.mark.run(order=2)
    def test_bank_update_user_able_to_view_all_bankusers_details(self):
        self.login.loginToApplication(
            userProfileTestData.df_BankUpdate[self.home.labelsOnUI['UserID']]
            [0], userProfileTestData.df_BankUpdate[
                self.home.labelsOnUI['Password']][0])
        self.home.verifyWelcomeMessage(userProfileTestData.df_BankUpdate[
            self.home.labelsOnUI['UserID']][0])
        self.home.navigateToAdmin()
        # For Bank admin user
        self.bankUser.searchUser(userProfileTestData.df_BankAdmin[
            self.home.labelsOnUI['UserID']][0])
        self.bankUser.clickOnViewUserlink(userProfileTestData.df_BankAdmin[
            self.home.labelsOnUI['UserID']][0])
        result = self.bankUser.verifyDetails(userProfileTestData.df_BankAdmin)
        self.status.mark(result, "Incorrect Match")
        # For Bank Update user
        self.bankUser.searchUser(userProfileTestData.df_BankUpdate[
            self.home.labelsOnUI['UserID']][0])
        self.bankUser.clickOnViewUserlink(userProfileTestData.df_BankUpdate[
            self.home.labelsOnUI['UserID']][0])
        result = self.bankUser.verifyDetails(userProfileTestData.df_BankUpdate)
        self.status.mark(result, "Incorrect Match")
        # For Bank Read user
        self.bankUser.searchUser(
            userProfileTestData.df_BankRead[self.home.labelsOnUI['UserID']][0])
        self.bankUser.clickOnViewUserlink(
            userProfileTestData.df_BankRead[self.home.labelsOnUI['UserID']][0])
        result = self.bankUser.verifyDetails(userProfileTestData.df_BankRead)
        self.status.mark(result, "Incorrect Match")
        self.status.markFinal(
            "test_bank_update_user_able_to_view_all_bankusers_details", result,
            "Verification is Successful")

    @pytest.mark.run(order=2)
    def test_bank_update_user_able_to_create_root_customer(self):
        self.login.loginToApplication(
            userProfileTestData.df_BankUpdate[self.home.labelsOnUI['UserID']]
            [0], userProfileTestData.df_BankUpdate[
                self.home.labelsOnUI['Password']][0])
        self.home.verifyWelcomeMessage(userProfileTestData.df_BankUpdate[
            self.home.labelsOnUI['UserID']][0])
        self.home.navigateToRootCustomers()
        self.rootCustomer.clickOnAddRootCustomerButton()
        self.company.createCustomerHierarchy(
            inputCustomerTest.df_Singlecustomer)
        self.company.activateCustomer(inputCustomerTest.nameofCustomer)
        result = self.overview.verifyCustomerDetails(
            inputCustomerTest.df_Singlecustomer)
        self.status.markFinal(
            "test_bank_update_user_able_to_create_root_customer_trail", result,
            "Verification is Successful")

    @pytest.mark.run(order=2)
    def test_bank_update_user_able_to_create_all_customer_users(self):
        # self.login.loginToApplication(userProfileTestData.df_BankUpdate[self.home.labelsOnUI['UserID']][0],
        #                               userProfileTestData.df_BankUpdate[self.home.labelsOnUI['Password']][0])
        # self.home.verifyWelcomeMessage(userProfileTestData.df_BankUpdate[self.home.labelsOnUI['UserID']][0])
        self.login.loginToApplication(ApplicationConfig['BANKADMIN_USERID'],
                                      ApplicationConfig['BANKADMIN_PASSWORD'])
        self.home.verifyWelcomeMessage(ApplicationConfig['BANKADMIN_USERID'])
        self.home.navigateToRootCustomers()
        self.globalSearch.searchAccountOrCustomerAndClick(
            "TALinæRC5582478236",
            self.home.labelsOnUI['GlobalSearchType_Company'])
        self.company.navigateToUser()
        # For Cust admin user
        self.bankUser.createUsers(userProfileTestData.df_CustAdmin)
        self.bankUser.searchUser(userProfileTestData.df_CustAdmin[
            self.home.labelsOnUI['UserID']][0])
        self.bankUser.clickOnViewUserlink(userProfileTestData.df_CustAdmin[
            self.home.labelsOnUI['UserID']][0])
        result = self.bankUser.verifyDetails(userProfileTestData.df_CustAdmin)
        # For Cust Update user
        self.bankUser.createUsers(userProfileTestData.df_CustAdmin)
        self.bankUser.searchUser(userProfileTestData.df_CustUpdate[
            self.home.labelsOnUI['UserID']][0])
        self.bankUser.clickOnViewUserlink(userProfileTestData.df_CustUpdate[
            self.home.labelsOnUI['UserID']][0])
        result = self.bankUser.verifyDetails(userProfileTestData.df_CustUpdate)
        # For Cust Read user
        self.bankUser.createUsers(userProfileTestData.df_CustRead)
        self.bankUser.searchUser(
            userProfileTestData.df_CustRead[self.home.labelsOnUI['UserID']][0])
        self.bankUser.clickOnViewUserlink(
            userProfileTestData.df_CustRead[self.home.labelsOnUI['UserID']][0])
        result = self.bankUser.verifyDetails(userProfileTestData.df_CustRead)

        self.status.markFinal(
            "test_bank_update_user_able_to_create_all_customer_users", result,
            "Verification is Successful")

    @pytest.mark.run(order=2)
    def test_bank_update_user_able_to_create_all_customer_users_trail(self):
        # self.login.loginToApplication(userProfileTestData.df_BankUpdate[self.home.labelsOnUI['UserID']][0],
        #                               userProfileTestData.df_BankUpdate[self.home.labelsOnUI['Password']][0])
        # self.home.verifyWelcomeMessage(userProfileTestData.df_BankUpdate[self.home.labelsOnUI['UserID']][0])
        self.login.loginToApplication(ApplicationConfig['BANKADMIN_USERID'],
                                      ApplicationConfig['BANKADMIN_PASSWORD'])
        self.home.verifyWelcomeMessage(ApplicationConfig['BANKADMIN_USERID'])
        self.home.navigateToRootCustomers()
        self.globalSearch.searchAccountOrCustomerAndClick(
            "TALinæRC5582478236",
            self.home.labelsOnUI['GlobalSearchType_Company'])

        self.company.navigateToUser()
        # For Cust admin user
        self.bankUser.createUsers(userProfileTestData.df_CustAdmin)
        self.bankUser.searchUser(userProfileTestData.df_CustAdmin[
            self.home.labelsOnUI['UserID']][0])
        self.bankUser.clickOnViewUserlink(userProfileTestData.df_CustAdmin[
            self.home.labelsOnUI['UserID']][0])
        result = self.bankUser.verifyDetails(userProfileTestData.df_CustAdmin)
        # For Cust Update user
        self.bankUser.createUsers(userProfileTestData.df_CustUpdate)
        self.bankUser.searchUser(userProfileTestData.df_CustUpdate[
            self.home.labelsOnUI['UserID']][0])
        self.bankUser.clickOnViewUserlink(userProfileTestData.df_CustUpdate[
            self.home.labelsOnUI['UserID']][0])
        result = self.bankUser.verifyDetails(userProfileTestData.df_CustUpdate)
        # For Cust Read user
        self.bankUser.createUsers(userProfileTestData.df_CustRead)
        self.bankUser.searchUser(
            userProfileTestData.df_CustRead[self.home.labelsOnUI['UserID']][0])
        self.bankUser.clickOnViewUserlink(
            userProfileTestData.df_CustRead[self.home.labelsOnUI['UserID']][0])
        result = self.bankUser.verifyDetails(userProfileTestData.df_CustRead)

        self.status.markFinal(
            "test_bank_update_user_able_to_create_root_customer_trail", result,
            "Verification is Successful")
Exemplo n.º 11
0
 def classSetup(self, oneTimeSetUp):
     self.login = LoginPage( self.driver )
     self.home = HomePage( self.driver )
Exemplo n.º 12
0
class TestCustomer(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.login = LoginPage(self.driver)
        self.rootCustomer = RootCustomer(self.driver)
        self.home = HomePage(self.driver)
        self.customer = Customer(self.driver)
        self.account = Accounts(self.driver)
        self.company = Company(self.driver)
        self.globalSearch = GlobalSearch(self.driver)
        self.overview = CustomerOverview(self.driver)

    # @pytest.mark.Smoke
    # @pytest.mark.run(order=1)
    # def test_navigation(self):
    #     # if inputCustomerTest.checkRunMode('test_navigation') == True:
    #     # TestCustomer.classSetup()
    #     self.login.loginToApplication(ApplicationConfig['UserId'], ApplicationConfig['Password'])
    #     self.home.verifyWelcomeMessage(ApplicationConfig['UserId'])
    #     self.home.navigateToRootCustomers()
    #     self.rootCustomer.verifyTextonRootCustomer()

    @pytest.mark.run(order=2)
    def test_CreateSingleRootCustomer(self):
        self.status = TestStatus(self.driver)
        # if inputCustomerTest.checkRunMode('test_CreateSingleRootCustomer') == True:
        # TestCustomer.classSetup()
        self.login.loginToApplication(ApplicationConfig['UserId'],
                                      ApplicationConfig['Password'])
        self.home.verifyWelcomeMessage(ApplicationConfig['UserId'])
        self.home.navigateToRootCustomers()
        self.rootCustomer.clickOnAddRootCustomerButton()
        companyList = inputCustomerTest.df_Singlecustomer
        self.company.createCustomerHierarchy(companyList)
        self.company.activateCustomer(inputCustomerTest.nameofCustomer)
        # self.globalSearch.searchAccountOrCustomerAndClick("RC2932065044",
        #                                                   self.home.labelsOnUI['GlobalSearchType_Company'])
        result = self.overview.verifyCustomerDetails(
            inputCustomerTest.df_Singlecustomer)
        self.status.markFinal("test_CreateSingleRootCustomer", result,
                              "Verification is Successful")

    # @pytest.mark.Smoke
    # @pytest.mark.run(order=3)
    # def test_createCustomerHierarchy(self):
    #     # if inputCustomerTest.checkRunMode('test_createCustomerHierarchy') == True:
    #     # self.classSetup()
    #     self.login.loginToApplication(ApplicationConfig['UserId'], ApplicationConfig['Password'])
    #     # self.home.verifyWelcomeMessage( ApplicationConfig.get( 'UserId' ) )
    #     self.home.navigateToRootCustomers()
    #     self.rootCustomer.clickOnAddRootCustomerButton()
    #     companyList = inputCustomerTest.df_customer
    #     self.company.createCustomerHierarchy(companyList)
    #     self.company.activateCustomer(companyList.loc[0]['Subentity'])

    def test_editCorporateCustomerHappyFlow(self):
        self.status = TestStatus(self.driver)
        self.login.loginToApplication(ApplicationConfig['UserId'],
                                      ApplicationConfig['Password'])
        # self.home.verifyWelcomeMessage( ApplicationConfig.get( 'UserId' ) )
        self.globalSearch.searchAccountOrCustomerAndClick(
            inputCustomerTest.nameofCustomer,
            self.home.labelsOnUI['GlobalSearchType_Company'])
        # self.globalSearch.searchAccountOrCustomerAndClick("RC2932065044",
        #                                                   self.home.labelsOnUI['GlobalSearchType_Company'])
        inputCustomerTest.set_details_for_customer_edit(
            inputCustomerTest.df_Editcustomer)
        self.overview.clickOnEditCustomerLink()
        self.customer.fillEditCustomerInformation(
            inputCustomerTest.df_Singlecustomer)
        self.customer.clickOnSaveChangesButton()
        # self.verifyMessageOnProgressBar()
        # inputCustomerTest.df_Singlecustomer.loc[:, 'Status'] = self.labelsOnUI['CustomerStatusValueToVarify']
        result = self.overview.verifyCustomerDetails(
            inputCustomerTest.df_Singlecustomer)
        self.status.mark(result, "Incorrect match")
        self.status.markFinal("test_editCorporateCustomerHappyFlow", result,
                              "Verification is Successful")

    def test_verifyUnableToAddCustomerClientAllowCheckOn(self):
        self.status = TestStatus(self.driver)
        self.login.loginToApplication(ApplicationConfig['UserId'],
                                      ApplicationConfig['Password'])
        # self.home.verifyWelcomeMessage( ApplicationConfig.get( 'UserId' ) )
        # self.globalSearch.searchAccountOrCustomerAndClick(inputCustomerTest.nameofCustomer,
        #                                                       self.home.labelsOnUI['GlobalSearchType_Company'])
        self.globalSearch.searchAccountOrCustomerAndClick(
            "TAutoCustomer953995",
            self.home.labelsOnUI['GlobalSearchType_Company'])
        self.overview.clickOnEditCustomerLink()
        self.customer.disabledClientsallowed()
        self.customer.clickOnSaveChangesButton()
        self.customer.clickOnParentCustomerToAddChild("TAutoCustomer953995")
        self.customer.verifyElementIsEnabledOrDisabled()
Exemplo n.º 13
0
class TestAccounts(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def classSetup(self, oneTimeSetUp):
        self.login = LoginPage(self.driver)
        self.rootCustomer = RootCustomer(self.driver)
        self.home = HomePage(self.driver)
        self.ct = Customer(self.driver)
        self.account = Accounts(self.driver)
        self.company = Company(self.driver)
        self.camtFile = CAMT053FileProcessing()
        self.transaction = Transactions(self.driver)
        self.globalSearch = GlobalSearch(self.driver)
        self.overview = AccountOverview(self.driver)
        self.status = TestStatus(self.driver)

    @pytest.mark.run(order=4)
    def test_create_account_hierarchy(self):
        # if inputCustomerTest.checkRunMode('test_create_account_hierarchy') == True:
        self.login.loginToApplication(ApplicationConfig.get('UserId'),
                                      ApplicationConfig.get('Password'))
        # self.home.verifyWelcomeMessage(ApplicationConfig.get('firstname'))
        self.home.navigateToRootCustomers()
        # self.rootCustomer.clickOnAddRootCustomerButton()
        # companyList = inputCustomerTest.df_Singlecustomer
        # self.company.createCustomerHierarchy(companyList)
        # self.company.activateCustomer(companyList.loc[0]['Subentity'])
        self.globalSearch.searchAccountOrCustomerAndClick(
            inputCustomerTest.nameofCustomer,
            self.home.labelsOnUI['GlobalSearchType_Company'])
        self.home.navigateToAccounts()
        self.account.clickOnAddRootAccountButton()
        accountList = inputCustomerTest.df_accounts
        self.account.createAccountHierarchy(accountList)
        self.account.activateAccount(accountList.loc[0]['Name of the account'])
        self.home.userLogout()

    # @pytest.mark.Smoke
    # def test_CAMT053CreditDebitProcessingWithCorrectPrtrycodeAndPublishedVA(self):
    #     self.login.loginToApplication( ApplicationConfig.get( 'UserId' ), ApplicationConfig.get( 'Password' ) )
    #     # self.home.verifyWelcomeMessage(ApplicationConfig.get('firstname'))
    #     self.home.navigateToRootCustomers()
    #     self.rootCustomer.clickOnAddRootCustomerButton()
    #     companyList = inputCustomerTest.df_Singlecustomer
    #     self.company.createCustomerHierarchy(companyList)
    #     self.company.activateCustomer(companyList.loc[0]['Subentity'])
    #     self.home.navigateToAccounts()
    #     self.account.clickOnAddRootAccountButton()
    #     accountList = inputCustomerTest.df_accounts
    #     data = self.account.createAccountHierarchy(accountList)
    #     self.account.activateAccount(accountList.loc[0]['Name of the account'])
    #
    #     shadowAccount = ""
    #     for i in range(len(accountList)):
    #
    #         if accountList.loc[i]['TransactionPosting'] == 'RealAccount':
    #             shadowAccount = accountList.loc[i].get('Account number')
    #         if shadowAccount !='' and accountList.loc[i]['TransactionPosting'] != '' \
    #                 and accountList.loc[i]['TransactionPosting'] != 'RealAccount':
    #             transactionAccount = accountList.loc[i].get('Account number')
    #             self.camtFile.generateCAMT053(shadowAccount,
    #                                   accountList.loc[i].get('Account number'),
    #                                   inputCustomerTest.camtinput)
    #             self.camtFile.ftpCAMT053Files()
    #             self.camtFile.generateCAMT053(shadowAccount,
    #                                   accountList.loc[i].get('Account number'),
    #                                   inputCustomerTest.camtinput)
    #             self.camtFile.ftpCAMT053Files()
    #
    #             self.transaction.navigateToTransactions()
    #
    #             self.nonExceptionCount = self.transaction.verifyTransationsOnUI(inputCustomerTest.camtinput,
    #                                                                accountList.loc[i].get('Account number'))
    #
    #     print("Successfully")
    #     self.home.userLogout()
    #
    # def test_closed_account_in_hierarchy(self):
    #     self.login.loginToApplication(ApplicationConfig.get('UserId'), ApplicationConfig.get('Password'))
    #     # self.home.verifyWelcomeMessage(ApplicationConfig.get('firstname'))
    #     self.home.navigateToRootCustomers()
    #     self.rootCustomer.clickOnAddRootCustomerButton()
    #     companyList = inputCustomerTest.df_Singlecustomer
    #     self.company.createCustomerHierarchy(companyList)
    #     self.company.activateCustomer(companyList['Subentity'][0])
    #     self.home.navigateToAccounts()
    #     self.account.clickOnAddRootAccountButton()
    #     accountList = inputCustomerTest.df_accounts
    #     self.account.createAccountHierarchy(accountList)
    #     self.account.activateAccount(accountList[self.home.labelsOnUI['NameOfTheAccount']][0])
    #     self.globalSearch.searchAccountOrCustomerAndClick(inputCustomerTest.nameofAccounts[0])
    #     self.account.clickOnParentAccountToAddChild(inputCustomerTest.nameofAccounts[0])
    #     newAccountDetails = inputCustomerTest.createDuplicate(inputCustomerTest.nameofAccounts[0])
    #     self.account.fill_Account_Details(newAccountDetails, 0)
    #     self.account.clickOnSuccessAccountButton()
    #     self.account.activateAccount(newAccountDetails[self.home.labelsOnUI['NameOfTheAccount']][0])
    #     self.globalSearch.searchAccountOrCustomerAndClick(
    #         newAccountDetails[self.home.labelsOnUI['NameOfTheAccount']][0])
    #     self.overview.clickOnOptionsInActionTab(self.home.labelsOnUI['btnCloseAccount'])
    #     self.status.mark(self.overview.verifyClosedAccountFunctionality(), "Incorrect match")
    #     self.status.mark(self.account.verifyAccountStatus(self.home.labelsOnUI['custStatus_Closed']),
    #                      "Incorrect match")
    #
    #     # self.camtFile.generateCAMT053(shadowAccount, newAccountDetails[self.home.labelsOnUI['NameOfTheAccount']][0],
    #     #                               inputAccountCashManagementTest.camtinput)
    #     # self.camtFile.ftpCAMT053Files()
    #     # self.camtFile.generateCAMT053(shadowAccount,
    #     #                               newAccountDetails[self.home.labelsOnUI['NameOfTheAccount']][0],
    #     #                               inputAccountCashManagementTest.camtinput)
    #     # self.camtFile.ftpCAMT053Files()
    #
    #     self.home.userLogout()
    #
    # def test_delete_account_in_hierarchy(self):
    #     self.login.loginToApplication(ApplicationConfig.get('UserId'), ApplicationConfig.get('Password'))
    #     # self.home.verifyWelcomeMessage(ApplicationConfig.get('firstname'))
    #     self.home.navigateToRootCustomers()
    #     self.rootCustomer.clickOnAddRootCustomerButton()
    #     companyList = inputCustomerTest.df_Singlecustomer
    #     self.company.createCustomerHierarchy(companyList)
    #     self.company.activateCustomer(companyList['Subentity'][0])
    #     self.home.navigateToAccounts()
    #     self.account.clickOnAddRootAccountButton()
    #     accountList = inputCustomerTest.df_accounts
    #     self.account.createAccountHierarchy(accountList)
    #     self.account.activateAccount(accountList[self.home.labelsOnUI['NameOfTheAccount']][0])
    #     self.globalSearch.searchAccountOrCustomerAndClick(inputCustomerTest.nameofAccounts[0])
    #     self.account.clickOnParentAccountToAddChild(inputCustomerTest.nameofAccounts[0])
    #     newAccountDetails = inputCustomerTest.createDuplicate(inputCustomerTest.nameofAccounts[0])
    #     self.account.fill_Account_Details(newAccountDetails, 0)
    #     self.account.clickOnSuccessAccountButton()
    #     self.account.activateAccount(newAccountDetails[self.home.labelsOnUI['NameOfTheAccount']][0])
    #     self.globalSearch.searchAccountOrCustomerAndClick(
    #         newAccountDetails[self.home.labelsOnUI['NameOfTheAccount']][0])
    #     self.overview.clickOnOptionsInActionTab(self.home.labelsOnUI['btnDeleteAccount'])
    #     self.status.mark(self.overview.verifyDeleteAccountFunctionality(), "Incorrect match")
    #     self.globalSearch.searchAccountOrCustomerAndClick(
    #         newAccountDetails[self.home.labelsOnUI['NameOfTheAccount']][0])
    #     self.status.mark(self.home.is_text_present(self.home.labelsOnUI['NotMatchingMessage']), "Incorrect match")
    #     self.home.userLogout()
    #
    # def test_blocked_account_in_hierarchy(self):
    #     self.login.loginToApplication(ApplicationConfig.get('UserId'), ApplicationConfig.get('Password'))
    #     # self.home.verifyWelcomeMessage(ApplicationConfig.get('firstname'))
    #     self.home.navigateToRootCustomers()
    #     # self.rootCustomer.clickOnAddRootCustomerButton()
    #     # companyList = inputCustomerTest.df_Singlecustomer
    #     # self.company.createCustomerHierarchy(companyList)
    #     # self.company.activateCustomer(companyList['Subentity'][0])
    #     # self.home.navigateToAccounts()
    #     # self.account.clickOnAddRootAccountButton()
    #     # accountList = inputCustomerTest.df_accounts
    #     # self.account.createAccountHierarchy(accountList)
    #     # self.account.activateAccount(accountList[self.home.labelsOnUI['NameOfTheAccount']][0])
    #     # self.globalSearch.searchAccountOrCustomerAndClick(inputCustomerTest.nameofAccounts[0])
    #     # self.account.clickOnParentAccountToAddChild(inputCustomerTest.nameofAccounts[0])
    #     # newAccountDetails = inputCustomerTest.createDuplicate(inputCustomerTest.nameofAccounts[0])
    #     # self.account.fill_Account_Details(newAccountDetails,0)
    #     # self.account.clickOnSuccessAccountButton()
    #     # self.account.activateAccount(newAccountDetails[self.home.labelsOnUI['NameOfTheAccount']][0])
    #     self.globalSearch.searchAccountOrCustomerAndClick("VTA31604596088")
    #     self.overview.clickOnOptionsInActionTab(self.home.labelsOnUI['lblBlockAccountPopUp'])
    #     self.status.mark(self.overview.verifyAccountBlockedBasedOnInput(self.overview.blockedRadio),
    #                      "Incorrect match")
    #     self.overview.clickOnOptionsInActionTab(self.home.labelsOnUI['lblBlockAccountPopUp'])
    #     self.status.mark(self.overview.verifyAccountBlockedBasedOnInput(self.overview.blockedCreditRadio),
    #                      "Incorrect match")
    #     self.overview.clickOnOptionsInActionTab(self.home.labelsOnUI['lblBlockAccountPopUp'])
    #     self.status.mark(self.overview.verifyAccountBlockedBasedOnInput(self.overview.blockedDebitRadio),
    #                      "Incorrect match")
    #     self.overview.clickOnOptionsInActionTab(self.home.labelsOnUI['lblBlockAccountPopUp'])
    #     self.status.mark(self.overview.verifyAccountBlockedBasedOnInput(self.overview.notBlockedRadio),
    #                      "Incorrect match")
    #     result = self.account.verifyAccountStatus(self.home.labelsOnUI['custStatus_Blocked'])
    #     self.home.userLogout()

    def test_trialclosed_account_in_hierarchy(self):
        #if inputCustomerTest.checkRunMode('test_create_account_hierarchy') == True:
        self.login.loginToApplication(ApplicationConfig.get('UserId'),
                                      ApplicationConfig.get('Password'))
        # self.home.verifyWelcomeMessage(ApplicationConfig.get('firstname'))
        self.home.navigateToRootCustomers()
        accountList = inputCustomerTest.df_accounts
        newAccountDetails = inputCustomerTest.createDuplicate(
            inputCustomerTest.nameofAggregationAccounts[0])
        self.globalSearch.searchAccountOrCustomerAndClick(
            inputCustomerTest.nameofAggregationAccounts[0])
        self.account.clickOnParentAccountToAddChild(
            inputCustomerTest.nameofAggregationAccounts[0])
        newAccountDetails = inputCustomerTest.createDuplicate(
            inputCustomerTest.nameofAggregationAccounts[0])
        self.account.fill_Account_Details(newAccountDetails, 0)
        self.account.clickOnSuccessAccountButton()
        self.account.activateAccount(
            newAccountDetails[self.home.labelsOnUI['NameOfTheAccount']][0])
        self.globalSearch.searchAccountOrCustomerAndClick(
            newAccountDetails[self.home.labelsOnUI['NameOfTheAccount']][0])
        self.overview.clickOnOptionsInActionTab(
            self.home.labelsOnUI['lblBlockAccountPopUp'])
        self.status.mark(
            self.overview.verifyAccountBlockedBasedOnInput(
                self.overview.blockedCreditRadio), "Incorrect match")
        self.status.mark(
            self.account.verifyAccountStatus(
                self.home.labelsOnUI['custStatus_Blocked']), "Incorrect match")

        self.camtFile.generateCAMT053(
            inputCustomerTest.ShadowAccountNumber[0],
            newAccountDetails[self.home.labelsOnUI['NameOfTheAccount']][0],
            inputCustomerTest.camtinput)
        self.camtFile.ftpCAMT053Files()
        self.camtFile.generateCAMT053(
            inputCustomerTest.ShadowAccountNumber[0],
            newAccountDetails[self.home.labelsOnUI['NameOfTheAccount']][0],
            inputCustomerTest.camtinput)
        self.camtFile.ftpCAMT053Files()
        self.transaction.navigateToTransactions()
        self.home.userLogout()

    def test_transaction_posting_in_hierarchy(self):
        self.login.loginToApplication(ApplicationConfig.get('UserId'),
                                      ApplicationConfig.get('Password'))
        # self.home.verifyWelcomeMessage(ApplicationConfig.get('firstname'))
        self.home.navigateToRootCustomers()
        accountList = inputCustomerTest.df_accounts
        self.globalSearch.searchAccountOrCustomerAndClick('SHA17669158142855')
        self.camtFile.generateCAMT053('SHA17669158142855', 'VTA24944452783067',
                                      inputCustomerTest.camtinput)
        self.camtFile.ftpCAMT053Files()
        self.camtFile.generateCAMT053('SHA17669158142855', 'VTA24944452783067',
                                      inputCustomerTest.camtinput)
        self.camtFile.ftpCAMT053Files()
        self.transaction.navigateToTransactions()
        self.home.userLogout()