public override bool ConfirmPayment() { var inlagdaFörBetalningXpath = "//*[@id='IKFMaster_MainPlaceHolder_updBundle']/div[1]/div/table[1]/tbody/tr"; var godkännKnappXpath = "//*[@id='IKFMaster_MainPlaceHolder_BTN_SEND']"; ReadOnlyCollection <IWebElement> inlagdaFörBetalning = ChromeDriver.FindElements(By.XPath(inlagdaFörBetalningXpath)); bool kanGodkänna = inlagdaFörBetalning.Count == 1; if (kanGodkänna) { ChromeDriver.FindElementByXPath(godkännKnappXpath).Click(); Wait3Seconds.Until(x => x.Url == LandingPageAfterLoginUrl); var skickaKnappXpath = "//*[@id='IKFMaster_MainPlaceHolder_BTN_Send']"; var signeraXpath = "//*[@id='IKFMaster_MainPlaceHolder_ucVerify_BTN_OK']"; IWebElement skickaBetalningsKnapp = ChromeDriver.FindElement(By.XPath(skickaKnappXpath)); skickaBetalningsKnapp.Click(); Wait3Seconds.Until(ExpectedConditions.ElementIsVisible(By.XPath(signeraXpath))); IWebElement signeraKnapp = ChromeDriver.FindElement(By.XPath(signeraXpath)); signeraKnapp.Click(); Wait30Seconds.Until(x => x.Url == "xxx"); return(true); } return(false); }
public override void CreatePayment(int amount, DateTime paymentDate, string bankgiroPostgiro, string ocrMessage, dynamic accounts) { IJavaScriptExecutor js = ChromeDriver; if (accounts != null) { var frånKontoXpath = $"//*[@id='FranKontoID']/option[{accounts.Index + 3}]"; IWebElement frånKonto = _frame.FindElement(By.XPath(frånKontoXpath)); frånKonto.Click(); } var inkorrektOcrFortsättKnapp = IsPrivate ? "//*[@id='ContinueWarnCreateNewPayment']" : "//*[@name='CreateNewGiroPayment']"; var nyMottagareXpath = "//*[@id='nyMottagare']"; var bankgiroPlusgiroXpath = "//*[@id='KTONR_BETMOTT']"; var öppnaMenyXpath = "/html/body/div[2]/header/div[2]/div/div/div[2]/div[3]/a/span/span[1]/span[1]"; var ocrMeddelandeXpath = IsPrivate ? "//*[@id='fritext0']" : "//*[@name='BET_REF']"; var betalDatumXpath = IsPrivate ? "//*[@id='dateField']" : "//*[@id='FORFALLODATUM']"; var läggTillBetalningXpath = IsPrivate ? "//*[@id='CreateNewPayment']" : "//*[@id='CreateNewGiroPayment']"; var beloppXpath = "//*[@id='TRANSAKTIONSBELOPP']"; var betalaOchÖverföraXpath = "/html/body/div[2]/header/div[2]/div/div/div[1]/div/nav/div[3]/span/a"; var betalaXpath = "/html/body/div[2]/header/div[2]/div/div/div[2]/div[3]/div/div/div/div[1]/div[2]/nav/div[1]/div[1]/a"; if (IsPrivate) { Wait30Seconds.Until(x => ExpectedConditions.ElementIsVisible(By.XPath(nyMottagareXpath))); js.ExecuteScript("var evt = document.createEvent('MouseEvents');" + "evt.initMouseEvent('click',true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0,null);" + "arguments[0].dispatchEvent(evt);", ChromeDriver.FindElement(By.XPath(nyMottagareXpath))); } IWebElement belopp = _frame.FindElement(By.XPath(beloppXpath)); IWebElement ocr = ChromeDriver.FindElement(By.XPath(ocrMeddelandeXpath)); IWebElement datum = ChromeDriver.FindElement(By.XPath(betalDatumXpath)); IWebElement bankgiroPlusgiro = _frame.FindElement(By.XPath(bankgiroPlusgiroXpath)); ocr.SendKeys(ocrMessage); datum.SendKeys(paymentDate.ToString()); belopp.SendKeys(amount.ToString()); bankgiroPlusgiro.SendKeys(bankgiroPostgiro); js.ExecuteScript("var evt = document.createEvent('MouseEvents');" + "evt.initMouseEvent('click',true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0,null);" + "arguments[0].dispatchEvent(evt);", ChromeDriver.FindElement(By.XPath(läggTillBetalningXpath))); SeleniumHelper.WaitForDocumentReady(ChromeDriver); bool isElementDisplayed = IsElementPresent(By.XPath(inkorrektOcrFortsättKnapp)); if (isElementDisplayed) { SeleniumHelper.WaitForDocumentReady(ChromeDriver); IWebElement fortsättKnapp = _frame.FindElement(By.XPath(inkorrektOcrFortsättKnapp)); fortsättKnapp.Click(); } isElementDisplayed = IsElementPresent(By.XPath(inkorrektOcrFortsättKnapp)); if (isElementDisplayed) { SeleniumHelper.WaitForDocumentReady(ChromeDriver); IWebElement fortsättKnapp = _frame.FindElement(By.XPath(inkorrektOcrFortsättKnapp)); fortsättKnapp.Click(); } }
public override List <IWebElement> ListFromAccounts() { var frånKontoXpath = "//*[@id='IKFMaster_MainPlaceHolder_A2']/option"; Wait30Seconds.Until(x => ExpectedConditions.ElementIsVisible(By.XPath(frånKontoXpath))); List <IWebElement> frånKontos = new List <IWebElement>(); Policy.Handle <Exception>() .WaitAndRetry(3, (int x) => TimeSpan.FromSeconds(1)) .Execute(() => { frånKontos = ChromeDriver.FindElements(By.XPath(frånKontoXpath)).ToList(); }); return(frånKontos); //throw new Exception("Lyckades inte läsa in frånkonton..."); }
public override List <IWebElement> ListFromAccounts() { var frånKontoXpath = "//*[@id='FranKontoID']/option[3]"; var frånKontoXpathAll = "//*[@id='FranKontoID']/option"; Wait30Seconds.Until(x => ExpectedConditions.ElementIsVisible(By.XPath(frånKontoXpath))); List <IWebElement> frånKontos = new List <IWebElement>(); Policy.Handle <Exception>() .WaitAndRetry(3, (int x) => TimeSpan.FromSeconds(1)) .Execute(() => { //IWebElement frånKonto = _frame.FindElement(By.XPath(frånKontoXpath)); frånKontos = _frame.FindElements(By.XPath(frånKontoXpathAll)).Skip(2).ToList(); }); return(frånKontos); //throw new Exception("Lyckades inte läsa in frånkonton..."); }
public void ValidateLogin() { Wait30Seconds.Until(x => x.Url == LandingPageAfterLoginUrl); LoggedInDuringSession = true; LoggedInDuringSessionDate = DateTime.Now; }