public void IssueInvoice01_InternalPayer_CreateInvoice_2LineItems_GST_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 = "30 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("200.15"); IssueInvoicePg.AddLineItem().Click(); SeleniumSetMethods.WaitOnPage(secdelay2); IssueInvoicePg.LineItem2().SendKeys("100.00"); SeleniumSetMethods.WaitOnPage(secdelay2); 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+IntPayCreateInv has sent you an invoice") && TotalGSTMsg.Contains("(incl. GST)") && TotalValue.Contains("$330.17")); IssueInvoicePg.BillzyDealBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay2); IssueInvoicePg.NewTotal().SendKeys("229"); IWebElement bodyTag1 = WebDriver.FindElement(By.TagName("body")); bool disc1 = bodyTag1.Text.Contains("30.64% discount"); SeleniumSetMethods.WaitOnPage(secdelay2); Assert.IsTrue(disc1 == true); bool disc2 = bodyTag1.Text.Contains("Due in 30 days"); SeleniumSetMethods.WaitOnPage(secdelay2); Assert.IsTrue(disc2 == true); 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(); } }