public void BankAccountVerification02_UnverifiedAccountPAY()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                /* Bank Account Verification Scenarios -
                 * Verify cant pay with unverified bank account
                 */

                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage       loginPage      = new LoginPage(WebDriver);
                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                ReceivedPage recpg = new ReceivedPage(WebDriver);
                recpg.SearchInvoiceReceived().SendKeys("INV10308526");
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.ActionsMenu().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.PAY().Click();
                PayNowPage Paynwpg = new PayNowPage(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Paynwpg.Row01SelectCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                IWebElement bodyTag  = WebDriver.FindElement(By.TagName("body"));
                bool        banklist = bodyTag.Text.Contains("invalid");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(banklist == false);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }
        public void AddDeleteCards02()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();

                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");

                LoginPage loginPage = new LoginPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay7);
                CardPage CardPg = new CardPage(WebDriver);

                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                HomePg.Profile().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.CardMgmnt().Click();
                SeleniumSetMethods.WaitOnPage(secdelay7);

                CardPg.DeleteCardbutton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
            }
            finally
            {
            }
        }
コード例 #3
0
        public void Export02_UploadPDFPath_PAIDHistory_CSVExport()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                //###Login to biller account
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage       loginPage  = new LoginPage(WebDriver);
                SendPage        SendPg     = new SendPage(WebDriver);
                ReceivedPage    Recpg      = new ReceivedPage(WebDriver);
                ExportModalPage ExportMlPg = new ExportModalPage(WebDriver);

                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");

                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                SendPg.SentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                //testInfo = 'Export Modal for Sent - History - Billzy Export CSV'
                SendPg.SentHistoryBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                SendPg.SearchInvoiceSent().SendKeys("Upload_PDF_P");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                SendPg.SelectExportFormat().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SendPg.BillzyExport().Click();
                SeleniumSetMethods.WaitOnPage(secdelay8);

                string ExportModalTitle = ExportMlPg.ExportModalTitle().Text;
                string ExportMessage    = ExportMlPg.ExportMessage().Text;
                bool   icon             = ExportMlPg.ExportDownloadIcon().Displayed;
                string hyperlink        = ExportMlPg.HereHypherLink().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(ExportModalTitle.Contains("Export") && ExportMessage.Contains("Your download should start automatically. ") && icon == true && hyperlink.Contains("here"));
                ExportMlPg.ExportDownloadIcon().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                ExportMlPg.ExportCloseBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                // Validating the CSV report
                string exportlink = SendPg.ExportCSVFile().GetAttribute("href");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                string CSVLink     = exportlink.Substring(exportlink.IndexOf("https://4impact-export-data-uat.s3.ap-southeast-2.amazonaws.com/")).Replace("https://4impact-export-data-uat.s3.ap-southeast-2.amazonaws.com/", "");
                string csvfilename = CSVLink.Substring(0, CSVLink.LastIndexOf(".") + 1);
                string text        = File.ReadAllText(@"C:\Users\Selenium\Downloads\" + csvfilename + "csv");
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Assert.IsTrue(text.Contains("Status,To,Invoice Number,Completed,Amount,Billzy Column\nPAID,External Payer,Upload_PDF_P-09,2018-10-17,900.00,Cash requested\nPAID,External Payer,Upload_PDF_P-10,2018-10-17,1000.00,\nPAID,billzyBiz-415339,Upload_PDF_P-06,2018-10-17,600.00,\nPAID,billzyBiz-415339,Upload_PDF_P-07,2018-10-17,690.00,Paid 1902 day(s) earlier\nPAID,billzyBiz-415339,Upload_PDF_P-08,2018-10-17,800.00,Cash requested"));
                Assert.IsTrue(text.Contains("Upload_PDF_P-09") && text.Contains("Upload_PDF_P-06") && text.Contains("Upload_PDF_P-07") && text.Contains("Upload_PDF_P-08") && text.Contains("Upload_PDF_P-10"));

                //testInfo = 'Export Modal for Sent - History - MYOB CSV'
                SendPg.SelectExportFormat().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SendPg.MYOB().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                ExportMlPg.AccountNumber().SendKeys("031982");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                ExportMlPg.NextBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                string ExportModalTitle1 = ExportMlPg.ExportModalTitle().Text;
                string ExportMessage1    = ExportMlPg.ExportMessage().Text;
                bool   icon1             = ExportMlPg.ExportDownloadIcon().Displayed;
                string hyperlink1        = ExportMlPg.HereHypherLink().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(ExportModalTitle1.Contains("Export") && ExportMessage1.Contains("Your download should start automatically. ") && icon1 == true && hyperlink1.Contains("here"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                ExportMlPg.ExportDownloadIcon().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                ExportMlPg.ExportCloseBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                // Validating the CSV report
                string exportlink1 = SendPg.ExportCSVFile().GetAttribute("href");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                string CSVLink1     = exportlink1.Substring(exportlink1.IndexOf("https://4impact-export-data-uat.s3.ap-southeast-2.amazonaws.com/")).Replace("https://4impact-export-data-uat.s3.ap-southeast-2.amazonaws.com/", "");
                string csvfilename1 = CSVLink1.Substring(0, CSVLink1.LastIndexOf(".") + 1);
                string MYOBText     = File.ReadAllText(@"C:\Users\Selenium\Downloads\" + csvfilename1 + "txt");
                Assert.IsTrue(MYOBText.Contains("Co./Last Name,Invoice #,Date,Description,Account Number,Amount,Tax Code,Tax Amount,Sale Status,Terms - Payment is Due,           - Balance Due Days,Amount Paid,Inc-Tax Amount\nExternal Payer,10214799,18/10/2018,,031982,818.18,GST,81.82,I,2,14,900.00,900.00\n\n\nExternal Payer,10214807,18/10/2018,,031982,909.09,GST,90.91,I,2,14,1000.00,1000.00\n\n\nbillzyBiz-415339,10214765,18/10/2018,,031982,545.45,GST,54.55,I,2,14,600.00,600.00\n\n\nbillzyBiz-415339,10214773,18/10/2018,,031982,636.36,GST,63.64,I,2,14,700.00,700.00\n\n\nbillzyBiz-415339,10214781,18/10/2018,,031982,727.27,GST,72.73,I,2,14,800.00,800.00\n\n"));
                Assert.IsTrue(MYOBText.Contains("10214799") && MYOBText.Contains("10214807") && MYOBText.Contains("10214765") && MYOBText.Contains("10214773") && MYOBText.Contains("10214781"));


                //testInfo = 'Export Modal for Sent - History - XERO CSV'

                SendPg.SelectExportFormat().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SendPg.XERO().Click();


                SeleniumSetMethods.WaitOnPage(secdelay5);
                string ExportModalTitle2 = ExportMlPg.ExportModalTitle().Text;
                string ExportMessage2    = ExportMlPg.ExportMessage().Text;
                bool   icon2             = ExportMlPg.ExportDownloadIcon().Displayed;
                string hyperlink2        = ExportMlPg.HereHypherLink().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(ExportModalTitle2.Contains("Export") && ExportMessage2.Contains("Your download should start automatically. ") && icon2 == true && hyperlink2.Contains("here"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                ExportMlPg.ExportDownloadIcon().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                ExportMlPg.ExportCloseBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                // Validating the CSV report
                string exportlink2 = SendPg.ExportCSVFile().GetAttribute("href");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                string CSVLink2     = exportlink2.Substring(exportlink2.IndexOf("https://4impact-export-data-uat.s3.ap-southeast-2.amazonaws.com/")).Replace("https://4impact-export-data-uat.s3.ap-southeast-2.amazonaws.com/", "");
                string csvfilename2 = CSVLink2.Substring(0, CSVLink2.LastIndexOf(".") + 1);

                string XEROText = File.ReadAllText(@"C:\Users\Selenium\Downloads\" + csvfilename2 + "csv");
                Assert.IsTrue(XEROText.Contains("ContactName,EmailAddress,POAddressLine1,POCity,POPostalCode,POCountry,InvoiceNumber,Reference,InvoiceDate,DueDate,Description,Quantity,UnitAmount,AccountCode,TaxType,TaxAmount\nExternal Payer,null"));
                Assert.IsTrue(XEROText.Contains("INV10214799,Upload_PDF_P-09,18/10/2018,01/01/2024,Exported from pay.billzy.com,1,900.00,,GST,0.00\nExternal Payer,null,,,,,INV10214807,Upload_PDF_P-10,18/10/2018,01/01/2024,Exported from pay.billzy.com,1,1000.00,,GST,0.00\nbillzyBiz-415339,[email protected],415339 Testing St.,Brisbane,4000,AU,INV10214765,Upload_PDF_P-06,18/10/2018,01/01/2024,Exported from pay.billzy.com,1,600.00,,GST,0.00\nbillzyBiz-415339,[email protected],415339 Testing St.,Brisbane,4000,AU,INV10214773,Upload_PDF_P-07,18/10/2018,01/01/2024,Exported from pay.billzy.com,1,700.00,,GST,0.00\nbillzyBiz-415339,[email protected],415339 Testing St.,Brisbane,4000,AU,INV10214781,Upload_PDF_P-08,18/10/2018,01/01/2024,Exported from pay.billzy.com,1,800.00,,GST,0.00"));


                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                loginPage.UserNameTextBox().Click();

                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.ReceivedHistoryBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys("Upload_PDF_P");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                SeleniumSetMethods.WaitOnPage(secdelay4);
                //testInfo = 'Export Modal for Received - History - Billzy Export CSV'
                Recpg.SelectExportFormat().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.BillzyExport().Click();
                SeleniumSetMethods.WaitOnPage(secdelay7);

                string rExportModalTitle = ExportMlPg.ExportModalTitle().Text;
                string rExportMessage    = ExportMlPg.ExportMessage().Text;
                bool   ricon             = ExportMlPg.ExportDownloadIcon().Displayed;
                string rhyperlink        = ExportMlPg.HereHypherLink().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(rExportModalTitle.Contains("Export") && rExportMessage.Contains("Your download should start automatically. ") && ricon == true && rhyperlink.Contains("here"));
                ExportMlPg.ExportDownloadIcon().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                ExportMlPg.ExportCloseBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                // Validating the CSV report
                string exportlink3 = SendPg.ExportCSVFile().GetAttribute("href");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                string CSVLink3     = exportlink3.Substring(exportlink3.IndexOf("https://4impact-export-data-uat.s3.ap-southeast-2.amazonaws.com/")).Replace("https://4impact-export-data-uat.s3.ap-southeast-2.amazonaws.com/", "");
                string csvfilename3 = CSVLink3.Substring(0, CSVLink3.LastIndexOf(".") + 1);
                string CSV2         = File.ReadAllText(@"C:\Users\Selenium\Downloads\" + csvfilename3 + "csv");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(CSV2.Contains("Status,Verified,From,Invoice Number,Completed,Amount,Billzy Column\nPAID,NOT VERIFIED,billzyBiz-380887,Upload_PDF_P-06,2018-10-17,600.00,\nPAID,NOT VERIFIED,billzyBiz-380887,Upload_PDF_P-08,2018-10-17,800.00,\nPAID,NOT VERIFIED,billzyBiz-380887,Upload_PDF_P-07,2018-10-17,690.00,You saved $10.00"));
                //Assert.IsTrue(CSV2.Contains("Status,Verified,From,Invoice Number,Completed,Amount,Billzy Column\nPAID,NOT VERIFIED,billzyBiz-380887,Upload_PDF_P-06,2018-10-18,600.00,\nPAID,NOT VERIFIED,billzyBiz-380887,Upload_PDF_P-08,2018-10-18,800.00,\nPAID,NOT VERIFIED,billzyBiz-380887,Upload_PDF_P-07,2018-10-18,690.00,You saved $10.00"));

                //testInfo = 'Export Modal for Received - History - MYOB CSV'
                Recpg.SelectExportFormat().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.MYOB().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                ExportMlPg.AccountNumber().SendKeys("031982");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                ExportMlPg.NextBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                string rExportModalTitle1 = ExportMlPg.ExportModalTitle().Text;
                string rExportMessage1    = ExportMlPg.ExportMessage().Text;
                bool   ricon1             = ExportMlPg.ExportDownloadIcon().Displayed;
                string rhyperlink1        = ExportMlPg.HereHypherLink().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(rExportModalTitle1.Contains("Export") && rExportMessage1.Contains("Your download should start automatically. ") && ricon1 == true && rhyperlink1.Contains("here"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                ExportMlPg.ExportDownloadIcon().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                ExportMlPg.ExportCloseBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                // Validating the CSV report
                string exportlink4 = SendPg.ExportCSVFile().GetAttribute("href");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                string CSVLink4     = exportlink4.Substring(exportlink4.IndexOf("https://4impact-export-data-uat.s3.ap-southeast-2.amazonaws.com/")).Replace("https://4impact-export-data-uat.s3.ap-southeast-2.amazonaws.com/", "");
                string csvfilename4 = CSVLink4.Substring(0, CSVLink4.LastIndexOf(".") + 1);
                string MYOB2        = File.ReadAllText(@"C:\Users\Selenium\Downloads\" + csvfilename4 + "txt");
                Assert.IsTrue(MYOB2.Contains("Co./Last Name,Date,Supplier Invoice #,Description,Account Number,Amount,Tax Code,Tax Amount,Purchase Status,Terms - Payment is Due,           - Balance Due Days,Amount Paid,Inc-Tax Amount"));
                Assert.IsTrue(MYOB2.Contains("billzyBiz-380887,18/10/2018,Upload_PDF_P-06,,031982,545.45,GST,54.55,B,2,14,600.00,600.00\n\nbillzyBiz-380887,18/10/2018,Upload_PDF_P-07,,031982,636.36,GST,63.64,B,2,14,700.00,700.00\n\nbillzyBiz-380887,18/10/2018,Upload_PDF_P-08,,031982,727.27,GST,72.73,B,2,14,800.00,800.00"));

                //testInfo = 'Export Modal for Received - History - XERO CSV'

                Recpg.SelectExportFormat().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.XERO().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);


                string rExportModalTitle2 = ExportMlPg.ExportModalTitle().Text;
                string rExportMessage2    = ExportMlPg.ExportMessage().Text;
                bool   ricon2             = ExportMlPg.ExportDownloadIcon().Displayed;
                string rhyperlink2        = ExportMlPg.HereHypherLink().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(rExportModalTitle2.Contains("Export") && rExportMessage2.Contains("Your download should start automatically. ") && ricon2 == true && rhyperlink2.Contains("here"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                ExportMlPg.ExportDownloadIcon().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                ExportMlPg.ExportCloseBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                // Validating the CSV report
                string exportlink5 = SendPg.ExportCSVFile().GetAttribute("href");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                string CSVLink5     = exportlink5.Substring(exportlink5.IndexOf("https://4impact-export-data-uat.s3.ap-southeast-2.amazonaws.com/")).Replace("https://4impact-export-data-uat.s3.ap-southeast-2.amazonaws.com/", "");
                string csvfilename5 = CSVLink5.Substring(0, CSVLink5.LastIndexOf(".") + 1);
                string XERO2        = File.ReadAllText(@"C:\Users\Selenium\Downloads\" + csvfilename5 + "csv");
                Assert.IsTrue(XERO2.Contains("ContactName,EmailAddress,POAddressLine1,POCity,POPostalCode,POCountry,InvoiceNumber,Reference,InvoiceDate,DueDate,Description,Quantity,UnitAmount,AccountCode,TaxType,TaxAmount\nbillzyBiz-380887,[email protected],Testing St.,Brisbane,4000,AU,INV10214765,Upload_PDF_P-06,18/10/2018,01/01/2024,Exported from pay.billzy.com,1,600.00,,GST,0.00\nbillzyBiz-380887,[email protected],Testing St.,Brisbane,4000,AU,INV10214773,Upload_PDF_P-07,18/10/2018,01/01/2024,Exported from pay.billzy.com,1,700.00,,GST,0.00\nbillzyBiz-380887,[email protected],Testing St.,Brisbane,4000,AU,INV10214781,Upload_PDF_P-08,18/10/2018,01/01/2024,Exported from pay.billzy.com,1,800.00,,GST,0.00"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }
        public void BankAccountVerification01_VerifyNewlyAddedBank()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                /* Bank Account Verification Scenarios -
                 *  Add Account and Verify
                 *  Delete Account
                 *  Add account and failed verification
                 */
                string bankAccountName1 = "Bank Account 01";
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage       loginPage      = new LoginPage(WebDriver);
                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();

                SeleniumSetMethods.WaitOnPage(secdelay8);

                HomePg.Profile().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                HomePg.CardMgmnt().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                DebitCardPage DebitCardPg = new DebitCardPage(WebDriver);
                DebitCardPg.DebitCardBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                DebitCardPg.AddBankAccountBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.NameofAccount().SendKeys(bankAccountName1);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.Bsb().SendKeys("650001");

                Random   rand1     = new Random();
                DateTime dt1       = new DateTime();
                string   dtString1 = dt1.ToString("MM HH:mm:ss");
                int      randBankAccountNumber1 = rand1.Next();

                DebitCardPg.AccountNumber().SendKeys(randBankAccountNumber1.ToString());
                String BankAccountNumber1 = DebitCardPg.AccountNumber().Text;
                DebitCardPg.BankName().SendKeys("Westpac");
                DebitCardPg.AccountNickname().SendKeys(bankAccountName1);
                DebitCardPg.TCCheckbox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.AddDebitAccountBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                DebitCardPg.AccountNickName1().Equals(bankAccountName1);

                String DateVerified1    = DebitCardPg.DateVerified1().Text;
                String BSB1             = DebitCardPg.BSB1().Text;
                String AccountNumber1   = DebitCardPg.AccountNumber1().Text;
                String AccountNickName1 = DebitCardPg.AccountNickName1().Text;
                String AccountName1     = DebitCardPg.AccountName1().Text;
                string PendingIcon1     = DebitCardPg.VerifyPendingIcon1().GetAttribute("title");
                SeleniumSetMethods.WaitOnPage(secdelay4);

                Assert.IsTrue(DateVerified1.Contains("Verify Now") && BSB1.Contains("650001") && AccountName1.Contains(bankAccountName1) && AccountNumber1.Contains(BankAccountNumber1) && PendingIcon1.Contains("Pending transactions"));


                DebitCardPg.VerifyNowLink1().Click();

                SeleniumSetMethods.WaitOnPage(secdelay2);
                string defaultDepositedAmount             = "0.01";
                VerifyBankAccountPage VerifyBankAccountPg = new VerifyBankAccountPage(WebDriver);
                VerifyBankAccountPg.DepositedAmount1().SendKeys(defaultDepositedAmount);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.DepositedAmount2().SendKeys(defaultDepositedAmount);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                String CancelBTN = VerifyBankAccountPg.CancelBTN().Text;
                SeleniumSetMethods.WaitOnPage(secdelay4);
                Assert.IsTrue(CancelBTN.Contains("CANCEL"));


                VerifyBankAccountPg.VerifyBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                string Today = DateTime.Now.ToString("dd/MM/yyyy");
                //bool VerifyVerifiedIcon1 = DebitCardPg.VerifyVerifiedIcon1().Displayed;
                string VerifiedIcon1 = DebitCardPg.VerifyVerifiedIcon1().GetAttribute("title");
                String DateVerified2 = DebitCardPg.DateVerified1().Text;
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Assert.IsTrue(DateVerified2.Contains(Today) && VerifiedIcon1.Contains("Verified account"));

                VerifyBankAccountPg.DeleteAccountButton().Click();

                SeleniumSetMethods.WaitOnPage(secdelay3);

                DebitCardPg.AddBankAccountBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Random   rand2     = new Random();
                DateTime dt2       = new DateTime();
                string   dtString2 = dt2.ToString("MM HH:mm:ss");
                int      randBankAccountNumber2 = rand2.Next();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.NameofAccount().SendKeys("Invalid Account");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.Bsb().SendKeys("650002");
                DebitCardPg.AccountNumber().SendKeys(randBankAccountNumber2.ToString());
                String BankAccountNumber11 = DebitCardPg.AccountNumber().Text;
                DebitCardPg.BankName().SendKeys("Westpac");
                DebitCardPg.AccountNickname().SendKeys("Invalid Account");
                DebitCardPg.TCCheckbox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.AddDebitAccountBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.VerifyNowLink1().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.DepositedAmount1().SendKeys("0.02");
                VerifyBankAccountPg.DepositedAmount2().SendKeys("0.02");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.VerifyBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                String ErrorMessage = VerifyBankAccountPg.ErrorMessage().Text;


                Assert.IsTrue(ErrorMessage.Contains("You have two attempts remaining"));

                VerifyBankAccountPg.CancelBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.VerifyNowLink1().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.DepositedAmount1().SendKeys("0.03");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.DepositedAmount2().SendKeys("0.03");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.VerifyBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                String ErrorMessage1 = VerifyBankAccountPg.ErrorMessage().Text;
                SeleniumSetMethods.WaitOnPage(secdelay4);
                Assert.IsTrue(ErrorMessage1.Contains("You have one attempt remaining"));

                VerifyBankAccountPg.CancelBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.VerifyNowLink1().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                VerifyBankAccountPg.DepositedAmount1().SendKeys("0.04");

                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.DepositedAmount2().SendKeys("0.04");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.VerifyBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                String ErrorMessage2 = VerifyBankAccountPg.ErrorMessage().Text;
                Assert.IsTrue(ErrorMessage2.Contains("You have no more attempts remaining, please contact billzy"));

                bool VerifyButton = DebitCardPg.VerifyNowLink1().Displayed;
                Console.WriteLine(VerifyButton);
                VerifyBankAccountPg.CancelBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.VerifyContactBillzy().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                String BillzyContact = VerifyBankAccountPg.BillzyContact1().Text;
                Assert.IsTrue(BillzyContact.Contains("Phone: 1300 BILLZY"));

                HomePg.CardMgmnt().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.DebitCardBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.DeleteAccountButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }
        public void MerchantAccountVerification03_VerifyMerchantAccount()
        {
            //New user creation
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                Random   rand        = new Random();
                DateTime dt          = new DateTime();
                string   dtString    = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber1 = rand.Next();

                string xmlMessage  = @"<BillzyBusiness>
            <businessName>madcowtesting10+anogstbiller02</businessName>
            <qvalentSubMerchantName>madcowtesting10+anogstbiller02</qvalentSubMerchantName>
            <businessPhone>12345678</businessPhone>
            <businessAddressStreet>370 Queen St</businessAddressStreet>
            <businessAddressSuburb>Brisbane</businessAddressSuburb>
            <businessAddressState>QLD</businessAddressState>
            <businessAddressPostcode>4000</businessAddressPostcode>
            <businessEmail>[email protected]</businessEmail>
            <abn>10987654321</abn>
            <showDebitAccounts>true</showDebitAccounts>
            <gstRegistered>false</gstRegistered>
            <contact>
                <name>madcowtesting10+anogstbiller02</name>
                <email>[email protected]</email>
                <phone>0405028000</phone>
                <loginName>[email protected]</loginName>
            </contact>
            <bankAccount>
                <name>receiveAccount</name>
                <bsb>484799</bsb>
                <accountNumber>65432111</accountNumber>
            </bankAccount>
            <createdByUser>
                <username>[email protected]</username>
                <password>Cognito1</password>
            </createdByUser>
            <referrer>
                <referrerId>1</referrerId>
                <name>[email protected]</name>
            </referrer>
        </BillzyBusiness>";
                string numb        = randnumber1.ToString();
                var    replacement = xmlMessage.Replace("anogstbiller02", numb);
                Console.WriteLine($"The source string is <{xmlMessage}>");
                Console.WriteLine($"The updated string is <{replacement}>");

                string         url     = "https://api.demo.billzy.com/accounts/v1";
                byte[]         bytes   = Encoding.UTF8.GetBytes(replacement);
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method        = "POST";
                request.ContentLength = bytes.Length;
                request.ContentType   = "text/xml";
                using (Stream requestStream = request.GetRequestStream())
                {
                    requestStream.Write(bytes, 0, bytes.Length);
                }
                using (HttpWebResponse response = (HttpWebResponse)
                                                  request.GetResponse())
                {
                    //###Login to biller account
                    WebDriver.Manage().Window.Maximize();
                    WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                    LoginPage    loginPage = new LoginPage(WebDriver);
                    SendPage     SendPg    = new SendPage(WebDriver);
                    ReceivedPage Recpg     = new ReceivedPage(WebDriver);
                    loginPage.UserNameTextBox().Click();
                    loginPage.UserNameTextBox().SendKeys("madcowtesting10+" + randnumber1 + "@gmail.com");
                    loginPage.PasswordTextBox().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    loginPage.PasswordTextBox().SendKeys("Password1");
                    loginPage.LoginButton().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay5);
                    SetPasswordPage setpwdpg = new SetPasswordPage(WebDriver);
                    //initial password setup
                    setpwdpg.Email().SendKeys("madcowtesting10+" + randnumber1 + "@gmail.com");
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    setpwdpg.TemporaryPassword().SendKeys("Password1");
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    setpwdpg.NewPassword().SendKeys("Cognito1");
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    setpwdpg.ConfirmPassword().SendKeys("Cognito1");
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    setpwdpg.SetYourPasswordBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay5);
                    loginPage.PasswordTextBox().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    loginPage.PasswordTextBox().Clear();
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    loginPage.PasswordTextBox().SendKeys("Cognito1");
                    loginPage.LoginButton().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay5);
                    HomePage hmpg = new HomePage(WebDriver);
                    hmpg.SentBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay5);
                    string noinctxt = SendPg.Noinvoiceavailablemsg().Text;
                    SeleniumSetMethods.WaitOnPage(secdelay5);
                    Assert.IsTrue(noinctxt.Contains("No Invoices Available"));
                    SeleniumSetMethods.WaitOnPage(secdelay4);
                    // Merchant account verification
                    HomePg.Profile().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    HomePg.CardMgmnt().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    MerchantAccountPage MerchantPg = new MerchantAccountPage(WebDriver);
                    MerchantPg.MerchantAccountTab().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    bool   BSB                      = MerchantPg.BSB().Displayed;
                    bool   AccountName              = MerchantPg.AccountName().Displayed;
                    bool   AccountNumber            = MerchantPg.AccountNumber().Displayed;
                    bool   VerifiedDate             = MerchantPg.VerifiedDate().Displayed;
                    bool   UpdateMessage            = MerchantPg.UpdateMessage().Displayed;
                    bool   VerifyYourBankAccountBTN = MerchantPg.VerifyYourBankAccountBTN().Displayed;
                    String DateVerified1            = MerchantPg.VerifiedDate().Text;
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    Assert.IsTrue((VerifyYourBankAccountBTN == true) && DateVerified1.Contains("Account not yet verified"));
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    // failed to verify the first two attempts and successful in the third attempt
                    MerchantPg.VerifyYourBankAccountBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPage VerifyBankAccountPg = new VerifyBankAccountPage(WebDriver);
                    VerifyBankAccountPg.DepositedAmount1().SendKeys("0.02");
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.DepositedAmount2().SendKeys("0.02");
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.VerifyBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    String VerifyErrorMessage = VerifyBankAccountPg.ErrorMessage().Text;
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    Assert.IsTrue(VerifyErrorMessage.Contains("You have two attempts remaining"));
                    VerifyBankAccountPg.CancelBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    MerchantPg.VerifyYourBankAccountBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.DepositedAmount1().SendKeys("0.03");
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.DepositedAmount2().SendKeys("0.01");
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.VerifyBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    String VerifyErrorMessage1 = VerifyBankAccountPg.ErrorMessage().Text;
                    Assert.IsTrue(VerifyErrorMessage1.Contains("You have one attempt remaining"));
                    VerifyBankAccountPg.CancelBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    MerchantPg.VerifyYourBankAccountBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.DepositedAmount1().SendKeys("0.01");
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.DepositedAmount2().SendKeys("0.01");
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.VerifyBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    String UpdateMessage1 = MerchantPg.UpdateMessage().Text;
                    String VerifiedDate1  = MerchantPg.VerifiedDate().Text;
                    string Today          = DateTime.Now.ToString("dd/MM/yyyy");
                    SeleniumSetMethods.WaitOnPage(secdelay5);
                    Assert.IsTrue(UpdateMessage1.Contains("If you update your merchant account you will be required to verify your new bank account details by confirming two small amounts that will be deposited into your account.") && VerifiedDate1.Contains(Today));
                    HomePg.CardMgmnt().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay1);
                    //verifying the account update
                    MerchantPg.MerchantAccountTab().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    MerchantPg.BSB().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    MerchantPg.BSB().Clear();
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    MerchantPg.BSB().SendKeys("484798");
                    MerchantPg.AccountNumber().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay8);
                    MerchantPg.AccountNumber().Clear();
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    MerchantPg.AccountNumber().SendKeys("65432112");
                    MerchantPg.UpdateBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    bool VerifyYourBankAccountBTN1 = MerchantPg.VerifyYourBankAccountBTN().Displayed;
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    Assert.IsTrue(VerifyYourBankAccountBTN1 == true);
                    //verifying the already verified account
                    MerchantPg.MerchantAccountTab().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    MerchantPg.BSB().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay8);
                    MerchantPg.BSB().Clear();
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    MerchantPg.BSB().SendKeys("484799");
                    MerchantPg.AccountNumber().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay8);
                    MerchantPg.AccountNumber().Clear();
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    MerchantPg.AccountNumber().SendKeys("65432111");
                    MerchantPg.AccountName().Click();
                    MerchantPg.AccountName().SendKeys("2");
                    MerchantPg.UpdateBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    bool VerifyYourBankAccountBTN2 = MerchantPg.VerifyYourBankAccountBTN().Displayed;
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    string Today1         = DateTime.Now.ToString("dd/MM/yyyy");
                    String VerifiedDate11 = MerchantPg.VerifiedDate().Text;
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    Assert.IsTrue(VerifyYourBankAccountBTN2 == false && VerifiedDate11.Contains(Today1));
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    // failed verification in all three attempts
                    MerchantPg.MerchantAccountTab().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    MerchantPg.BSB().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay8);
                    MerchantPg.BSB().Clear();
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    MerchantPg.BSB().SendKeys("484799");
                    MerchantPg.AccountNumber().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay8);
                    MerchantPg.AccountNumber().Clear();
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    MerchantPg.AccountNumber().SendKeys("65432112");
                    MerchantPg.AccountName().Click();
                    MerchantPg.AccountName().SendKeys("2");
                    MerchantPg.UpdateBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    MerchantPg.VerifyYourBankAccountBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.DepositedAmount1().SendKeys("0.02");
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.DepositedAmount2().SendKeys("0.02");
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.VerifyBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    String VerifyErrorMessage11 = VerifyBankAccountPg.ErrorMessage().Text;
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    Assert.IsTrue(VerifyErrorMessage11.Contains("You have two attempts remaining"));
                    VerifyBankAccountPg.CancelBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    MerchantPg.VerifyYourBankAccountBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.DepositedAmount1().SendKeys("0.03");
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.DepositedAmount2().SendKeys("0.01");
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.VerifyBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    String VerifyErrorMessage22 = VerifyBankAccountPg.ErrorMessage().Text;
                    Assert.IsTrue(VerifyErrorMessage22.Contains("You have one attempt remaining"));
                    VerifyBankAccountPg.CancelBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    MerchantPg.VerifyYourBankAccountBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.DepositedAmount1().SendKeys("0.01");
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.DepositedAmount2().SendKeys("0.04");
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    VerifyBankAccountPg.VerifyBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    String VerifyErrorMessage33 = VerifyBankAccountPg.ErrorMessage().Text;
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    Assert.IsTrue(VerifyErrorMessage33.Contains("You have no more attempts remaining, please contact billzy"));
                    VerifyBankAccountPg.CancelBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    bool ContactBillzyBTN = MerchantPg.ContactBillzyBTN().Displayed;
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    Assert.IsTrue(ContactBillzyBTN == true);
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                    SeleniumSetMethods.WaitOnPage(secdelay4);
                }
            }
            finally
            {
            }
        }
        public void IssueInvoice01_ExternalPayer_CreateInvoice_GST_NoSurcharge()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage       loginPage      = new LoginPage(WebDriver);
                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IWebElement bodyTag = WebDriver.FindElement(By.TagName("body"));
                bool        errmsg1 = bodyTag.Text.Contains("For security reasons you must enter either a street address or ABN.");
                bool        errmsg2 = bodyTag.Text.Contains("You must choose a valid business.");
                bool        data1   = bodyTag.Text.Contains("Business Name");
                bool        data2   = bodyTag.Text.Contains("ABN");
                bool        data3   = bodyTag.Text.Contains("Email");
                bool        data4   = bodyTag.Text.Contains("Street");
                bool        data5   = bodyTag.Text.Contains("Suburb");
                bool        data6   = bodyTag.Text.Contains("Postcode");

                bool data8  = bodyTag.Text.Contains("State");
                bool data9  = bodyTag.Text.Contains("Payment Terms");
                bool data10 = bodyTag.Text.Contains("Due Date");
                bool data11 = bodyTag.Text.Contains("PDF Invoice");
                bool data12 = bodyTag.Text.Contains("Subject");
                bool data13 = bodyTag.Text.Contains("Message");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(errmsg1 == true && errmsg2 == true && data1 == true && data2 == true && data3 == true && data4 == true && data5 == true && data6 == true && data8 == true && data9 == true && data10 == true && data11 == true && data12 == true && data13 == true);
                IssueInvoicePg.AddCustomerButton().Click();
                AddCustomerPage AddCustomerPg = new AddCustomerPage(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Random   rand        = new Random();
                DateTime dt          = new DateTime();
                string   dtString    = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber1 = rand.Next();
                bool     data111     = bodyTag.Text.Contains("Business Name");
                bool     data22      = bodyTag.Text.Contains("ABN");
                bool     data33      = bodyTag.Text.Contains("Contact Email");
                bool     data44      = bodyTag.Text.Contains("Street");
                bool     data55      = bodyTag.Text.Contains("Suburb");
                bool     data66      = bodyTag.Text.Contains("Postcode");
                bool     data77      = bodyTag.Text.Contains("Country");
                bool     data88      = bodyTag.Text.Contains("State");
                bool     data99      = bodyTag.Text.Contains("Contact Name");
                bool     data1010    = bodyTag.Text.Contains("Contact Phone Number");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(data111 == true && data22 == true && data33 == true && data44 == true && data55 == true && data66 == true && data77 == true && data88 == true && data99 == true && data1010 == true);
                AddCustomerPg.BusinessName().Click();
                AddCustomerPg.BusinessName().SendKeys("ExternalGST@" + randnumber1);
                AddCustomerPg.Abn().SendKeys("abhushuhuhq");
                AddCustomerPg.ContactName().SendKeys("Test@" + randnumber1);
                AddCustomerPg.ContactEmail().SendKeys("test.com");
                AddCustomerPg.ContactPhoneNumber().SendKeys("12345671447");
                AddCustomerPg.Street().SendKeys("10 Miller Street");
                AddCustomerPg.Suburb().SendKeys("Murarrie");
                AddCustomerPg.Postcode().SendKeys("4172");
                AddCustomerPg.AddBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                bool errmsg11 = bodyTag.Text.Contains("The value entered was not a valid 11 digit ABN (numbers and spaces only).");
                bool errmsg22 = bodyTag.Text.Contains("The value needs to be a valid email address, e.g. [email protected]");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(errmsg11 == true && errmsg22 == true);
                AddCustomerPg.Abn().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().SendKeys("1111111111");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.ContactEmail().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.ContactEmail().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                AddCustomerPg.ContactEmail().SendKeys("madcowtesting10+" + randnumber1 + "@gmail.com");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.AddBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                bool errmsg33 = bodyTag.Text.Contains("Invalid ABN length");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(errmsg33 == true);

                AddCustomerPg.Abn().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().SendKeys("111111111111");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.AddBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                bool errmsg44 = bodyTag.Text.Contains("Invalid ABN length");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(errmsg44 == true);

                AddCustomerPg.Abn().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().SendKeys("11111111111*");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.AddBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                bool errmsg55 = bodyTag.Text.Contains("The value entered was not a valid 11 digit ABN (numbers and spaces only).");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(errmsg44 == true);

                AddCustomerPg.Abn().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().SendKeys("11 111 111 111");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.AddBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);



                String PaymentTerms = "14 days";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.CreateInvoice().Click();
                IssueInvoicePg.InvoiceReferenceCreate().SendKeys("Ext-Inv@" + randnumber1);
                IssueInvoicePg.Description().SendKeys("Test Invoice issued to External Payer");
                IssueInvoicePg.LineItemAmount().SendKeys("185.12");
                IssueInvoicePg.PreviewInvoice().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                var tabs = WebDriver.WindowHandles;
                if (tabs.Count > 1)
                {
                    WebDriver.SwitchTo().Window(tabs[1]);
                    WebDriver.Close();
                    WebDriver.SwitchTo().Window(tabs[0]);
                }
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.Outside().Click();
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent");
                string subject     = IssueInvoicePg.Subject().GetAttribute("value");
                string TotalGSTMsg = IssueInvoicePg.TotalGSTMsg().Text;
                string TotalValue  = IssueInvoicePg.TotalValue().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(subject.Contains("madcowtesting10+agstbiller has sent you an invoice") && TotalGSTMsg.Contains("(incl. GST)") && TotalValue.Contains("$203.63"));
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SearchInvoiceSent().SendKeys("Ext-Inv@" + randnumber1);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
            }
            finally
            {
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
        }
        public void IssueInvoice06_InternalPayer_CreateInvoice_NoGST_Deal_Surcharge()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage       loginPage      = new LoginPage(WebDriver);
                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IWebElement     bodyTag       = WebDriver.FindElement(By.TagName("body"));
                AddCustomerPage AddCustomerPg = new AddCustomerPage(WebDriver);
                Random          rand          = new Random();
                DateTime        dt            = new DateTime();
                string          dtString      = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int             randnumber1   = rand.Next();
                IssueInvoicePg.BusinessName().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.BusinessName().SendKeys("madcowtesting10+A");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SelectBusiness().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                String PaymentTerms = "90 days";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.CreateInvoice().Click();
                IssueInvoicePg.InvoiceReferenceCreate().SendKeys("Int-Inv@" + randnumber1);
                IssueInvoicePg.Description().SendKeys("Test Invoice issued to External Payer");
                IssueInvoicePg.LineItemAmount().SendKeys("1089.29");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent to internal payer");
                string subject     = IssueInvoicePg.Subject().GetAttribute("value");
                string TotalGSTMsg = IssueInvoicePg.TotalGSTMsg().Text;
                string TotalValue  = IssueInvoicePg.TotalValue().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(subject.Contains("madcowtesting10+IntPayCreateInvNOGST has sent you an invoice") && TotalGSTMsg.Contains("(excl. GST)") && TotalValue.Contains("$1,089.29"));
                IssueInvoicePg.BillzyDealBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.NewTotal().SendKeys("925.12");
                IssueInvoicePg.Comments().SendKeys("Deal is being offered excluding GST");
                IWebElement bodyTag1 = WebDriver.FindElement(By.TagName("body"));
                bool        disc1    = bodyTag1.Text.Contains("15.07% discount");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(disc1 == true);
                //IssueInvoicePg.NewTotal().Click();
                //SeleniumSetMethods.WaitOnPage(secdelay2);
                //IssueInvoicePg.NewTotal().Clear();
                //SeleniumSetMethods.WaitOnPage(secdelay2);
                //IssueInvoicePg.NewTotal().SendKeys("900");
                //SeleniumSetMethods.WaitOnPage(secdelay2);
                //bool disc2 = bodyTag1.Text.Contains("17.38% discount");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool disc3 = bodyTag1.Text.Contains("Due in 90 days");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(disc3 == true);
                DateTime duedate2        = DateTime.Today.AddDays(19);
                string   SentPgDueDate3  = duedate2.ToString("dd MMM yy");
                string   SentPgDueDate33 = duedate2.ToString("dd/MM/yyyy");
                IssueInvoicePg.OfferExpiry().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.OfferExpiry().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.OfferExpiry().SendKeys(SentPgDueDate33);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.NewTotal().Click();
                bool dis4 = bodyTag1.Text.Contains("Due in 19 days");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(dis4 == true);
                IssueInvoicePg.SurchargeCheckbox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);

                SendPg.SearchInvoiceSent().SendKeys("Int-Inv@" + randnumber1);

                SeleniumSetMethods.WaitOnPage(secdelay2);
                string due11 = SendPg.DueRow01().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(due11.Contains(SentPgDueDate3));
                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
            }
            finally
            {
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
        }
        public void IssueInvoice04_ExternalPayer_UploadInvoice_NoGST_Surcharge_EndOfNextMonth()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage       loginPage      = new LoginPage(WebDriver);
                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IssueInvoicePg.BusinessName().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.BusinessName().SendKeys("External1");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SelectBusiness().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Random   rand         = new Random();
                DateTime dt           = new DateTime();
                string   dtString     = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber1  = rand.Next();
                String   PaymentTerms = "End of next month";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IssueInvoicePg.PdfUploadFileBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool gstmsg = IssueInvoicePg.GstValue().Displayed;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(gstmsg == false);
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IWebElement bodyTag = WebDriver.FindElement(By.TagName("body"));
                bool        err1    = bodyTag.Text.Contains("Please upload a PDF File");
                bool        err2    = bodyTag.Text.Contains("Invoice total must be greater than zero");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(err1 == true && err2 == true);
                IssueInvoicePg.PdfUploadFileBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.uploadPDF().SendKeys(@"C:\Users\Selenium\Desktop\SeleniumRegressionSuite_Bamboo\bin\Debug\netcoreapp3.1\Invoice.pdf");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.UploadAmount().SendKeys("123.19");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.UploadInvRef().SendKeys("Ext-Inv@" + randnumber1);
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent");
                string subject = IssueInvoicePg.Subject().GetAttribute("value");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(subject.Contains("madcowtesting10+aagstbiller has sent you an invoice"));
                IssueInvoicePg.SurchargeCheckboxUpload().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SearchInvoiceSent().SendKeys("Ext-Inv@" + randnumber1);
                SeleniumSetMethods.WaitOnPage(secdelay7);

                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
            }
            finally
            {
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
        }
        public void BillzyInbox01_ListView_and_SIV_validation_CSVExport()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage       loginPage      = new LoginPage(WebDriver);
                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                Recpg.BillzyInboxFilterCheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                IWebElement bodyTag = WebDriver.FindElement(By.TagName("body"));
                bool        data1   = bodyTag.Text.Contains("Young Advertising");
                bool        data2   = bodyTag.Text.Contains("Pitney Bowes");
                bool        data3   = bodyTag.Text.Contains("Invoices");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(data1 == true && data2 == true && data3 == true);
                Recpg.BillzyInboxFilterUncheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool data44 = bodyTag.Text.Contains("Invoices");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(data44 == true);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.BillzyDealFilterCheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool data4 = bodyTag.Text.Contains("Offer");
                SeleniumSetMethods.WaitOnPage(secdelay2);

                Assert.IsTrue(data4 == true);
                //Recpg.BillzyDealFilterUncheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.BillzyInboxFilterCheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool data55 = bodyTag.Text.Contains("No Invoices Available");
                SeleniumSetMethods.WaitOnPage(secdelay2);

                Assert.IsTrue(data55 == true);
                Recpg.BillzyInboxFilterUncheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.BillzyDealFilterUncheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);

                Recpg.SearchInvoiceReceived().SendKeys("Young Advertising");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.ToPayTab().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                bool data5  = bodyTag.Text.Contains("Please verify invoice");
                bool data6  = bodyTag.Text.Contains("Young Advertising");
                bool data7  = bodyTag.Text.Contains("1038");
                bool data8  = bodyTag.Text.Contains("29 Jun 17");
                bool data9  = bodyTag.Text.Contains("$6,600.00");
                bool data10 = bodyTag.Text.Contains("External Biller");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.SearchInvoiceReceived().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.SearchInvoiceReceived().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(data5 == false && data6 == true && data7 == true && data8 == true && data9 == true && data10 == false);
                Recpg.BillzyInboxFilterCheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);


                IWebElement bodyTag2    = WebDriver.FindElement(By.TagName("body"));
                bool        datacheck3  = bodyTag2.Text.Contains("Young Advertising");
                bool        datacheck4  = bodyTag2.Text.Contains("Pitney Bowes");
                bool        datacheck5  = bodyTag2.Text.Contains("Please verify invoice");
                bool        datacheck6  = bodyTag2.Text.Contains("Offer sent");
                bool        datacheck7  = bodyTag2.Text.Contains("Offer received");
                bool        datacheck8  = bodyTag2.Text.Contains("Offer declined");
                bool        datacheck9  = bodyTag2.Text.Contains("Offer accepted");
                bool        datacheck10 = bodyTag2.Text.Contains("Offer withdrawn");
                bool        datacheck11 = bodyTag2.Text.Contains("INV-004");
                bool        datacheck12 = bodyTag2.Text.Contains("External Biller");
                string      data        = bodyTag2.Text;
                Console.WriteLine(data);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(datacheck3 == true && datacheck4 == true && datacheck5 == false && datacheck6 == false && datacheck7 == false && datacheck8 == false && datacheck9 == false && datacheck10 == false && datacheck11 == false && datacheck12 == false);
                Recpg.BillzyDealFilterCheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                bool ddatacheck3  = bodyTag2.Text.Contains("Young Advertising");
                bool ddatacheck4  = bodyTag2.Text.Contains("Pitney Bowes");
                bool ddatacheck5  = bodyTag2.Text.Contains("Please verify invoice");
                bool ddatacheck6  = bodyTag2.Text.Contains("Offer sent");
                bool ddatacheck7  = bodyTag2.Text.Contains("Offer received");
                bool ddatacheck8  = bodyTag2.Text.Contains("Offer declined");
                bool ddatacheck9  = bodyTag2.Text.Contains("Offer accepted");
                bool ddatacheck10 = bodyTag2.Text.Contains("Offer withdrawn");
                bool ddatacheck11 = bodyTag2.Text.Contains("INV-004");
                bool ddatacheck12 = bodyTag2.Text.Contains("External Biller");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(ddatacheck3 == false && ddatacheck4 == false && ddatacheck5 == false && ddatacheck6 == false && ddatacheck7 == false && ddatacheck8 == false && ddatacheck9 == false && ddatacheck10 == false && ddatacheck11 == false && ddatacheck12 == false);
                SeleniumSetMethods.WaitOnPage(secdelay2);

                Recpg.BillzyInboxFilterUncheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.BillzyDealFilterUncheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                IWebElement bodyTag222 = WebDriver.FindElement(By.TagName("body"));
                SeleniumSetMethods.WaitOnPage(secdelay4);
                bool dddatacheck3  = bodyTag222.Text.Contains("Young Advertising");
                bool dddatacheck4  = bodyTag222.Text.Contains("Pitney Bowes");
                bool dddatacheck5  = bodyTag222.Text.Contains("Please verify invoice");
                bool dddatacheck6  = bodyTag222.Text.Contains("Offer sent");
                bool dddatacheck7  = bodyTag222.Text.Contains("Offer received");
                bool dddatacheck8  = bodyTag222.Text.Contains("Offer declined");
                bool dddatacheck9  = bodyTag222.Text.Contains("Offer accepted");
                bool dddatacheck10 = bodyTag222.Text.Contains("Offer withdrawn");
                bool dddatacheck11 = bodyTag222.Text.Contains("INV-004");
                bool dddatacheck12 = bodyTag222.Text.Contains("External Biller");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(dddatacheck3 == true && dddatacheck4 == true && dddatacheck5 == false && dddatacheck6 == true && dddatacheck7 == true && dddatacheck8 == true && dddatacheck9 == true && dddatacheck10 == true && dddatacheck11 == true && dddatacheck12 == false);
                SeleniumSetMethods.WaitOnPage(secdelay2);

                //testInfo = As Payer verify BillzyInbox Invoice functionalities in SIV
                SeleniumSetMethods.WaitOnPage(secdelay4);

                Recpg.SearchInvoiceReceived().SendKeys("Young Advertising");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                Recpg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                bool        inboxicon      = SIVPG1.BillzyInboxIcon().Displayed;
                IWebElement bodyTag4       = WebDriver.FindElement(By.TagName("body"));
                bool        billoerbusname = bodyTag4.Text.Contains("Young Advertising");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(inboxicon == true && billoerbusname == true);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.ActionDropdown().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool dele = SIVPG1.ActionDropdownDelete().Displayed;
                bool mark = SIVPG1.ActionDropdownMarkAsPaid().Displayed;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(dele == true && mark == false);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool billerofferbtn            = SIVPG1.BillerOfferADiscountBTN().Displayed;
                bool PayerOfferEarlyPaymentBTN = SIVPG1.PayerOfferEarlyPaymentBTN().Displayed;
                bool PayerVerifyBTN            = SIVPG1.PayerVerifyBTN().Displayed;
                bool PayBTNNoDeal = SIVPG1.PayBTNNoDeal().Displayed;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(billerofferbtn == false && PayerOfferEarlyPaymentBTN == false && PayBTNNoDeal == true && PayerVerifyBTN == true);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }
        public void AddDeleteCards01()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                Console.WriteLine(WebDriver.Manage().Window.Size);

                /*
                 *
                 * WebDriver.Manage().Window.Size = new Size(825, 990);
                 * SeleniumSetMethods.WaitOnPage(secdelay5);
                 * Console.WriteLine(WebDriver.Manage().Window.Size);
                 * Console.WriteLine("Test");
                 */

                WebDriver.Manage().Window.Maximize();

                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");

                LoginPage loginPage = new LoginPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay7);
                CardPage CardPg = new CardPage(WebDriver);

                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                HomePg.Profile().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.CardMgmnt().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.AddCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                //testInfo = Test 1 : Card Management - "Add Card" All Fields Displayed
                IWebElement bodyTag    = WebDriver.FindElement(By.TagName("body"));
                bool        card1      = bodyTag.Text.Contains("Add Card");
                bool        card2      = bodyTag.Text.Contains("Name on Credit Card");
                bool        card3      = bodyTag.Text.Contains("Credit Card Number");
                bool        card4      = bodyTag.Text.Contains("Expiry Date");
                bool        card5      = bodyTag.Text.Contains("Account Nickname");
                bool        CardField1 = CardPg.CardName().Displayed;
                bool        CardField2 = CardPg.NumberOnCard().Displayed;
                bool        CardField3 = CardPg.EndMonth().Displayed;
                bool        CardField4 = CardPg.EndYear().Displayed;
                bool        CardField5 = CardPg.CardNickname().Displayed;
                bool        CardField6 = CardPg.AddCard().Displayed;
                bool        CardField7 = CardPg.Cancel().Displayed;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(card1 == true && card2 == true && card3 == true && card4 == true && card5 == true && CardField1 == true && CardField2 == true && CardField3 == true && CardField4 == true && CardField5 == true && CardField6 == true && CardField7 == true);

                //Master Card
                CardPg.CardName().SendKeys("Credit Card Owner");
                CardPg.NumberOnCard().SendKeys("5454545454545454");
                CardPg.EndMonth().SendKeys("12");
                CardPg.EndYear().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().SendKeys("21");
                CardPg.CardCvc().SendKeys("123");
                CardPg.CardNickname().SendKeys("TestOnly");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.AddCard2().Click();
                SeleniumSetMethods.WaitOnPage(secdelay7);
                //CardPg.DeleteCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                //Visa Card
                CardPg.AddCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.CardName().SendKeys("Credit Card Owner");
                CardPg.NumberOnCard().SendKeys("4111111111111111");
                CardPg.EndMonth().SendKeys("12");
                CardPg.EndYear().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().SendKeys("21");
                CardPg.CardCvc().SendKeys("123");
                CardPg.CardNickname().SendKeys("TestOnly");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.AddCard2().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                //CardPg.DeleteCard().Click();
                CardPg.DeleteCard().Click();
                //Add  invalid Card number " Credit Card Number Field Error message
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.AddCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.CardName().SendKeys("Credit Card Owner");
                CardPg.NumberOnCard().SendKeys("4111111111111199");
                CardPg.EndMonth().SendKeys("12");
                CardPg.EndYear().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().SendKeys("21");
                CardPg.CardCvc().SendKeys("123");
                CardPg.CardNickname().SendKeys("TestOnly");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.AddCard2().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IWebElement bodyTag1 = WebDriver.FindElement(By.TagName("body"));
                bool        err1     = bodyTag1.Text.Contains("Invalid card number.");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(err1 == true);
                CardPg.AddCard().Click();
                IWebElement bodyTag11 = WebDriver.FindElement(By.TagName("body"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool refresh1 = bodyTag11.Text.Contains("Add Credit Card");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(refresh1 == true);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().Refresh();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                IWebElement bodyTag22 = WebDriver.FindElement(By.TagName("body"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool refresh11 = bodyTag22.Text.Contains("Add Credit Card");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(refresh11 == false);
                CardPg.AddCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.CardName().SendKeys("Credit Card Owner");
                CardPg.NumberOnCard().SendKeys("8113131313133313");
                CardPg.EndMonth().SendKeys("12");
                CardPg.EndYear().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().SendKeys("21");
                CardPg.CardCvc().SendKeys("123");
                CardPg.CardNickname().SendKeys("TestOnly");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.AddCard2().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IWebElement bodyTag2 = WebDriver.FindElement(By.TagName("body"));
                bool        err2     = bodyTag2.Text.Contains("Only Visa and MasterCard are accepted at present.");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(err2 == true);
                CardPg.Cancel().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                //Add Debit Card functionality
                DebitCardPage DebitPg = new DebitCardPage(WebDriver);
                DebitPg.DebitCardBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                DebitPg.AddBankAccountBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                DebitPg.NameofAccount().SendKeys("AddDebitAccount1");
                DebitPg.Bsb().SendKeys("123456");
                DebitPg.AccountNumber().SendKeys("123456789");
                DebitPg.BankName().SendKeys("commBank");
                DebitPg.AccountNickname().SendKeys("DebitNickName1");
                DebitPg.TCCheckbox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitPg.AddDebitAccountBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                IWebElement bodyTag3   = WebDriver.FindElement(By.TagName("body"));
                bool        bank1      = bodyTag3.Text.Contains("Account Nickname");
                bool        bank2      = bodyTag3.Text.Contains("BSB");
                bool        bank3      = bodyTag3.Text.Contains("Account Number");
                bool        bank4      = bodyTag3.Text.Contains("Bank");
                bool        bank5      = bodyTag3.Text.Contains("Account Name");
                bool        bankField1 = bodyTag3.Text.Contains("Delete");
                bool        bankField2 = bodyTag3.Text.Contains("DebitNickName1");
                bool        bankField3 = bodyTag3.Text.Contains("123456");
                bool        bankField4 = bodyTag3.Text.Contains("123456789");
                bool        bankField5 = bodyTag3.Text.Contains("commBank");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(bank1 == true && bank2 == true && bank3 == true && bank4 == true && bank5 == true && bankField1 == true && bankField2 == true && bankField3 == true && bankField4 == true && bankField5 == true);
                DebitPg.Deleteaccount().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IWebElement bodyTag4 = WebDriver.FindElement(By.TagName("body"));
                bool        bankdet1 = bodyTag4.Text.Contains("DebitNickName1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(bankdet1 == false);
                DebitPg.DebitCardBTN().Click();
                //verify the headings
                string title = CardPg.BankAccountTitles().Text;
                Console.WriteLine("title" + title);
                string data = CardPg.BankAccountData().Text;
                Console.WriteLine("data" + data);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }
コード例 #11
0
        public void DealFee03_BillerCounterPayerCounterDeal()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage       loginPage      = new LoginPage(WebDriver);
                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.BusinessName().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.BusinessName().SendKeys("madcowtesting10+872815244");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SelectBusiness().Click();

                //Generate two random numbers for unique customer details and invoice
                Random   rand        = new Random();
                DateTime dt          = new DateTime();
                string   dtString    = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber1 = rand.Next();
                Random   rand2       = new Random();
                DateTime dt2         = new DateTime();
                string   dtString2   = dt2.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber2 = rand.Next();

                SeleniumSetMethods.WaitOnPage(secdelay3);

                String PaymentTerms = "60 days";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.CreateInvoice().Click();
                IssueInvoicePg.InvoiceReferenceCreate().SendKeys("INVDealFees@" + randnumber2);
                IssueInvoicePg.Description().SendKeys("Test Invoice issued to Internal Payer");
                IssueInvoicePg.LineItemAmount().SendKeys("1875.12");
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent to internal payer");
                IssueInvoicePg.SurchargeCheckbox().Click();

                //issueInvoice_issueInvoicePage_totalValue.checkValueContains = @amountGst
                IssueInvoicePg.SendInvoiceBTN().Click();
                Console.WriteLine("InvoiceCreated");
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SendPg.SearchInvoiceSent().SendKeys("INVDealFees@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay4);
                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                bool reqcash = SIVPG1.RequestBillzyCashBTN().Displayed;
                bool reqdeal = SIVPG1.RequestBillzyDealBTN().Displayed;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(reqcash == true && reqdeal == true);
                DateTime duedate1       = DateTime.Today.AddDays(30);
                string   SentPgDueDate  = duedate1.ToString("dd/MM/yyyy");
                string   SentPgDueDate2 = duedate1.ToString("dd MMM yy");
                SIVPG1.BillerOfferADiscountBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SIVPG1.NewTotal().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.NewTotal().SendKeys("1800.55");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.OfferExpiry().Click();
                string percentage = SIVPG1.SIVOfferDiscountpercentage().Text;
                Assert.IsTrue(percentage.Contains("12.71%"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.OfferExpiry().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.OfferExpiry().SendKeys(SentPgDueDate);
                SeleniumSetMethods.WaitOnPage(secdelay1);
                SIVPG1.Comments().SendKeys("Biller offered a Deal");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                SIVPG1.OfferDiscountModalBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay8);
                SIVPG1.ReturnBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                loginPage.UserNameTextBox().Click();

                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys("INVDealFees@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Recpg.SearchedFirstRowDetailsLink().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                SIVPG1.PayerMakeACounterOfferBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);

                SIVPG1.NewTotal().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.NewTotal().SendKeys("1700");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                //verify discount %


                string percentage2 = SIVPG1.SIVOfferDiscountpercentage().Text;
                Assert.IsTrue(percentage2.Contains("17.58%"));
                SeleniumSetMethods.WaitOnPage(secdelay2);

                SIVPG1.Comments().SendKeys("Payer made a counter offer");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                SIVPG1.makeCounterOfferModalBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                bool withdraw = SIVPG1.WithdrawOfferPayerBTN().Displayed;
                Assert.IsTrue(withdraw == true);
                SIVPG1.ReturnBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys("INVDealFees@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Recpg.ActionsMenu().Click();
                HomePg.SignOutBTN().Click();

                SeleniumSetMethods.WaitOnPage(secdelay4);
                loginPage.UserNameTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");

                loginPage.LoginButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                SendPg.SentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SendPg.SearchInvoiceSent().SendKeys("INVDealFees@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay7);
                string status = SendPg.BillzyRow1().Text;
                bool   icon   = SendPg.OfferRecievedIcon().Displayed;

                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(status.Contains("Offer received") && icon == true);
                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay7);
                SIVPG1.BillerMakeACounterOfferBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                DateTime duedate3       = DateTime.Today.AddDays(15);
                string   SentPgDueDate3 = duedate3.ToString("dd/MM/yyyy");
                string   SentPgDueDate4 = duedate3.ToString("dd MMM yy");
                SIVPG1.NewTotal().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.NewTotal().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.NewTotal().SendKeys("1800");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                //verify discount %
                string percentage1 = SIVPG1.SIVOfferDiscountpercentage().Text;
                Assert.IsTrue(percentage1.Contains("12.73%"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.OfferExpiry().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.OfferExpiry().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.OfferExpiry().SendKeys(SentPgDueDate3);
                SeleniumSetMethods.WaitOnPage(secdelay1);
                SIVPG1.Comments().SendKeys("Biller made a counter offer");
                SeleniumSetMethods.WaitOnPage(secdelay3);

                SIVPG1.makeCounterOfferModalBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SIVPG1.ReturnBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);

                SendPg.SearchInvoiceSent().SendKeys("INVDealFees@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay7);

                String OfferStatus2 = SendPg.OfferStatussendpage().Text;

                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(OfferStatus2.Contains("Offer sent"));
                SeleniumSetMethods.WaitOnPage(secdelay3);
                HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                loginPage.UserNameTextBox().Click();

                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys("INVDealFees@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay3);

                String OfferStatus3 = Recpg.OfferacceptedStatus().Text;
                SeleniumSetMethods.WaitOnPage(secdelay1);

                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(OfferStatus3.Contains("Offer received"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.SearchedFirstRowDetailsLink().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);

                SIVPG1.PayerVerifyBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.ReturnBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);


                Recpg.ActionsMenu().Click();
                Recpg.PAY().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                PayNowPage Paynwpg = new PayNowPage(WebDriver);
                Paynwpg.Row01SelectCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Paynwpg.CardRow01().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);

                Paynwpg.ConfirmPaymentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Paynwpg.DoneBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Recpg.ReceivedHistoryBTN().Click();

                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys("INVDealFees@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay3);
                string paidstatushover = Recpg.HistoryPaidStatus().GetAttribute("data-title");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(paidstatushover.Contains("paid"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }
コード例 #12
0
        public void Payway01_SettlementReportDisplay()
        {
            HomePage  HomePg    = new HomePage(WebDriver);
            LoginPage loginPage = new LoginPage(WebDriver);
            BOBOPage  Bobopg    = new BOBOPage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");

                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);

                IWebElement     bodyTag       = WebDriver.FindElement(By.TagName("body"));
                AddCustomerPage AddCustomerPg = new AddCustomerPage(WebDriver);
                Random          rand          = new Random();
                DateTime        dt            = new DateTime();
                string          dtString      = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int             randnumber1   = rand.Next();
                IssueInvoicePg.BusinessName().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.BusinessName().SendKeys("madcowpayer+dealppp01");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SelectBusiness().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                String PaymentTerms = "30 days";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.CreateInvoice().Click();
                IssueInvoicePg.InvoiceReferenceCreate().SendKeys("Inv-67.1" + randnumber1);
                IssueInvoicePg.Description().SendKeys("Test Invoice issued to External Payer");
                IssueInvoicePg.LineItemAmount().SendKeys("67.1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent");
                IssueInvoicePg.SurchargeCheckbox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SearchInvoiceSent().SendKeys("Inv-67.1" + randnumber1);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                string invnumber1     = SIVPG1.InvNumber().Text;
                string invoicenumber1 = invnumber1.Substring(invnumber1.IndexOf("Invoice ")).Replace("Invoice ", "");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://4impact-billzy-bobo-ui-uat.s3-ap-southeast-2.amazonaws.com/poc.html");

                Bobopg.Username().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Bobopg.Username().SendKeys("*****@*****.**");
                Bobopg.Password().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Bobopg.Password().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Bobopg.LoginBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay10);
                string textcheck = Bobopg.UserWelcomeMessage().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(textcheck.Contains("Welcome, [email protected]"));
                Bobopg.PaywayTabSelection().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Bobopg.MatchButton1().Click();;
                SeleniumSetMethods.WaitOnPage(secdelay5);

                Bobopg.MatchButtonCancel().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Bobopg.MatchButton1().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                IWebElement MarkAsPaidInv = WebDriver.FindElement(By.XPath("(//*[@id=\"" + invoicenumber1 + "\"])[1]"));
                SeleniumSetMethods.WaitOnPage(secdelay3);
                MarkAsPaidInv.Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                IAlert alert1 = WebDriver.SwitchTo().Alert();
                alert1.Accept();
                SeleniumSetMethods.WaitOnPage(3);

                Bobopg.MatchButtonOk().Click();
            }
            finally
            {
            }
        }
コード例 #13
0
        public void EXPDeal03_SIV_PayerBillerView_WithDeal_DealPayerInitiated_IncludingGST_NoSurcharge_PayCC()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage loginPage = new LoginPage(WebDriver);


                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);

                SendPage SendPg = new SendPage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.BusinessName().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.BusinessName().SendKeys("payergst01");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SelectBusiness().Click();

                //Generate two random numbers for unique customer details and invoice
                Random   rand        = new Random();
                DateTime dt          = new DateTime();
                string   dtString    = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber1 = rand.Next();
                Random   rand2       = new Random();
                DateTime dt2         = new DateTime();
                string   dtString2   = dt2.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber2 = rand.Next();

                SeleniumSetMethods.WaitOnPage(secdelay3);
                DateTime newDate      = DateTime.Now.AddDays(900);
                string   dtString3    = newDate.ToString("dd/MM/yyyy");
                String   PaymentTerms = "By Due Date";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IssueInvoicePg.DueDate().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IssueInvoicePg.DueDate().Clear();
                IssueInvoicePg.DueDate().SendKeys(dtString3);
                IssueInvoicePg.CreateInvoice().Click();
                IssueInvoicePg.InvoiceReferenceCreate().SendKeys("PEDCC@" + randnumber2);
                IssueInvoicePg.Description().SendKeys("Test Invoice issued to Internal Payer");

                IssueInvoicePg.LineItemAmount().SendKeys("319.82");
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent to internal payer");


                //IssueInvoicePg.SurchargeCheckbox().Click();

                //issueInvoice_issueInvoicePage_totalValue.checkValueContains = @amountGst
                IssueInvoicePg.SendInvoiceBTN().Click();
                Console.WriteLine("InvoiceCreated");
                SeleniumSetMethods.WaitOnPage(secdelay7);
                HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);



                loginPage.UserNameTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                loginPage.LoginButton().Click();

                SeleniumSetMethods.WaitOnPage(secdelay7);

                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                PayNowPage      PayNwPg        = new PayNowPage(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys("PEDCC@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay6);
                Recpg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                SIVPG1.PayerOfferEarlyPaymentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IssueInvoicePg.NewTotal().SendKeys("319.82");

                DateTime newDate1  = DateTime.Now;
                string   dtString4 = newDate1.ToString("dd/MM/yyyy");

                SIVPG1.OfferExpiry().Clear();
                SIVPG1.OfferExpiry().SendKeys(dtString4);
                SIVPG1.Comments().SendKeys("Payer request to Offer Early Payment");
                SIVPG1.offerEarlyPaymentModalBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay6);


                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys("PEDCC");
                SeleniumSetMethods.WaitOnPage(secdelay10);
                Recpg.InvoiceNumclick().Click();
                SeleniumSetMethods.WaitOnPage(secdelay10);

                string billzyrefnumber = Recpg.BillzyRefResult().Text;

                bool   OfferExpiredIcon = Recpg.OfferExpiredIcon().Displayed;
                String OfferStatus      = Recpg.OfferStatus().Text;

                SeleniumSetMethods.WaitOnPage(secdelay3);
                string OfferExpiredhover = Recpg.Expiredhovertxt().GetAttribute("data-content");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                //Console.WriteLine("OfferExpiredhover" + OfferExpiredhover);
                Assert.IsTrue((OfferExpiredIcon == true) && OfferStatus.Contains("Offer expired") && OfferExpiredhover.Contains("Deal expired on:"));
                Recpg.ActionsMenu().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool PAY           = Recpg.PAY().Displayed;
                bool PostInvoice   = Recpg.PostInvoice().Displayed;
                bool VerifyExist   = Recpg.VerifyInvoice().Displayed;
                bool PDFInvoice2   = Recpg.PDFInvoice().Displayed;
                bool deleteoption1 = Recpg.DeleteOption().Displayed;
                bool dealoption    = Recpg.BillzyDealOption().Displayed;
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(VerifyExist == true && PDFInvoice2 == true && deleteoption1 == true && dealoption == true && PostInvoice == true && PAY == true);
                Recpg.SearchedFirstRowDetailsLink().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                string invnumber     = SIVPG1.InvNumber().Text;
                string invoicenumber = invnumber.Substring(invnumber.IndexOf("Invoice ")).Replace("Invoice ", "");
                SIVPG1.PayerVerifyBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                String Verifiedmsg = SIVPG1.VerifiedTextMsg().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(Verifiedmsg.Contains("You verified this invoice on"));
                SIVPG1.ToggleDealHistory().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                String discounthiststatus = SIVPG1.DiscountHistoryStatus01().Text;
                String Discounthistamount = SIVPG1.DiscountHistoryAmount01().Text;
                bool   paybutton          = SIVPG1.PayButtonNoDeal().Displayed;
                String PayButtonNoDealTxt = SIVPG1.PayButtonNoDeal().Text;
                // bool Paybuttondealhist = SIVPG1.PayButton().Isd;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(discounthiststatus.Contains("SENT") && paybutton == true && PayButtonNoDealTxt.Contains("PAY $351.80 (incl. GST)"));
                SIVPG1.PayButtonNoDeal().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                PayNowPage paypg = new PayNowPage(WebDriver);
                paypg.Row01SelectCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                paypg.CardRow03().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                paypg.ConfirmPaymentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                paypg.DoneBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Recpg.ReceivedHistoryBTN().Click();

                Recpg.SearchInvoiceReceived().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.SearchInvoiceReceived().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.SearchInvoiceReceived().SendKeys(invoicenumber);
                SeleniumSetMethods.WaitOnPage(secdelay6);
                string refnum = Recpg.BillzyInvoiceNumRow01().Text;

                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(refnum.Contains(billzyrefnumber));
                bool   OfferExpiredIcon1 = Recpg.HistOfferIcon().Displayed;
                String OfferStatus1      = Recpg.HistOfferstatus().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(OfferExpiredIcon1 == true && OfferStatus1.Contains("Offer expired"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                loginPage.UserNameTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                loginPage.LoginButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                HomePg.SentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SentHistoryBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SearchInvoiceSent().SendKeys(invoicenumber);
                SeleniumSetMethods.WaitOnPage(secdelay4);
                SendPg.SearchedFirstRowDetailsLink().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                String INVstatus  = SIVPG1.VerifiedMsgstatus().Text;
                String Paidstatus = SIVPG1.PaidStatus().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Console.WriteLine("INVstatus:" + INVstatus + "Paidstatus:" + Paidstatus);
                Assert.IsTrue(INVstatus.Contains("VERIFIED") && Paidstatus.Contains("PAID"));
                SIVPG1.ToggleDealHistory().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                SIVPG1.ReturnBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool   OfferExpiredIcon2 = Recpg.HistOfferIcon().Displayed;
                String OfferStatus2      = Recpg.HistOfferstatus().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(OfferExpiredIcon2 == true && OfferStatus2.Contains("Offer expired"));
                //HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay7);
            }
            finally
            {
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.SignOutBTN().Click();
            }
        }
        public void IssueInvoice07_ExternalPayer_CreateInvoice_NoGST_NoSurcharge_NoAddress()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage       loginPage      = new LoginPage(WebDriver);
                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);

                IWebElement     bodyTag       = WebDriver.FindElement(By.TagName("body"));
                AddCustomerPage AddCustomerPg = new AddCustomerPage(WebDriver);
                Random          rand          = new Random();
                DateTime        dt            = new DateTime();
                string          dtString      = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int             randnumber1   = rand.Next();

                DateTime duedate1       = DateTime.Today.AddDays(30);
                string   SentPgDueDate  = duedate1.ToString("dd MMM yy");
                string   SentPgDueDate1 = duedate1.ToString("dd/MM/yyyy");


                IssueInvoicePg.AddCustomerButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.BusinessName().Click();
                AddCustomerPg.BusinessName().SendKeys("ExternalNoAddress@" + randnumber1);
                AddCustomerPg.Abn().SendKeys("12345678910");
                AddCustomerPg.ContactName().SendKeys("Test@" + randnumber1);
                AddCustomerPg.ContactEmail().SendKeys("madcowtesting10+" + randnumber1 + "@gmail.com");
                AddCustomerPg.ContactPhoneNumber().SendKeys("12345671447");

                AddCustomerPg.AddBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                SeleniumSetMethods.WaitOnPage(secdelay3);
                String PaymentTerms = "30 days";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.CreateInvoice().Click();
                bool due = bodyTag.Text.Contains(SentPgDueDate1);

                IssueInvoicePg.InvoiceReferenceCreate().SendKeys("Ext-Inv@" + randnumber1);
                IssueInvoicePg.Description().SendKeys("Test Invoice issued to External Payer");
                IssueInvoicePg.LineItemAmount().SendKeys("185.25");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent");

                SeleniumSetMethods.WaitOnPage(secdelay2);
                string subject     = IssueInvoicePg.Subject().GetAttribute("value");
                string TotalGSTMsg = IssueInvoicePg.TotalGSTMsg().Text;
                string TotalValue  = IssueInvoicePg.TotalValue().Text;


                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(subject.Contains("madcowtesting10+anogstbiller has sent you an invoice") && TotalGSTMsg.Contains("(excl. GST)") && TotalValue.Contains("$185.25"));
                IssueInvoicePg.SurchargeCheckbox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SearchInvoiceSent().SendKeys("Ext-Inv@" + randnumber1);
                SeleniumSetMethods.WaitOnPage(secdelay2);

                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
            }
            finally
            {
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
        }
コード例 #15
0
        public void Postman02_BillzyUserCreation_IssueInvoice()
        {
            //New user creation
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                Random   rand        = new Random();
                DateTime dt          = new DateTime();
                string   dtString    = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber1 = rand.Next();


                string xmlMessage  = @"<BillzyBusiness>
            <businessName>madcowtesting10+anogstbiller02</businessName>
            <qvalentSubMerchantName>madcowtesting10+anogstbiller02</qvalentSubMerchantName>
            <businessPhone>12345678</businessPhone>
            <businessAddressStreet>370 Queen St</businessAddressStreet>
            <businessAddressSuburb>Brisbane</businessAddressSuburb>
            <businessAddressState>QLD</businessAddressState>
            <businessAddressPostcode>4000</businessAddressPostcode>
            <businessEmail>[email protected]</businessEmail>
            <abn>10987654321</abn>
            <showDebitAccounts>true</showDebitAccounts>
            <gstRegistered>false</gstRegistered>
            <contact>
                <name>madcowtesting10+anogstbiller02</name>
                <email>[email protected]</email>
                <phone>0405028000</phone>
                <loginName>[email protected]</loginName>
            </contact>
            <bankAccount>
                <name>receiveAccount</name>
                <bsb>484799</bsb>
                <accountNumber>65432111</accountNumber>
            </bankAccount>
            <createdByUser>
                <username>[email protected]</username>
                <password>Cognito1</password>
            </createdByUser>
            <referrer>
                <referrerId>1</referrerId>
                <name>[email protected]</name>
            </referrer>
        </BillzyBusiness>";
                string numb        = randnumber1.ToString();
                var    replacement = xmlMessage.Replace("anogstbiller02", numb);
                Console.WriteLine($"The source string is <{xmlMessage}>");
                Console.WriteLine($"The updated string is <{replacement}>");

                string         url     = "https://api.demo.billzy.com/accounts/v1";
                byte[]         bytes   = Encoding.UTF8.GetBytes(replacement);
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method        = "POST";
                request.ContentLength = bytes.Length;
                request.ContentType   = "text/xml";
                using (Stream requestStream = request.GetRequestStream())
                {
                    requestStream.Write(bytes, 0, bytes.Length);
                }
                using (HttpWebResponse response = (HttpWebResponse)
                                                  request.GetResponse())
                {
                    //###Login to biller account
                    WebDriver.Manage().Window.Maximize();
                    WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                    LoginPage    loginPage = new LoginPage(WebDriver);
                    SendPage     SendPg    = new SendPage(WebDriver);
                    ReceivedPage Recpg     = new ReceivedPage(WebDriver);
                    loginPage.UserNameTextBox().Click();
                    loginPage.UserNameTextBox().SendKeys("madcowtesting10+" + randnumber1 + "@gmail.com");
                    loginPage.PasswordTextBox().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    loginPage.PasswordTextBox().SendKeys("Password1");
                    loginPage.LoginButton().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay5);
                    SetPasswordPage setpwdpg = new SetPasswordPage(WebDriver);
                    //initial password setup
                    setpwdpg.Email().SendKeys("madcowtesting10+" + randnumber1 + "@gmail.com");
                    SeleniumSetMethods.WaitOnPage(secdelay3);
                    setpwdpg.TemporaryPassword().SendKeys("Password1");
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    setpwdpg.NewPassword().SendKeys("Cognito1");
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    setpwdpg.ConfirmPassword().SendKeys("Cognito1");
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    setpwdpg.SetYourPasswordBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay5);
                    loginPage.PasswordTextBox().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    loginPage.PasswordTextBox().Clear();
                    SeleniumSetMethods.WaitOnPage(secdelay2);
                    loginPage.PasswordTextBox().SendKeys("Cognito1");
                    loginPage.LoginButton().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay5);
                    HomePage hmpg = new HomePage(WebDriver);
                    hmpg.SentBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay5);
                    string noinctxt = SendPg.Noinvoiceavailablemsg().Text;
                    SeleniumSetMethods.WaitOnPage(secdelay5);
                    Assert.IsTrue(noinctxt.Contains("No Invoices Available"));
                    SeleniumSetMethods.WaitOnPage(secdelay4);
                    IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                    IssueInvoicePg.IssueInvoiceButton().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay4);
                    // Issue Invoice

                    AddCustomerPage AddCustomerPg = new AddCustomerPage(WebDriver);
                    AddCustomerPg.AddCustomerButton().Click();
                    AddCustomerPg.BusinessName().Click();
                    AddCustomerPg.BusinessName().SendKeys("ExternalNoGST@" + randnumber1);
                    AddCustomerPg.Abn().SendKeys("12345678910");
                    AddCustomerPg.ContactName().SendKeys("Test@" + randnumber1);
                    AddCustomerPg.ContactEmail().SendKeys("manualtestdemob+" + randnumber1 + "@gmail.com");
                    AddCustomerPg.ContactPhoneNumber().SendKeys("12345671447");
                    AddCustomerPg.Street().SendKeys("10 Miller Street");
                    AddCustomerPg.Suburb().SendKeys("Murarrie");
                    AddCustomerPg.Postcode().SendKeys("4172");
                    AddCustomerPg.AddBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay5);

                    // Invoice Creation @amountGst.default          = $1,000.00
                    IssueInvoicePg.CreateInvoice().Click();
                    IssueInvoicePg.InvoiceReferenceCreate().SendKeys("INVNEW@" + randnumber1);
                    IssueInvoicePg.Description().SendKeys("Test Invoice issued to External Payer");
                    IssueInvoicePg.LineItemAmount().SendKeys("1010");
                    IssueInvoicePg.Message().SendKeys("Test invoice has been sent");
                    IssueInvoicePg.SendInvoiceBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay7);
                    Console.WriteLine("InvoiceCreated");
                    HomePg.SentBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay7);

                    SendPg.SentOutstandingBTN().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay7);
                    SendPg.SearchInvoiceSent().SendKeys("INVNEW@" + randnumber1);
                    SeleniumSetMethods.WaitOnPage(secdelay10);
                    SendPg.BillzyRefResult().Click();
                    SeleniumSetMethods.WaitOnPage(secdelay4);
                }
            }
            finally
            {
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
            }
        }
        public void IssueInvoice09_InternalPayer_UploadInvoice_NoGST_NoDeal_Surcharge_EndofNextMonth()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage       loginPage      = new LoginPage(WebDriver);
                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IWebElement     bodyTag       = WebDriver.FindElement(By.TagName("body"));
                AddCustomerPage AddCustomerPg = new AddCustomerPage(WebDriver);
                Random          rand          = new Random();
                DateTime        dt            = new DateTime();
                string          dtString      = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int             randnumber1   = rand.Next();
                IssueInvoicePg.BusinessName().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.BusinessName().SendKeys("madcowtesting10+A");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SelectBusiness().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                String PaymentTerms = "End of next month";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.PdfUploadFileBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.uploadPDF().SendKeys(@"C:\Users\Selenium\Desktop\SeleniumRegressionSuite_Bamboo\bin\Debug\netcoreapp3.1\Invoice.pdf");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.UploadAmount().SendKeys("1212.11");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.UploadInvRef().SendKeys("Int-Inv@" + randnumber1);
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent");
                string subject     = IssueInvoicePg.Subject().GetAttribute("value");
                string TotalGSTMsg = IssueInvoicePg.TotalGSTMsg().Text;
                string TotalValue  = IssueInvoicePg.TotalValue().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(subject.Contains("madcowtesting10+IntPayUploadInvNoGST has sent you an invoice"));
                DateTime duedate2        = DateTime.Today.AddDays(30);
                string   SentPgDueDate3  = duedate2.ToString("dd MMM yy");
                string   SentPgDueDate33 = duedate2.ToString("dd/MM/yyyy");
                IssueInvoicePg.Uploadsurcharge().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SearchInvoiceSent().SendKeys("Int-Inv@" + randnumber1);
                SeleniumSetMethods.WaitOnPage(secdelay2);

                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }
コード例 #17
0
        ////THis method parses a XML body TO create a user. Respond 201 code.
        public void Postman01_UserCreation_Billzy()
        {
            Random   rand        = new Random();
            DateTime dt          = new DateTime();
            string   dtString    = dt.ToString("MM/dd/yyyy HH:mm:ss");
            int      randnumber1 = rand.Next();


            string xmlMessage  = @"<BillzyBusiness>
            <businessName>madcowtesting10+anogstbiller02</businessName>
            <qvalentSubMerchantName>madcowtesting10+anogstbiller02</qvalentSubMerchantName>
            <businessPhone>12345678</businessPhone>
            <businessAddressStreet>370 Queen St</businessAddressStreet>
            <businessAddressSuburb>Brisbane</businessAddressSuburb>
            <businessAddressState>QLD</businessAddressState>
            <businessAddressPostcode>4000</businessAddressPostcode>
            <businessEmail>[email protected]</businessEmail>
            <abn>10987654321</abn>
            <showDebitAccounts>true</showDebitAccounts>
            <gstRegistered>false</gstRegistered>
            <contact>
                <name>madcowtesting10+anogstbiller02</name>
                <email>[email protected]</email>
                <phone>0405028000</phone>
                <loginName>[email protected]</loginName>
            </contact>
            <bankAccount>
                <name>receiveAccount</name>
                <bsb>484799</bsb>
                <accountNumber>65432111</accountNumber>
            </bankAccount>
            <createdByUser>
                <username>[email protected]</username>
                <password>Cognito1</password>
            </createdByUser>
            <referrer>
                <referrerId>1</referrerId>
                <name>[email protected]</name>
            </referrer>
        </BillzyBusiness>";
            string numb        = randnumber1.ToString();
            var    replacement = xmlMessage.Replace("anogstbiller02", numb);

            Console.WriteLine($"The source string is <{xmlMessage}>");
            Console.WriteLine($"The updated string is <{replacement}>");

            string url = "https://api.demo.billzy.com/accounts/v1";

            byte[]         bytes   = Encoding.UTF8.GetBytes(replacement);
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            request.Method        = "POST";
            request.ContentLength = bytes.Length;
            request.ContentType   = "text/xml";
            using (Stream requestStream = request.GetRequestStream())
            {
                requestStream.Write(bytes, 0, bytes.Length);
            }
            using (HttpWebResponse response = (HttpWebResponse)
                                              request.GetResponse())
            {
                // if (response.StatusCode == HttpStatusCode.OK)
                // {

                //Verify the welcome email

                WebDriver.Navigate().GoToUrl("https://accounts.google.com/signin/v2/identifier?service=mail&passive=true&rm=false&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&ss=1&scc=1&ltmpl=default&ltmplcache=2&emr=1&osid=1&flowName=GlifWebSignIn&flowEntry=ServiceLogin");

                GMAILPage gmailpg = new GMAILPage(WebDriver);

                DateTime duedate1      = DateTime.Today.AddDays(90);
                string   SentPgDueDate = duedate1.ToString("dd MMM yyyy");
                gmailpg.Username().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                gmailpg.Username().SendKeys("*****@*****.**");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                gmailpg.UserNext().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                gmailpg.Password().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                gmailpg.PasswordNext().Click();
                SeleniumSetMethods.WaitOnPage(secdelay6);
                gmailpg.Search().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                gmailpg.Search().SendKeys("Username: madcowtesting10+" + numb + "@gmail.com");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                gmailpg.SearchOption().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                gmailpg.SearchButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                new Actions(WebDriver).SendKeys(OpenQA.Selenium.Keys.ArrowDown).Perform();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                new Actions(WebDriver).SendKeys(OpenQA.Selenium.Keys.Enter).Perform();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IWebElement bodyTag1 = WebDriver.FindElement(By.TagName("body"));
                bool        Content1 = bodyTag1.Text.Contains("Welcome to the billzy Community");
                bool        Content2 = bodyTag1.Text.Contains("Please set your password using the link below before you can start enjoying all the benefits billzy has to offer.");
                bool        Content3 = bodyTag1.Text.Contains("Soon your bank account will receive two small transactions from billzy and an email explaining how you can verify your bank account. You can commence invoicing today, however payments will be held until your merchant account has been verified.");
                bool        Content4 = bodyTag1.Text.Contains("Please view our legal documentation here: http://www.billzy.com/legal");
                bool        Content5 = bodyTag1.Text.Contains("Temporary Password: Password1");
                bool        Content6 = bodyTag1.Text.Contains("This temporary password is valid for the next 90 days.");
                bool        Content7 = bodyTag1.Text.Contains("As a member of the billzy community you have exclusive access to Billzy Cash which allows you to apply for finance directly from your invoice.To apply simply press the Request Cash button on your invoice.");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(Content1 == true && Content2 == true && Content3 == true && Content4 == true && Content5 == true && Content6 == true && Content7 == true);
                gmailpg.SetYourPwd().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                WebDriver.SwitchTo().Window(WebDriver.WindowHandles.Last());
                gmailpg.Email().SendKeys("madcowtesting10+" + numb + "@gmail.com");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                gmailpg.Temppwd().SendKeys("Password1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                gmailpg.Newpwd().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                gmailpg.Conpwd().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                gmailpg.SetYourPwdbutton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                LoginPage    loginPage = new LoginPage(WebDriver);
                SendPage     SendPg    = new SendPage(WebDriver);
                ReceivedPage Recpg     = new ReceivedPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().Clear();
                loginPage.UserNameTextBox().SendKeys("madcowtesting10+" + numb + "@gmail.com");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                loginPage.LoginButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                HomePage hmpg = new HomePage(WebDriver);
                hmpg.SentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                string noinctxt = SendPg.Noinvoiceavailablemsg().Text;
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Assert.IsTrue(noinctxt.Contains("No Invoices Available"));
                SeleniumSetMethods.WaitOnPage(secdelay4);
                hmpg.SignOutBTN().Click();

                // }
            }
        }
コード例 #18
0
        public void InvoiceWithDeal02_NoGST_Overdue_Processing_DD()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage       loginPage      = new LoginPage(WebDriver);
                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.BusinessName().Click();
                IssueInvoicePg.BusinessName().SendKeys("PayNoGST");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SelectBusiness().Click();
                //Generate two random numbers for unique customer details and invoice
                Random   rand        = new Random();
                DateTime dt          = new DateTime();
                string   dtString    = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber1 = rand.Next();
                Random   rand2       = new Random();
                DateTime dt2         = new DateTime();
                string   dtString2   = dt2.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber2 = rand.Next();

                DateTime newDate   = DateTime.Now;
                string   dtString3 = newDate.ToString("dd/MM/yyyy");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                String PaymentTerms = "By Due Date";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.CreateInvoice().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.InvoiceReferenceCreate().SendKeys("OverDueInvoice2_@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.Description().SendKeys("Test Invoice issued to Internal Payer");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.DueDate().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.DueDate().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.DueDate().SendKeys(dtString3);


                IssueInvoicePg.LineItemAmount().SendKeys("400.82");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent to internal payer excluding GST");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.BillzyDealBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.NewTotal().SendKeys("319.82");
                SeleniumSetMethods.WaitOnPage(secdelay1);

                IssueInvoicePg.OfferExpiry().Clear();
                IssueInvoicePg.OfferExpiry().SendKeys(dtString3);
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.Comments().SendKeys("Biller created deal");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SurchargeCheckbox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                Console.WriteLine("InvoiceCreated");
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SendPg.SearchInvoiceSent().SendKeys("OverDueInvoice2_@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay4);
                SendPg.ActionsMenu().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                loginPage.UserNameTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay7);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys("OverDueInvoice2");
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchedFirstRowDetailsLink().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                string invnumber     = SIVPG1.InvNumber().Text;
                string invoicenumber = invnumber.Substring(invnumber.IndexOf("Invoice ")).Replace("Invoice ", "");
                SIVPG1.ToggleDealHistory().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                string dealsts = SIVPG1.DiscountHistoryStatus01().Text;
                string amount  = SIVPG1.PayButtonNoDeal().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(dealsts.Contains("RECEIVED") && amount.Contains("PAY $400.82 (excl. GST)"));

                SIVPG1.PayerVerifyBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                SIVPG1.ReturnBTN().Click();
                Recpg.SearchInvoiceReceived().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.SearchInvoiceReceived().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.SearchInvoiceReceived().SendKeys(invoicenumber);
                SeleniumSetMethods.WaitOnPage(secdelay4);
                Recpg.ActionsMenu().Click();
                Recpg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);

                SIVPG1.PayBTNNoDeal().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                PayNowPage Paynwpg = new PayNowPage(WebDriver);
                Paynwpg.Row01SelectCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Paynwpg.CardRow02().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                IWebElement bodyTag = WebDriver.FindElement(By.TagName("body"));


                string amount1 = Paynwpg.Row01AmountPayable().GetAttribute("value");
                bool   siv2    = bodyTag.Text.Contains("Includes 1.67% surcharge");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(amount1.Contains("400.82") && siv2 == false);
                Paynwpg.ConfirmPaymentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Paynwpg.DoneBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Recpg.ReceivedHistoryBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys(invoicenumber);
                SeleniumSetMethods.WaitOnPage(secdelay3);
                string paidstatushover = Recpg.HistoryProcessingStatus().GetAttribute("data-title");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(paidstatushover.Contains("processing"));
                Recpg.SearchedFirstRowDetailsLink().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                String status2 = SIVPG1.InvoiceStatus().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(status2.Contains("PROCESSING"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                loginPage.LoginButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                SendPg.SentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                SendPg.SentHistoryBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                SendPg.SearchInvoiceSent().SendKeys(invoicenumber);
                SeleniumSetMethods.WaitOnPage(secdelay7);
                string paidstatushover1 = SendPg.HistoryProcessingStatus().GetAttribute("data-title");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(paidstatushover1.Contains("processing"));
                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                string dealmsg    = SendPg.SIVProcessingStatus().Text;
                string invref     = SIVPG1.InvoiceDetailsInvoiceRef().Text;
                string paidamount = SIVPG1.InvoiceDetailsInvoiceAmount().Text;

                Assert.IsTrue(dealmsg.Contains("PROCESSING") && invref.Contains("OverDue") && paidamount.Contains("$400.82"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }
        public void IssueInvoice02_InternalPayer_CreateInvoice_2LineItems_GST_Deal_N0Surcharge_WithHTMLTagsValues()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage       loginPage      = new LoginPage(WebDriver);
                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);

                IWebElement     bodyTag       = WebDriver.FindElement(By.TagName("body"));
                AddCustomerPage AddCustomerPg = new AddCustomerPage(WebDriver);
                Random          rand          = new Random();
                DateTime        dt            = new DateTime();
                string          dtString      = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int             randnumber1   = rand.Next();
                IssueInvoicePg.BusinessName().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.BusinessName().SendKeys("madcowtesting10+A");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SelectBusiness().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                String PaymentTerms = "60 days";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.CreateInvoice().Click();
                string invref = "script > alert(\"Hello\");</ script >";
                IssueInvoicePg.InvoiceReferenceCreate().SendKeys(invref);
                IssueInvoicePg.Description().SendKeys("Test Invoice issued to External Payer");
                IssueInvoicePg.LineItemAmount().SendKeys("299.10");

                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.Message().SendKeys(invref);
                string subject     = IssueInvoicePg.Subject().GetAttribute("value");
                string TotalGSTMsg = IssueInvoicePg.TotalGSTMsg().Text;
                string TotalValue  = IssueInvoicePg.TotalValue().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(subject.Contains("madcowtesting10+IntPayCreateInv has sent you an invoice") && TotalGSTMsg.Contains("(incl. GST)") && TotalValue.Contains("$329.01"));
                IssueInvoicePg.BillzyDealBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.NewTotal().SendKeys("200");
                IssueInvoicePg.Comments().SendKeys(invref);
                IWebElement bodyTag1 = WebDriver.FindElement(By.TagName("body"));
                bool        disc1    = bodyTag1.Text.Contains("39.21% discount");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(disc1 == true);
                bool disc2 = bodyTag1.Text.Contains("Due in 60 days");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(disc2 == true);
                // IssueInvoicePg.SurchargeCheckbox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                IWebElement bodyTag2 = WebDriver.FindElement(By.TagName("body"));
                bool        err23    = bodyTag2.Text.Contains("Unfortunately there was an internal system error. Please try again in 2 minutes or contact Billzy support.");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(err23 == true);
                IssueInvoicePg.InvoiceReferenceCreate().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.InvoiceReferenceCreate().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.InvoiceReferenceCreate().SendKeys("Int-Inv@" + randnumber1);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SearchInvoiceSent().SendKeys("Int-Inv@" + randnumber1);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SIVPG1.ToggleDealHistory().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                //string invref1 = "script>alert(\"Hello\")";
                string commvalue = SIVPG1.DiscountHistoryComment01().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(commvalue.Contains(invref));
            }
            finally
            {
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
        }
コード例 #20
0
        public void Timeout01()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                //###Login to biller account
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage       loginPage  = new LoginPage(WebDriver);
                SendPage        SendPg     = new SendPage(WebDriver);
                ReceivedPage    Recpg      = new ReceivedPage(WebDriver);
                ExportModalPage ExportMlPg = new ExportModalPage(WebDriver);

                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                TimeoutModalPage   Timepg     = new TimeoutModalPage(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                Recpg.ToPayTab().Click();

                /*SeleniumSetMethods.WaitOnPage(60);
                *  SeleniumSetMethods.WaitOnPage(60);
                *  SeleniumSetMethods.WaitOnPage(60);
                *  SeleniumSetMethods.WaitOnPage(60);
                *  SeleniumSetMethods.WaitOnPage(60);
                *  SeleniumSetMethods.WaitOnPage(15);
                *  string timeoutmodal = Timepg.TimeOutModalTitle().Text;
                *  string remainingtime = Timepg.RemainingTime().Text;
                *  Assert.IsTrue(timeoutmodal.Contains("Session Timeout") && remainingtime.Contains("5 Minutes Remaining"));
                *  bool clockicon = Timepg.ClockIcon().Displayed;
                *  bool keepMySessionBTN = Timepg.KeepMySessionBTN().Displayed;
                *  bool endMySessionBTN = Timepg.EndMySessionBTN().Displayed;
                *  bool remainingTime = Timepg.RemainingTime().Displayed;
                *  Assert.IsTrue(clockicon == true && keepMySessionBTN == true && endMySessionBTN == true && remainingTime == true);
                *  Timepg.KeepMySessionBTN().Click();*/
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Recpg.ReceivedHistoryBTN().Click();

                SeleniumSetMethods.WaitOnPage(60);
                SeleniumSetMethods.WaitOnPage(60);
                SeleniumSetMethods.WaitOnPage(60);
                SeleniumSetMethods.WaitOnPage(60);
                SeleniumSetMethods.WaitOnPage(60);
                SeleniumSetMethods.WaitOnPage(60);
                SeleniumSetMethods.WaitOnPage(30);
                string remainingtime2 = Timepg.RemainingTime().Text;
                Assert.IsTrue(remainingtime2.Contains("4 Minutes Remaining"));
                SeleniumSetMethods.WaitOnPage(60);
                SeleniumSetMethods.WaitOnPage(30);
                string remainingtime3 = Timepg.RemainingTime().Text;
                Assert.IsTrue(remainingtime3.Contains("3 Minutes Remaining"));
                SeleniumSetMethods.WaitOnPage(60);
                SeleniumSetMethods.WaitOnPage(30);
                string remainingtime4 = Timepg.RemainingTime().Text;
                Assert.IsTrue(remainingtime4.Contains("2 Minutes Remaining"));
                SeleniumSetMethods.WaitOnPage(60);
                SeleniumSetMethods.WaitOnPage(30);
                string remainingtime5 = Timepg.RemainingTime().Text;
                Assert.IsTrue(remainingtime4.Contains("Seconds Remaining"));
                SeleniumSetMethods.WaitOnPage(60);
            }
            finally
            {
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
        }
        public void IssueInvoice09_InternalPayer_CreateInvoice_NoGST_NoDeal_Surcharge_EndofNextMonth()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage       loginPage      = new LoginPage(WebDriver);
                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IWebElement     bodyTag       = WebDriver.FindElement(By.TagName("body"));
                AddCustomerPage AddCustomerPg = new AddCustomerPage(WebDriver);
                Random          rand          = new Random();
                DateTime        dt            = new DateTime();
                string          dtString      = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int             randnumber1   = rand.Next();
                IssueInvoicePg.BusinessName().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.BusinessName().SendKeys("madcowtesting10+A");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SelectBusiness().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                String PaymentTerms = "End of next month";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.CreateInvoice().Click();
                IssueInvoicePg.InvoiceReferenceCreate().SendKeys("Int-Inv@" + randnumber1);
                IssueInvoicePg.Description().SendKeys("Test Invoice issued to External Payer");
                IssueInvoicePg.LineItemAmount().SendKeys("185.25");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent to internal payer");
                string subject     = IssueInvoicePg.Subject().GetAttribute("value");
                string TotalGSTMsg = IssueInvoicePg.TotalGSTMsg().Text;
                string TotalValue  = IssueInvoicePg.TotalValue().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(subject.Contains("madcowtesting10+IntPayCreateInvNOGST has sent you an invoice") && TotalGSTMsg.Contains("(excl. GST)") && TotalValue.Contains("$185.25"));
                IssueInvoicePg.SurchargeCheckbox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SearchInvoiceSent().SendKeys("Int-Inv@" + randnumber1);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
            }
            finally
            {
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
        }
        public void ClientManagement01_TOM()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage loginPage = new LoginPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                loginPage.LoginButton().Click();
                SeleniumSetMethods   SetMethods = new SeleniumSetMethods(WebDriver);
                ClientManagementPage clientpg   = new ClientManagementPage(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay7);
                CardPage CardPg = new CardPage(WebDriver);

                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                HomePg.Profile().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                clientpg.AddCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IWebElement     bodyTag       = WebDriver.FindElement(By.TagName("body"));
                AddCustomerPage AddCustomerPg = new AddCustomerPage(WebDriver);
                Random          rand          = new Random();
                DateTime        dt            = new DateTime();
                string          dtString      = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int             randnumber1   = rand.Next();

                DateTime duedate1      = DateTime.Today;
                string   SentPgDueDate = duedate1.ToString("yyMMMdd");
                string   today         = duedate1.ToString("dd/MM/yyyy");
                bool     data111       = bodyTag.Text.Contains("Business Name");
                bool     data22        = bodyTag.Text.Contains("ABN");
                bool     data33        = bodyTag.Text.Contains("Contact Email");
                bool     data44        = bodyTag.Text.Contains("Street");
                bool     data55        = bodyTag.Text.Contains("Suburb");
                bool     data66        = bodyTag.Text.Contains("Postcode");
                bool     data77        = bodyTag.Text.Contains("Country");
                bool     data88        = bodyTag.Text.Contains("State");
                bool     data99        = bodyTag.Text.Contains("Contact Name");
                bool     data1010      = bodyTag.Text.Contains("Contact Phone Number");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(data111 == true && data22 == true && data33 == true && data44 == true && data55 == true && data66 == true && data77 == true && data88 == true && data99 == true && data1010 == true);
                AddCustomerPg.BusinessName().Click();
                AddCustomerPg.BusinessName().SendKeys("1X ");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                bool data12 = bodyTag.Text.Contains("No similar Billzy businesses found.");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(data12 == true);

                AddCustomerPg.BusinessName().Click();
                AddCustomerPg.BusinessName().Clear();
                AddCustomerPg.BusinessName().SendKeys("1XZ ");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                bool data13 = bodyTag.Text.Contains("No similar Billzy businesses found.");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(data13 == true);


                AddCustomerPg.BusinessName().SendKeys("CM01-" + randnumber1);
                AddCustomerPg.Abn().SendKeys("10987654321");
                AddCustomerPg.ContactName().SendKeys("Test@" + randnumber1);
                AddCustomerPg.ContactEmail().SendKeys("madcowtesting10 + " + randnumber1 + "@gmail.com");
                AddCustomerPg.ContactPhoneNumber().SendKeys("12345671447");
                AddCustomerPg.Street().SendKeys("10 Miller Street");
                AddCustomerPg.Suburb().SendKeys("Murarrie");
                AddCustomerPg.Postcode().SendKeys("4172");
                AddCustomerPg.AddBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.SelectCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.EditCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.EditBusinessName().SendKeys("CM01-" + randnumber1 + "edit");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.SaveCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IWebElement bodyTag1 = WebDriver.FindElement(By.TagName("body"));
                bool        edit     = bodyTag1.Text.Contains("CM01-" + randnumber1 + "edit");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(edit == true);
                AddCustomerPg.RemoveCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.ConfirmRemoveCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                clientpg.AddCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.BusinessName().Click();
                AddCustomerPg.BusinessName().SendKeys("madco");
                SeleniumSetMethods.WaitOnPage(secdelay3);

                IWebElement bodyTag0 = WebDriver.FindElement(By.TagName("body"));
                SeleniumSetMethods.WaitOnPage(secdelay3);
                bool data14 = bodyTag0.Text.Contains("10 similar Billzy businesses found.");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(data14 == true);
                AddCustomerPg.SelectCustomerlist().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.AddBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);

                bool billzylogo = clientpg.BillzyLogoIdentifier().Displayed;
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(billzylogo == true);
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.SelectCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.RemoveCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.ConfirmRemoveCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                //Show TOM score on member settings page
                TOM tompg = new TOM(WebDriver);
                tompg.TOMicon().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IWebElement bodyTag2 = WebDriver.FindElement(By.TagName("body"));
                bool        tom1     = bodyTag2.Text.Contains("TOM (Trust Our Member)");
                bool        tom2     = bodyTag2.Text.Contains("Your TOM score is calculated based on a range of weighted factors, which are measured during your membership.");
                bool        tom3     = bodyTag2.Text.Contains("Interactions with other members, utilising cash flow optimising products billzy Cash or Deal and concluding business within the invoice terms will result in a healthy growth of your TOM score.");
                bool        tom4     = bodyTag2.Text.Contains("A lack of interaction with other members, paying invoices late and infrequent use of invoicing will result in a lower TOM score.");
                bool        tom5     = bodyTag2.Text.Contains("Getting a higher TOM score can mean lower rates for Cash and access to other offers from time to time.");
                bool        tom6     = bodyTag2.Text.Contains("TOM Score");
                bool        tom7     = bodyTag2.Text.Contains("Member Since");
                //string tom8 = tompg.Memnbershipdate().Text;
                //string tom9 = tompg.TOMScore().Text;
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(tom1 == true && tom2 == true && tom3 == true && tom4 == true && tom5 == true && tom6 == true && tom7 == true);
                //Action action = new Action(WebDriver);
                //WebDriver.FindElement(TOMinfoIcon())
                tompg.TOMinfoIcon().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                WebDriver.PageSource.Contains("22/10/2019");
                WebDriver.PageSource.Contains("0/100");
                IWebElement bodyTag3 = WebDriver.FindElement(By.TagName("body"));
                WebDriver.PageSource.Contains("A new member typically starts with a score of 24.");
                WebDriver.PageSource.Contains("As your time as a member increases and you interact with others in the community, your score will increase.");
                WebDriver.PageSource.Contains("A higher score makes other members more likely to do business with you");
                WebDriver.PageSource.Contains("A higher score also gives you access to lower rates for Cash and other special benefits from time to time.");
                WebDriver.PageSource.Contains("Raising invoices and paying them on time increases the score.");
                WebDriver.PageSource.Contains("So does using the billzy cashflow management tools such as paying by card, billzy Deal and billzy Cash.");
                WebDriver.PageSource.Contains("Paying late or raising invoices that do not get paid will lower it.");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }