public void Mosite(IWebDriver driver, Datarow datarow, string urls, string items) { var screenshot = new Screenshot(); var strArray = items.Split(new[] {','}); var urlarray = urls.Split(new[] {','}); try { foreach (var url in urlarray) { foreach (var str in strArray.Where(str => str != null)) { if (str == "Test All Links in Mosite") { datarow.Newrow("", "", "Test All Links in Mosite", "", driver); var tick = new Tickle(); tick.HomepageTabsTickle(datarow, driver, url); } if (str == "Test Footer Links") { datarow.Newrow("", "", "Test Footer Links", "", driver); } if (str == "Test Basket Functionality") { datarow.Newrow("", "", "Test Basket Functionality", "", driver); } if (str == "Test Produict Page - Test Add Product to Basket") { datarow.Newrow("", "", "Test Produict Page - Test Add Product to Basket", "", driver); } if (str == "Test Delete From Basket - Test Product Unavailable") { datarow.Newrow("", "", "Test Delete From Basket - Test Product Unavailable", "", driver); } if (str == "Test Registration/Login - CheckOut Pages") { datarow.Newrow("", "", "Test Registration/Login - CheckOut Pages", "", driver); } if (str == "Test Mopay") { datarow.Newrow("", "", "Test Mopay", "", driver); } } } } catch (Exception) { datarow.Newrow("Exception", "", "Exception Not Expected", "FAIL", driver); screenshot.Screenshotfailed(driver); } finally { datarow.Excelsave("MoshopConsole", driver, "*****@*****.**"); screenshot.Screenshotfailed(driver); driver.Quit(); } }
public void Mositestart(IWebDriver driver) { new GeneralLibrary(); try { _datarow.Col(); // new Modrophenialive().modrophenialiveproducts(, driver); new Modropheniaproducts().Product(_datarow, driver); // new UserJourney().UserJourn(this.datarow,driver); // new UserData().Userdata(this.datarow,driver); // new Mopaysite().MoPay(driver, , this.datarow); } catch (Exception exception) { Console.Write(exception); var actual = exception.ToString(); var screenshot = new Screenshot(); _datarow.Newrow("Exception", "Not Expected", actual, "FAIL", driver); screenshot.Screenshotfailed(driver); } finally { _datarow.Excelsave("MoSiteReport", driver, "*****@*****.**"); _datarow.Dataflush(); driver.Quit(); } }
public void Registration(IWebDriver driver, Datarow datarow) { var screenshot = new Screenshot(); var logintitle = driver.Url; try { if (logintitle.Contains("Login") || logintitle.Contains("StepSelectAccountType") || driver.PageSource.Contains("Login")) { //IF the User is a Guest Activate guest Class //Guest guest = new Guest(); //guest.guest(driver, datarow); //Calling the Login Class var login = new LoginandRegistrationTps(); login.Login_TPS(driver, datarow); } else if (logintitle.Contains("Checkout")) { // calling the checkout class var data = new UserDataTps(); data.userdata_TPS(driver, datarow); } else { datarow.Newrow("Checkout Process Not covered in the Framework", "Expected", logintitle, "FAIL", driver); screenshot.Screenshotfailed(driver); } } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Exception", "Not Expected", e, "FAIL", driver); screenshot.Screenshotfailed(driver); } }
public void Finally(IWebDriver driver, string url, Datarow datarow, string emails) { new GeneralLibrary(); try { //Footer_TPS footer = new Footer_TPS(); //footer.Footer(driver, , url, datarow); //Baskets_TPS basket = new Baskets_TPS(); //basket.Basket(driver, datarow); //links_TPS hom = new links_TPS(); //hom.Links(datarow,driver, url); //UserJourney_TPS userjour = new UserJourney_TPS(); //userjour.UserJourn(datarow,driver, url); //Mopay_TPS Mopay = new Mopay_TPS(); //Mopay.Mopay(driver, datarow); } catch (Exception e) { Console.Write(e); var ex = e.ToString(); var scree = new Screenshot(); datarow.Newrow("Exception", "Not Expected", ex, "FAIL", driver); scree.Screenshotfailed(driver); } finally { var split = url.Split(new[] {' ', ',', '.', '/', '\t'}); foreach (var sr in split) { if (split[2] == "m" || split[2] == "www") { if (sr != split[3]) continue; datarow.consolidatedreport(emails); datarow.Excelsave("Mosite-" + sr + "", driver, emails); driver.Quit(); break; } if (sr != split[2]) continue; datarow.consolidatedreport(emails); datarow.Excelsave("Mosite-" + sr + "", driver, emails); driver.Quit(); break; } } }
public void AllLink(IWebDriver driver, Datarow datarow) { var url = driver.PageSource; string categorylink; string cat; string products; string productlink; if (url.Contains("user-scalable=yes")) { categorylink = CollectionMapV2.Categorylink; cat = CollectionMapV2.Cat; products = CollectionMapV2.Products; productlink = CollectionMapV2.Productlink; } else { categorylink = CollectionMapV1.Categorylink; cat = CollectionMapV1.Cat; products = CollectionMapV1.Products; productlink = CollectionMapV1.Productlink; } // This method counts the categories,sub-categories, product pages and validate every product link var screenshot = new Screenshot(); try { var image = new Imagevalidation(); //Home Page Image validation image.Homepageimage(driver, datarow); //Counting the number of Categories decimal linkcount = driver.FindElements(By.XPath(categorylink)).Count; if (linkcount == 0) { datarow.Newrow("Category Validation in Home Page", "Atleast One Category/product is Expected", "No Categories/Products are Identified", "FAIL", driver); } var j = 0; var s = 1; //Running the loop through the category links for (var i = 1; i <= linkcount; i++) { try { driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10)); driver.FindElement(By.XPath("" + categorylink + "[" + i + "]" + cat + "")); driver.FindElement(By.XPath("" + categorylink + "[" + i + "]" + cat + "")).Click(); } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Category Element Exception", "Exception Not Expected", e, "FAIL", driver); screenshot.Screenshotfailed(driver); } var categorycount = GetXpathCount(driver, categorylink); if (categorycount == 0) { datarow.Newrow("Category Validation in Page", "Atleast One Category/product", "No Categories/Products", "FAIL", driver); screenshot.Screenshotfailed(driver); } //Running the loop through sub category pages. for (var k = 1; ; k++) { try { if (IsElementPresent(driver, By.XPath("" + categorylink + "[" + k + "]" + cat + ""))) { //*[@id="productList"]/article[1]/a/div[1]/img // Category Image validation image.categoryimage(driver, datarow); driver.FindElement(By.XPath("" + categorylink + "[" + k + "]" + cat + "")).Click(); var titlecategory = driver.Title; // Sub-Category Image validation image.subcategoryimage(driver, datarow); try { if (IsElementPresent(driver, By.XPath("" + products + "[" + 1 + "]" + productlink + ""))) { datarow.Newrow("Product Title", "", titlecategory, "PASS", driver); //This is to test the product page var productcount = GetXpathCount(driver, products); for (var p = 1; p <= productcount; p++) { driver.FindElement(By.XPath("" + products + "[" + p + "]" + productlink + "")) .Click(); var page = new Productpage(); page.ProductPage(driver, datarow); driver.Navigate().Back(); } } else { datarow.Newrow("Category Title", "", titlecategory, "PASS", driver); k = 0; } } catch (Exception exc) { var e = exc.ToString(); datarow.Newrow("Exception For Product Details", "Exception Not Expected", e, "FAIL", driver); screenshot.Screenshotfailed(driver); } } k = s; driver.Navigate().Back(); s++; var url2 = driver.Url; if (url2.Contains("category")) { datarow.Newrow("Category URL", "", url2, "PASS", driver); } else { s = 1; break; } } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Category/Product Link Exception", "Exception Not Expected", e, "FAIL", driver); screenshot.Screenshotfailed(driver); } } j++; //driver.Navigate().Back(); // } } catch (Exception) { datarow.Newrow("Exception", "", "Exception Not Expected", "FAIL", driver); screenshot.Screenshotfailed(driver); } }
public void MoPay(IWebDriver driver) { _generalLibrary = new GeneralLibrary(); var excelData = _generalLibrary.GetExcelData(@"C:\\Input Data\CardDetails.xls", "CardDetails"); var set2 = _generalLibrary.GetExcelData(@"C:\\Input Data\CardDetails.xls", "Account"); _datarow.Col(); var table = excelData.Tables[0]; var table2 = set2.Tables[0]; var count = table2.Rows.Count; try { for (var i = 0; i < count; i++) { var locator = table2.Rows[i]["Account"].ToString(); var str2 = table2.Rows[i]["Type"].ToString(); var str3 = table2.Rows[i]["E-mail"].ToString(); var str4 = table2.Rows[i]["FormData"].ToString(); var str5 = table2.Rows[i]["FormValue"].ToString(); var str6 = table2.Rows[i]["CookieData"].ToString(); var str7 = table2.Rows[i]["CookieValue"].ToString(); driver.Navigate().GoToUrl("http://devpaytest.mobankdev.com/"); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15.0)); driver.FindElement(By.XPath("//div[@id='ReferenceControl']/div/input")); driver.FindElement(By.XPath(locator)).Click(); driver.FindElement(By.Id(locator)).Click(); driver.FindElement(By.Id(str2)).Click(); driver.FindElement(By.XPath("//div[@id='ReferenceControl']/div/input")) .GetAttribute("Reference"); driver.FindElement(By.XPath("//div[@id='TotalAmountControl']/div/input")).GetAttribute("Amt"); driver.FindElement(By.XPath("//div[@id='CurrencyCodeControl']/div/select")).GetAttribute("Cur"); var input = table.Rows[0]["FirstName"].ToString(); var str12 = table.Rows[0]["LastName"].ToString(); Assert.AreEqual("The MoShop Sale", driver.FindElement(By.XPath("//div[@id='DescriptionControl']/div/textarea")).Text); var screenshot = new Screenshot(); driver.FindElement(By.XPath("//div[@id='FirstNameControl']/div/input")).Clear(); driver.FindElement(By.XPath("//div[@id='FirstNameControl']/div/input")).SendKeys(input); driver.FindElement(By.XPath("//div[@id='LastNameControl']/div/input")).Clear(); driver.FindElement(By.XPath("//div[@id='LastNameControl']/div/input")).SendKeys(str12); driver.FindElement(By.XPath("//div[@id='EmailControl']/div/input")).Clear(); driver.FindElement(By.XPath("//div[@id='EmailControl']/div/input")).SendKeys(str3); driver.FindElement(By.CssSelector("button")).Click(); driver.FindElement(By.Name("FormData[1].Key")).SendKeys(str4); driver.FindElement(By.Name("FormData[1].Value")).SendKeys(str5); driver.FindElement(By.CssSelector("#CookieData > button")).Click(); driver.FindElement(By.Name("CookieData[1].Key")).SendKeys(str6); driver.FindElement(By.Name("CookieData[1].Value")).SendKeys(str7); driver.FindElement(By.CssSelector("input[type=\"submit\"]")).Click(); try { } catch (Exception exception) { Console.Write(exception); } var num3 = table.Rows.Count; for (var j = 0; j < num3; j++) { var str13 = table.Rows[j]["Card Number"].ToString(); var str14 = table.Rows[j]["Security Code"].ToString(); var expected = table.Rows[j]["CardType"].ToString(); var str16 = table.Rows[j]["Name on Card"].ToString(); var optionLocator = table.Rows[j]["ExpiryMonth"].ToString(); var str18 = table.Rows[j]["Expiry Year"].ToString(); var str19 = table.Rows[j]["Phone Number"].ToString(); var str20 = table.Rows[j]["Address"].ToString(); var str21 = table.Rows[j]["City"].ToString(); var str22 = table.Rows[j]["Post Code"].ToString(); var str23 = table.Rows[j]["County"].ToString(); var str24 = table.Rows[j]["Country"].ToString(); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(60.0)); driver.FindElement(By.XPath("//div[@id='Card.NameControl']/input")); Assert.AreEqual("Secure Payment Page", driver.Title); driver.FindElement(By.XPath("//*[@id='Card_Number']")).SendKeys(str13); driver.FindElement(By.Id("//*[@id='Card_SecurityCode']")).SendKeys(str14); new SelectElement(driver.FindElement(By.Id("Card_Type"))).SelectByText("Visa Debit"); new SelectElement(driver.FindElement(By.Id("Card_ExpiryDate_Month"))).SelectByText(optionLocator); new SelectElement(driver.FindElement(By.Id("Card_ExpiryDate_Year"))).SelectByText(str18); driver.FindElement(By.XPath("//div[@id='Card.NameControl']/input")).SendKeys(str16); switch (str2) { case "id=actionPay": driver.FindElement(By.Id("BillingContact_Phone_Number")).SendKeys(str19); driver.FindElement(By.Id("BillingContact_Address_Line1")).SendKeys(str20); driver.FindElement(By.XPath("//div[@id='BillingContact.Address.Line2Control']/input")) .SendKeys("s"); driver.FindElement(By.Id("BillingContact_Address_Postcode")).SendKeys(str22); driver.FindElement(By.XPath("//div[@id='BillingContact.Address.TownControl']/input")) .SendKeys(str21); driver.FindElement(By.Id("BillingContact_Address_County")).SendKeys(str23); new SelectElement( driver.FindElement( By.XPath("//div[@id='BillingContact.Address.CountryControl']/div/div/select"))) .SelectByText(str24); break; case "id=actionToken": driver.FindElement(By.Id("Contact_Phone_Number")).SendKeys(str19); driver.FindElement(By.Id("Contact_Address_Line1")).SendKeys(str20); driver.FindElement(By.XPath("//div[@id='Contact.Address.Line2Control']/input")) .SendKeys("s"); driver.FindElement(By.Id("Contact_Address_Postcode")).SendKeys(str22); driver.FindElement(By.XPath("//div[@id='Contact.Address.TownControl']/input")) .SendKeys(str21); driver.FindElement(By.Id("Contact_Address_County")).SendKeys(str23); new SelectElement( driver.FindElement( By.XPath("//div[@id='Contact.Address.CountryControl']/div/div/select"))) .SelectByText(str24); break; } driver.FindElement(By.Name("PostAction[Complete]")).Click(); Thread.Sleep(0x1388); if (Regex.IsMatch(str13, "^[0-9'']")) { _datarow.Newrow("Card Number", str13, str13, "PASS", driver); } else if (driver.PageSource.Contains("Number required") || driver.PageSource.Contains("Number invalid")) { _datarow.Newrow("Card Number", str13, "Number Invalid", "PASS", driver); } else { _datarow.Newrow("Card Number", str13, "No Error Message Displayed", "FAIL", driver); screenshot.Screenshotfailed(driver); } _datarow.Newrow("Card Type", expected, expected, "PASS", driver); var regex = new Regex("^[0-9]{3}$"); if (regex.IsMatch(str14)) { _datarow.Newrow("Security Code", str14, "Valid 3 Digits", "PASS", driver); } else if (driver.PageSource.Contains("Security code required") || driver.PageSource.Contains("Security code invalid")) { _datarow.Newrow("Security Code", str14, "Security code required", "PASS", driver ); } else { _datarow.Newrow("Security Code", str14, "No Error Message Displayed", "FAIL", driver ); screenshot.Screenshotfailed(driver); } if (Regex.IsMatch(str16, "^[a-zA-Z'']")) { _datarow.Newrow("Name on Card", str16, str16, "PASS", driver); } else if (driver.PageSource.Contains("Name required")) { _datarow.Newrow("Name on Card", str16, "Name Required", "PASS", driver); } else { _datarow.Newrow("Name on Card", str16, "No Error Message Displayed", "PASS", driver); screenshot.Screenshotfailed(driver); } if (Regex.IsMatch(input, "^[a-zA-Z'']")) { _datarow.Newrow("First Name", input, input, "PASS", driver); } else if (driver.PageSource.Contains("The First Name field is required.")) { _datarow.Newrow("First Name", input, "The First Name field is required.", "PASS", driver ); } else { _datarow.Newrow("First Name", input, "No Error Message Displayed", "FAIL", driver); screenshot.Screenshotfailed(driver); } if (Regex.IsMatch(str12, "^[a-zA-Z'']")) { _datarow.Newrow("Last Name", str12, str12, "PASS", driver); } else if (driver.PageSource.Contains("The Last Name field is required.")) { _datarow.Newrow("Last Name", str12, "The Last Name field is required.", "PASS", driver ); } else { _datarow.Newrow("Last Name", str12, "No Error message Displayed", "FAIL", driver); screenshot.Screenshotfailed(driver); } if (Regex.IsMatch(str20, "^[a-zA-Z0-9'']")) { _datarow.Newrow("Address", str20, str20, "PASS", driver); } else if (driver.PageSource.Contains("The Address field is required")) { _datarow.Newrow("Address", str20, "The Address field is required", "PASS", driver); } else { _datarow.Newrow("Address", str20, "No Error message Displayed", "FAIL", driver); screenshot.Screenshotfailed(driver); } if (Regex.IsMatch(str22, "^[a-zA-Z0-9'']")) { _datarow.Newrow("Post Code", str22, str22, "PASS", driver); } else if (driver.PageSource.Contains("The Postcode field is required")) { _datarow.Newrow("Post Code", str22, "The Postcode field is required.", "PASS", driver ); } else { _datarow.Newrow("Post Code", str22, "No Error Message Displayed", "FAIL", driver); screenshot.Screenshotfailed(driver); } if (Regex.IsMatch(str24, "^[a-zA-Z'']")) { _datarow.Newrow("Country", str24, str24, "PASS", driver); } else if (driver.PageSource.Contains("The Country field is required.")) { _datarow.Newrow("Country", str24, "The Country field is required.", "PASS", driver); } else { _datarow.Newrow("Country", str24, "No Error Message", "FAIL", driver); screenshot.Screenshotfailed(driver); } var title = driver.Title; if (title == "Secure Payment Page") continue; if (title == "Redirect to External") { Dsecure(driver); break; } if (driver.PageSource.Contains("Checkout Accepted")) { Normaltransaction(driver); break; } if (!driver.PageSource.Contains("Checkout Declined") && !driver.PageSource.Contains("Checkout Error")) continue; _datarow.Newrow("Checkout", "Checkout Declined", "Checkout Declined", "PASS", driver ); driver.FindElement(By.LinkText("start again")).Click(); break; } } } catch (Exception exception2) { Console.Write(exception2); var actual = exception2.ToString(); var screenshot2 = new Screenshot(); _datarow.Newrow("Checkout", "Server Error", actual, "FAIL", driver); screenshot2.Screenshotfailed(driver); } finally { new Screenshot().Screenshotnotifications(driver); _datarow.Excelsave("MoPayReport", driver, "*****@*****.**"); driver.Quit(); } }
public void Login_TPS(IWebDriver driver, Datarow datarow) { var screenshot = new Screenshot(); try { if (IsElementPresent(driver, By.XPath("//form[@id='ctl00']/section/div/input"), 30)) { driver.FindElement(By.XPath("//form[@id='ctl00']/section/div/input")) .SendKeys("*****@*****.**"); datarow.Newrow("Login Name Element", "Login Name Field Is Expected", "Login Name Field Is Present", "PASS", driver); } else if (IsElementPresent(driver, By.Id("UserName"), 30)) { driver.FindElement(By.Id("UserName")).SendKeys("*****@*****.**"); datarow.Newrow("Login Name Element", "Login Name Field Is Expected", "Login Name Field Is Present", "PASS", driver); } else { datarow.Newrow("Login Name Element", "Login Name Field Is Expected", "Blocker-Login Name Field Is Not Present", "FAIL", driver); screenshot.Screenshotfailed(driver); } if (IsElementPresent(driver, By.XPath("//form[@id='ctl00']/section/div[2]/input"), 30)) { driver.FindElement(By.XPath("//form[@id='ctl00']/section/div[2]/input")).SendKeys("M0Test08"); datarow.Newrow("Login Name Element", "Login Password Field Is Expected", "Login Password Field Is Present", "PASS", driver); } else if (IsElementPresent(driver, By.Id("Password"), 30)) { driver.FindElement(By.Id("Password")).SendKeys("M0Test08"); datarow.Newrow("Login Name Element", "Login Password Field Is Expected", "Login Password Field Is Present", "PASS", driver); } else { datarow.Newrow("Login Password Element", "Login Password Field Is Expected", "Blocker - Login Password Field Is Not Present", "FAIL", driver); screenshot.Screenshotfailed(driver); } if (IsElementPresent(driver, By.XPath("//form[@id='ctl00']/section/div[3]/div/input"), 30)) { driver.FindElement(By.XPath("//form[@id='ctl00']/section/div[3]/div/input")).Click(); } else if (IsElementPresent(driver, By.CssSelector("input.ui-btn-hidden"), 30)) { driver.FindElement(By.CssSelector("input.ui-btn-hidden")).Click(); } else { datarow.Newrow("Login Element", "Login Button Is Expected", "Blocker - Login Button Is Not Present", "FAIL", driver); screenshot.Screenshotfailed(driver); } if (IsElementPresent(driver, By.Id("BasketInfo"), 30)) { var basvalue = driver.FindElement(By.Id("BasketInfo")).Text; if (basvalue == "(1)") { datarow.Newrow("Basket Value", "(1)", basvalue, "PASS", driver); } else { datarow.Newrow("Basket Value", "(1)", basvalue, "FAIL", driver); screenshot.Screenshotfailed(driver); } } else { datarow.Newrow("Basket Value", "(1)", "No Basket Information", "FAIL", driver); screenshot.Screenshotfailed(driver); } if (IsElementPresent(driver, By.XPath("//html/body/div/div[2]/div[2]/form/section/p/a/span/span/span/span"), 30)) { datarow.Newrow("Change Details Element", "Change Details Button is Expected", "Change Details Button Is Present", "PASS", driver); driver.FindElement(By.XPath("//html/body/div/div[2]/div[2]/form/section/p/a/span/span/span/span")) .Click(); try { decimal count = driver.FindElements(By.XPath("//form[@id='ctl00']/section/div")).Count; for (var i = 1; i <= count; i++) { if (!IsElementPresent(driver, By.XPath("//form[@id='ctl00']/section/div[" + i + "]/label"), 30)) continue; var valuet = driver.FindElement(By.XPath("//form[@id='ctl00']/section/div[" + i + "]/label")) .Text; //if (valuet == "Telephone:") //{ // driver.FindElement(By.XPath("//form[@id='ctl00']/section/div[" + i + "]/input")).SendKeys("123456789"); //} if (valuet.Contains("*") || valuet != "Country: *") { try { driver.FindElement(By.XPath("//form[@id='ctl00']/section/div[" + i + "]/input")) .SendKeys("TEST"); datarow.Newrow("Registration Field Name", "", valuet, "PASS", driver); } catch (Exception ex) { Console.Write(ex); } } if (valuet != "Country: *") continue; var element = driver.FindElement(By.Id("Pagecontent_ddlCountry")); IList<IWebElement> alllist = element.FindElements(By.TagName("option")); string values = null; foreach (var value in alllist) { values = values + "\r\n" + value; new SelectElement(driver.FindElement(By.Id("Pagecontent_ddlCountry"))) .SelectByText(value.Text); } datarow.Newrow("Registration Field Countries", "", values, "PASS", driver); } } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Exception", "exception Not Expected", e, "FAIL", driver); screenshot.Screenshotfailed(driver); } } var loc = driver.Url; if (loc.Contains("Error")) { datarow.Newrow("Error Page", "Error Page After Logging Not Expected", loc, "FAIL", driver); screenshot.Screenshotfailed(driver); } driver.Navigate().Back(); //selecting delivery method try { if (IsElementPresent(driver, By.XPath( "//html/body/div/div[2]/div[2]/form/section/div[2]/fieldset/div/label/span/span"), 30)) { decimal count = driver.FindElements(By.XPath("/html/body/div/div[2]/div[2]/form/section/div[2]/fieldset/div")) .Count; for (var i = 1; i < count; i++) { var text = driver.FindElement( By.XPath("//html/body/div/div[2]/div[2]/form/section/div[2]/fieldset/div[" + i + "]/label/span/span")).Text; driver.FindElement( By.XPath("//html/body/div/div[2]/div[2]/form/section/div[2]/fieldset/div[" + i + "]/label/span/span")).Click(); datarow.Newrow("Delivery Method", "", text, "PASS", driver); } } else { var loca = driver.Url; datarow.Newrow("Delivery Method", "Unexpected Format", loca, "FAIL", driver); screenshot.Screenshotfailed(driver); } } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Delivery Method Exception", "Exception Not Expected", e, "FAIL", driver); screenshot.Screenshotfailed(driver); } // Click continue to next page try { if (IsElementPresent(driver, By.XPath("Pagecontent_ButtonCheckoutStep2"), 30)) { var location = driver.Url; datarow.Newrow("Checkout process url", "", location, "PASS", driver); driver.FindElement(By.Id("Pagecontent_ButtonCheckoutStep2")).Click(); } else { datarow.Newrow("Continue Button in Checkout Page", "Error Not Expected", "Pagecontent_ButtonCheckoutStep2-Element Not Present", "FAIL", driver); screenshot.Screenshotfailed(driver); } } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Continue Button Exception", "Exception Not Expected", e, "FAIL", driver); screenshot.Screenshotfailed(driver); } //Pay Button try { if (IsElementPresent(driver, By.Id("Pagecontent_ButtonConfirmCheckout"), 30)) { driver.FindElement(By.Id("Pagecontent_ButtonConfirmCheckout")).Click(); var title = driver.Title; datarow.Newrow("Mopay Title", "", title, "PASS", driver); } else { datarow.Newrow("Confirm Button in Checkout page", "Error Not Expected", "Pagecontent_ButtonConfirmCheckout - Element Not Present", "FAIL", driver); screenshot.Screenshotfailed(driver); } } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Pay Button Exception", "Exception Not Expected", e, "FAIL", driver); screenshot.Screenshotfailed(driver); } } catch (Exception ex) { var exc = ex.ToString(); datarow.Newrow("Exception", "Exception Not Expected", exc, "FAIL", driver); screenshot.Screenshotfailed(driver); } }
public void Batchmoshop(IWebDriver driver, Datarow datarow, string items, string vers) { var screenshot = new Screenshot(); try { var moshop = new MoShopConsole(); moshop.Homepagetabs(driver, datarow); driver.Manage().Window.Maximize(); var strArray = items.Split(new[] {','}); foreach (var str in strArray.Where(str => str.Length != 0)) { #region Test Shop if (str == "Create a Test Shop") { datarow.Newrow("", "", "Create a Test Shop", "", driver); var testshop = new CreateShop(); testshop.Testshop(driver, datarow); new LookandFeel().Lookandfeel(driver, datarow); #region Global Settings new GlobalSetting(); // global.globalsetting(driver); #endregion } #endregion #region Test Scrape if (str == "Create a Test Scrape") { datarow.Newrow("", "", "Create a Test Scarpe", "", driver); new Createscrape().CreateScrape(driver, datarow); } #endregion #region Run Manual Scrape if (str == "Run Manual Scrape") { datarow.Newrow("", "", "Run Manual Scrape", "", driver); var run = new RunScrape(); run.Runscrape(driver, datarow); } #endregion #region Custom Domain Name Feature and Localisation if (str == "Validate Custom Domain Name Feature and Localisation") { datarow.Newrow("", "", "Validate Custom domain Name", "", driver); new Shop().Culture(driver, datarow); } #endregion #region "Run the Test Site - Scrape if (str == "Run the Test Site - Scrape") { try { driver.Manage().Window.Size = new Size(400, 550); datarow.Newrow("", "", "Run the Test Site", "", driver); driver.Navigate().GoToUrl("http://testshop.mobankdev.com/"); new BlobStorage(); //blob.Blob(driver,datarow, "http://testshop.mobankdev.com/"); commtest(driver, datarow); } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Exception", "Exception Not Expected", e, "FAIL", driver); } } #endregion #region Run the Test Site - DataFeed XML if (str == "Run the Test Site - DataFeed XML") { var datafeed = new DatafeedXml(); datafeed.Datafeed(driver, datarow); datarow.Newrow("", "", "Run the Test Site-DataFeed", "", driver); driver.Navigate().GoToUrl("http://testshop.mobankdev.com/"); datarow.Newrow("", "", "Footer Links", "", driver); var footer = new FooterTps(); footer.Footerhome(driver, "http://testshop.mobankdev.com/", datarow); var relatedproduct = new RelatedProducts(); relatedproduct.Relatedproducts(driver, datarow); //commtest(driver, datarow); } #endregion #region Validate Products Against Live Site - Modropenia if (str == "Validate Products Against Live Site - Modropenia") { var modrophenia = new Modrophenialive(); modrophenia.modrophenialiveproducts(driver); var products = new Modropheniaproducts(); products.Product(datarow, driver); } #endregion # region Delete Shop And Scrape if (str != "Delete TestShop And TestScrape") continue; var delete = new DeleteTestShop(); delete.Deleteshop(driver); delete.Deletedscrape(driver); } #endregion Methods } catch(Exception exception) { var str2 = exception.ToString(); datarow.Newrow("Exception", "Exception Not Expected", str2, "FAIL", driver); screenshot.Screenshotfailed(driver); } finally { datarow.Excelsave("MoshopConsole", driver, "*****@*****.**"); screenshot.Screenshotfailed(driver); driver.Quit(); } }
public void Footer(IWebDriver driver, Datarow datarow, string url) { // Generic Method to test footer links on all the sites. try { var pagesource = driver.PageSource; string footer; string footerlink; string sociallin; string sociallink; string mopowered; string lowerfooter; string lowerfooterlink; #region var title = driver.Title; var screenshot = new Screenshot(); if (pagesource.Contains("user-scalable=yes")) { footer = FooterV2.Footer; footerlink = FooterV2.Footerlink; sociallink = FooterV2.Sociallink; sociallin = FooterV2.Sociallin; mopowered = FooterV2.Mopowered; lowerfooter = FooterV2.Lowerfooter; lowerfooterlink = FooterV2.lowerfooterlink; } else { footer = FooterV1.Footer; footerlink = FooterV1.Footerlink; sociallink = FooterV1.Sociallink; sociallin = FooterV1.Sociallin; mopowered = FooterV1.Mopowered; lowerfooter = FooterV1.Lowerfooter; lowerfooterlink = FooterV1.Lowerfooterlink; } try { var count = GetXpathCount(driver, footer); for (var i = 1; i <= count; i++) { driver.FindElement(By.XPath("" + footer + "[" + i + "]" + footerlink + "")).Click(); var Title = driver.Title; datarow.Newrow("Footer Title", "", Title, "PASS", driver); driver.Navigate().Back(); } } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Exception", "Exception Not Expected", e, "FAIL", driver); screenshot.Screenshotfailed(driver); } try { var count1 = GetXpathCount(driver, sociallin); for (var i = 1; i <= count1; i++) { driver.FindElement(By.XPath("" + sociallin + "[" + i + "]" + sociallink + "")).Click(); var tile = driver.Title; datarow.Newrow("Footer Social Image Title", "", tile, "PASS", driver); if (title == "testshop") { driver.Navigate().GoToUrl(url); } else { driver.Navigate().Back(); } } } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Exception", "Exception Not Expected", e, "FAIL", driver); screenshot.Screenshotfailed(driver); } try { var count3 = GetXpathCount(driver, lowerfooter); for (var i = 1; i <= count3; i++) { driver.FindElement(By.XPath("" + lowerfooter + "[" + i + "]" + lowerfooterlink + "")).Click(); var tile = driver.Title; datarow.Newrow("Lower Footer Title", "", tile, "PASS", driver); if (title == "testshop") { } else { driver.Navigate().Back(); } } } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Exception", "Exception Not Expected", e, "FAIL", driver); screenshot.Screenshotfailed(driver); } try { if (IsElementPresent(driver, By.Name(mopowered))) { driver.FindElement(By.XPath(mopowered)).Click(); var tile = driver.Title; datarow.Newrow("Footer Title", "", tile, "PASS", driver); if (title == "testshop") { driver.Navigate().GoToUrl(url); } else { driver.Navigate().Back(); } } else { datarow.Newrow("Footer Element", "", "Footer Element Not Present" + mopowered, "FAIL", driver ); screenshot.Screenshotfailed(driver); } } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Exception", "Exception Not Expected", e, "FAIL", driver); screenshot.Screenshotfailed(driver); } } catch (Exception) { datarow.Newrow("Exception", "", "Exception Not Expected", "FAIL", driver); _screenshot.Screenshotfailed(driver); } #endregion }
/* private readonly Screenshot screenshot = new Screenshot(); */ public void userdata_TPS(IWebDriver driver, Datarow datarow) { var url = driver.PageSource; string field; string fieldlabel; string fieldinput; string fieldcountry; string countryvalue; string submitbutton; string letters; string termsncond; string submitterms = null; string paybutton; var screenshot1 = new Screenshot(); if (url.Contains("user-scalable=yes")) { field = AddressMapV2.field; fieldlabel = AddressMapV2.fieldlabel; fieldinput = AddressMapV2.fieldinput; fieldcountry = AddressMapV2.fieldcountry; countryvalue = AddressMapV2.coutryvalue; submitbutton = AddressMapV2.submitbutton; letters = AddressMapV2.terms; termsncond = CheckoutMapV2.termsncond; submitterms = CheckoutMapV2.submitterms; paybutton = CheckoutMapV2.paybutton; } else { field = AddressMapV1.field; fieldlabel = AddressMapV1.fieldlabel; fieldinput = AddressMapV1.fieldinput; fieldcountry = AddressMapV1.fieldcountry; countryvalue = AddressMapV1.coutryvalue; submitbutton = AddressMapV1.submitbutton; letters = AddressMapV1.sendletters; termsncond = CheckoutMapV1.termsncond; paybutton = CheckoutMapV1.paybutton; } try { driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10)); driver.FindElement(By.XPath(submitbutton)); var count = GetXpathCount(driver, field); if (count == 0) { datarow.Newrow("User Data Form Details", "Expected User Form Fields", "User Form Fields Doesnot Exist", "FAIL", driver); } //Populating Customer Details from Excel Sheet for (var i = 1; i <= count; i++) { if (!IsElementPresent(driver, By.XPath("" + field + "[" + i + "]" + fieldlabel + ""))) continue; var valuet = driver.FindElement(By.XPath("" + field + "[" + i + "]" + fieldlabel + "")).Text; if (!valuet.Contains("Country")) { driver.FindElement(By.XPath("" + field + "[" + i + "]" + fieldinput + "")).Clear(); driver.FindElement(By.XPath("" + field + "[" + i + "]" + fieldinput + "")).SendKeys("TEST"); datarow.Newrow("Form Field", "", valuet, "PASS", driver); } #region Country // selecting the country if (valuet.Contains("Country")) { try { var j = i - 1; var con = driver.FindElement(By.Id("" + fieldcountry + "" + j + "" + countryvalue + "")); IList<IWebElement> countries = con.FindElements(By.TagName("option")); string values = null; foreach (var value in countries.Where(value => !value.Text.Contains("Please") || value.Text != "Select country")) { if (value.Text == "United Kingdom") { values = values + "\r\n" + value; new SelectElement( driver.FindElement( By.Id("" + fieldcountry + "" + j + "" + countryvalue + ""))) .SelectByText(value.Text); break; } values = values + "\r\n" + value; // new SelectElement(driver.FindElement(By.Id("" + fieldcountry + "" + j + "" + countryvalue + ""))) new SelectElement(driver.FindElement(By.Id(""))).SelectByText("");ByText(value); } datarow.Newrow("Country Field", "", values, "PASS", driver); } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Country Field Exception", "Exception Not Expected", e, "PASS", driver ); } } #endregion #region Email if (!valuet.Contains("Email")) continue; try { driver.FindElement(By.XPath("" + field + "[" + i + "]" + fieldinput + "")).Clear(); driver.FindElement(By.XPath("" + field + "[" + i + "]" + fieldinput + "")) .SendKeys("*****@*****.**"); } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Email Field Exception", "Exception Not Expected", e, "FAIL", driver ); screenshot1.Screenshotfailed(driver); } #endregion } } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Exception in DataForm", "Exception Not Expected", e, "FAIL", driver); screenshot1.Screenshotfailed(driver); } try { //Email/ Letter sending Confirmation if (IsElementPresent(driver, By.XPath("" + field + "[" + 11 + "]" + letters + ""))) { driver.FindElement(By.XPath("" + field + "[" + 11 + "]" + letters + "")).Click(); } driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10)); driver.FindElement(By.XPath(submitbutton)); driver.FindElement(By.XPath(submitbutton)).Click(); var basval = driver.FindElement(By.Id("BasketInfo")).Text; // Terms and Conditions if (IsElementPresent(driver, By.XPath(termsncond))) { driver.FindElement(By.XPath(termsncond)).Click(); } //Submit button if (IsElementPresent(driver, By.XPath(submitterms))) //*[@id="main-page"]/div[9]/div/div[2]/div/button { //html/body/div/div[7]/div/div[2]/div/button driver.FindElement(By.XPath(submitterms)).Click(); Thread.Sleep(2000); } //string details = driver.FindElement(By.Id("")).Text;("css=div.ui-content.ui-body-c > p"); //Pay Button if (IsElementPresent(driver, By.XPath(paybutton))) { //html/body/div/div[7]/div/div[2]/a/span/span driver.FindElement(By.XPath(paybutton)).Click(); } } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Exception in DataForm", "Exception Not Expected", e, "FAIL", driver); screenshot1.Screenshotfailed(driver); } }
public void MoPayTPS(IWebDriver driver, Datarow datarow) { _generalLibrary = new GeneralLibrary(); var dss = _generalLibrary.GetExcelData(@"C:\Selenium\Input Data\CardDetails.xls", "CardDetails"); var personaldata = dss.Tables[0]; var screenshot1 = new Screenshot(); try { var totalamount = driver.FindElement(By.XPath("//div[@id='total-amount']/dl/dd")).Text; datarow.Newrow("Currency Validation", "₹", totalamount, totalamount.Contains("₹") ? "PASS" : "FAIL", driver); } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Exception", "Exception Not Expected", e, "FAIL", driver); } var j = 0; var n = personaldata.Rows.Count; for (var icount = 0; icount < n; icount++) { try { #region Read Excel var FirstName = personaldata.Rows[icount]["FirstName"].ToString(); var LastName = personaldata.Rows[icount]["LastName"].ToString(); var CardNumber = personaldata.Rows[icount]["Card Number"].ToString(); var SecurityCode = personaldata.Rows[icount]["Security Code"].ToString(); var CardType = personaldata.Rows[icount]["CardType"].ToString(); var NameonCard = personaldata.Rows[icount]["Name on Card"].ToString(); var Expirymonth = personaldata.Rows[icount]["ExpiryMonth"].ToString(); var Expiryyear = personaldata.Rows[icount]["Expiry Year"].ToString(); var Email = personaldata.Rows[icount]["E-mail"].ToString(); var PhoneNumber = personaldata.Rows[icount]["Phone Number"].ToString(); var Address = personaldata.Rows[icount]["Address"].ToString(); var City = personaldata.Rows[icount]["City"].ToString(); var PostCode = personaldata.Rows[icount]["Post Code"].ToString(); var County = personaldata.Rows[icount]["County"].ToString(); var Country = personaldata.Rows[icount]["Country"].ToString(); #endregion Selectanoption(driver, By.Id("Card_Type"), CardType); // new SelectElement(driver.FindElement(By.Id("Card_Type"))).SelectByText(CardType); driver.FindElement(By.Id("Card_Number")).Clear(); driver.FindElement(By.Id("Card_Number")).SendKeys(CardNumber); driver.FindElement(By.Id("Card_SecurityCode")).Clear(); driver.FindElement(By.Id("Card_SecurityCode")).SendKeys(SecurityCode); driver.FindElement(By.Id("Card_Name")).Clear(); driver.FindElement(By.Id("Card_Name")).SendKeys(NameonCard); Selectanoption(driver, By.Id("Card_ExpiryDate_Month"), Expirymonth); // new SelectElement(driver.FindElement(By.Id("Card_ExpiryDate_Month"))).SelectByText(Expirymonth); Selectanoption(driver, By.Id("Card_ExpiryDate_Year"), Expiryyear); new SelectElement(driver.FindElement(By.Id("Card_ExpiryDate_Year"))).SelectByText(Expiryyear); if (j < 1) { driver.FindElement(By.Id("change-address")).Click(); j++; } driver.FindElement(By.Id("BillingContact_FirstName")).Clear(); driver.FindElement(By.Id("BillingContact_FirstName")).SendKeys(FirstName); driver.FindElement(By.Id("BillingContact_LastName")).Clear(); driver.FindElement(By.Id("BillingContact_LastName")).SendKeys(LastName); driver.FindElement(By.Id("BillingContact_Email")).Clear(); driver.FindElement(By.Id("BillingContact_Email")).SendKeys(Email); driver.FindElement(By.Id("BillingContact_Phone_Number")).Clear(); driver.FindElement(By.Id("BillingContact_Phone_Number")).SendKeys(PhoneNumber); driver.FindElement(By.Id("BillingContact_Address_Line1")).Clear(); driver.FindElement(By.Id("BillingContact_Address_Line1")).SendKeys(Address); driver.FindElement(By.Id("BillingContact_Address_Line2")).Clear(); driver.FindElement(By.Id("BillingContact_Address_Line2")).SendKeys("Address2"); driver.FindElement(By.Id("BillingContact_Address_Postcode")).Clear(); driver.FindElement(By.Id("BillingContact_Address_Postcode")).SendKeys(PostCode); driver.FindElement(By.Id("BillingContact_Address_Town")).Clear(); driver.FindElement(By.Id("BillingContact_Address_Town")).SendKeys(City); driver.FindElement(By.Id("BillingContact_Address_County")).Clear(); driver.FindElement(By.Id("BillingContact_Address_County")).SendKeys(County); if (Country.Length == 0) { var con = driver.FindElement(By.Id("BillingContact_Address_Country")); IList<IWebElement> contry = con.FindElements(By.TagName("option")); foreach (var cou in contry) { new SelectElement(driver.FindElement(By.Id("BillingContact_Address_Country"))).SelectByText( cou.Text); if (cou.Text == "") { break; } } } if (Country.Length > 0) { //IWebElement con = driver.FindElement(By.Id("BillingContact_Address_Country")); //IList<IWebElement> countries = con.FindElements(By.TagName("option")); //foreach (IWebElement country in countries) //{ new SelectElement(driver.FindElement(By.Id("BillingContact_Address_Country"))).SelectByText( "United Kingdom"); //} } driver.FindElement(By.Name("PostAction[Complete]")).Click(); Thread.Sleep(3000); #region Validation if (Regex.IsMatch(CardNumber, "^[0-9'']")) { datarow.Newrow("Card Number", CardNumber, CardNumber, "PASS", driver); } else if (driver.PageSource.Contains("Number required") || driver.PageSource.Contains("Number invalid")) { datarow.Newrow("Card Number", CardNumber, "Number Invalid", "PASS", driver); } else { datarow.Newrow("Card Number", CardNumber, "No Error Message Displayed", "FAIL", driver); screenshot1.Screenshotfailed(driver); } if (CardType.Length == 0) { if (driver.PageSource.Contains("Type required")) { datarow.Newrow("Card Type", CardType, "Type Required", "PASS", driver); } else { datarow.Newrow("Card Type", CardType, CardType, "FAIL", driver); screenshot1.Screenshotfailed(driver); } } else { datarow.Newrow("Card Type", "Visa Debit", "Visa Debit", "PASS", driver); } var reg = new Regex("^[0-9]{3}$"); if (reg.IsMatch(SecurityCode)) { datarow.Newrow("Security Code", SecurityCode, "Valid 3 Digits", "PASS", driver); } else if (driver.PageSource.Contains("Security code required") || driver.PageSource.Contains("Security code invalid")) { datarow.Newrow("Security Code", SecurityCode, "Security code required", "PASS", driver ); } else { datarow.Newrow("Security Code", SecurityCode, "No Error Message Displayed", "FAIL", driver ); screenshot1.Screenshotfailed(driver); } if (Regex.IsMatch(NameonCard, "^[a-zA-Z'']")) { datarow.Newrow("Name on Card", NameonCard, NameonCard, "PASS", driver); } else if (driver.PageSource.Contains("Name required")) { datarow.Newrow("Name on Card", NameonCard, "Name Required", "PASS", driver); } else { datarow.Newrow("Name on Card", NameonCard, "No Error Message Displayed", "PASS", driver ); screenshot1.Screenshotfailed(driver); } if (Regex.IsMatch(FirstName, "^[a-zA-Z'']")) { datarow.Newrow("First Name", FirstName, FirstName, "PASS", driver); } else if (driver.PageSource.Contains("The First Name field is required.")) { datarow.Newrow("First Name", FirstName, "The First Name field is required.", "PASS", driver ); } else { datarow.Newrow("First Name", FirstName, "No Error Message Displayed", "FAIL", driver); screenshot1.Screenshotfailed(driver); } if (Regex.IsMatch(LastName, "^[a-zA-Z'']")) { datarow.Newrow("Last Name", LastName, LastName, "PASS", driver); } else if (driver.PageSource.Contains("The Last Name field is required.")) { datarow.Newrow("Last Name", LastName, "The Last Name field is required.", "PASS", driver ); } else { datarow.Newrow("Last Name", LastName, "No Error message Displayed", "FAIL", driver); screenshot1.Screenshotfailed(driver); } if (Regex.IsMatch(Address, "^[a-zA-Z0-9'']")) { datarow.Newrow("Address", Address, Address, "PASS", driver); } else if (driver.PageSource.Contains("The Address field is required")) { datarow.Newrow("Address", Address, "The Address field is required", "PASS", driver); } else { datarow.Newrow("Address", Address, "No Error message Displayed", "FAIL", driver); screenshot1.Screenshotfailed(driver); } if (Regex.IsMatch(PostCode, "^[a-zA-Z0-9'']")) { datarow.Newrow("Post Code", PostCode, PostCode, "PASS", driver); } else if (driver.PageSource.Contains("The Postcode field is required")) { datarow.Newrow("Post Code", PostCode, "The Postcode field is required.", "PASS", driver ); } else { datarow.Newrow("Post Code", PostCode, "No Error Message Displayed", "FAIL", driver); screenshot1.Screenshotfailed(driver); } if (Regex.IsMatch(Country, "^[a-zA-Z'']")) { datarow.Newrow("Country", Country, Country, "PASS", driver); } else if (driver.PageSource.Contains("The Country field is required.")) { datarow.Newrow("Country", Country, "The Country field is required.", "PASS", driver); } else { datarow.Newrow("Country", Country, "No Error Message", "FAIL", driver); screenshot1.Screenshotfailed(driver); } #endregion var title = driver.Title; if (title == "Secure Payment Page") { } var url = driver.Url; var title1 = driver.Title; if (url.Contains("State=Accepted") || title1.Contains("Payment Accepted")) { datarow.Newrow("Transaction", url, "State=Accepted", "PASS", driver); break; } if (url.Contains("State=NotAccepted")) { datarow.Newrow("Transaction", url, "Transaction Declined", "FAIL", driver); break; } if (!driver.PageSource.Contains("Checkout Declined") && !driver.PageSource.Contains("Error") && !driver.PageSource.Contains("Not Found")) continue; datarow.Newrow("Checkout", "Checkout Declined", "Checkout Declined", "PASS", driver); break; } catch (Exception e) { Console.Write(e); var ex = e.ToString(); var scree = new Screenshot(); datarow.Newrow("Exception", "Exceptio not Expected", ex, "FAIL", driver); scree.Screenshotfailed(driver); } } }
public void MoPay(IWebDriver driver, Datarow datarow) { _generalLibrary = new GeneralLibrary(); var table = _generalLibrary.GetExcelData(@"C:\\Input Data\CardDetails.xls", "CardDetails").Tables[0]; var screenshot = new Screenshot(); try { var actual = driver.FindElement(By.XPath("//div[@id='total-amount']/dl/dd")).Text; datarow.Newrow("Currency Validation", "\x00a3", actual, actual.Contains("\x00a3") ? "PASS" : "FAIL", driver); } catch (Exception exception) { var str2 = exception.ToString(); datarow.Newrow("Exception", "Exception Not Expected", str2, "FAIL", driver); } var num = 0; var count = table.Rows.Count; for (var i = 0; i < count; i++) { try { var input = table.Rows[i]["FirstName"].ToString(); var str4 = table.Rows[i]["LastName"].ToString(); var str5 = table.Rows[i]["Card Number"].ToString(); var str6 = table.Rows[i]["Security Code"].ToString(); var str8 = table.Rows[i]["Name on Card"].ToString(); var text = table.Rows[i]["ExpiryMonth"].ToString(); var str10 = table.Rows[i]["Expiry Year"].ToString(); var str11 = table.Rows[i]["E-mail"].ToString(); var str12 = table.Rows[i]["Phone Number"].ToString(); var str13 = table.Rows[i]["Address"].ToString(); var str14 = table.Rows[i]["City"].ToString(); var str15 = table.Rows[i]["Post Code"].ToString(); var str16 = table.Rows[i]["County"].ToString(); var str17 = table.Rows[i]["Country"].ToString(); new SelectElement(driver.FindElement(By.Id("Card_Type"))).SelectByText("Visa Debit"); driver.FindElement(By.Id("Card_Number")).Clear(); driver.FindElement(By.Id("Card_Number")).SendKeys(str5); driver.FindElement(By.Id("Card_SecurityCode")).Clear(); driver.FindElement(By.Id("Card_SecurityCode")).SendKeys(str6); driver.FindElement(By.Id("Card_Name")).Clear(); driver.FindElement(By.Id("Card_Name")).SendKeys(str8); new SelectElement(driver.FindElement(By.Id("Card_ExpiryDate_Month"))).SelectByText(text); new SelectElement(driver.FindElement(By.Id("Card_ExpiryDate_Year"))).SelectByText(str10); if (num < 1) { driver.FindElement(By.Id("change-address")).Click(); num++; } driver.FindElement(By.Id("BillingContact_FirstName")).Clear(); driver.FindElement(By.Id("BillingContact_FirstName")).SendKeys(input); driver.FindElement(By.Id("BillingContact_LastName")).Clear(); driver.FindElement(By.Id("BillingContact_LastName")).SendKeys(str4); driver.FindElement(By.Id("BillingContact_Email")).Clear(); driver.FindElement(By.Id("BillingContact_Email")).SendKeys(str11); driver.FindElement(By.Id("BillingContact_Phone_Number")).Clear(); driver.FindElement(By.Id("BillingContact_Phone_Number")).SendKeys(str12); driver.FindElement(By.Id("BillingContact_Address_Line1")).Clear(); driver.FindElement(By.Id("BillingContact_Address_Line1")).SendKeys(str13); driver.FindElement(By.Id("BillingContact_Address_Line2")).Clear(); driver.FindElement(By.Id("BillingContact_Address_Line2")).SendKeys("Address2"); driver.FindElement(By.Id("BillingContact_Address_Postcode")).Clear(); driver.FindElement(By.Id("BillingContact_Address_Postcode")).SendKeys(str15); driver.FindElement(By.Id("BillingContact_Address_Town")).Clear(); driver.FindElement(By.Id("BillingContact_Address_Town")).SendKeys(str14); driver.FindElement(By.Id("BillingContact_Address_County")).Clear(); driver.FindElement(By.Id("BillingContact_Address_County")).SendKeys(str16); if (str17.Length == 0) { var elem = driver.FindElement(By.Id("BillingContact_Address_Country")); IList<IWebElement> options = elem.FindElements(By.TagName("option")); foreach (var str18 in options) { new SelectElement(driver.FindElement(By.Id("BillingContact_Address_Country"))).SelectByText( str18.Text); if (str18.Text == "") { break; } } } if (str17.Length > 0) { var elem = driver.FindElement(By.Id("BillingContact_Address_Country")); IList<IWebElement> options = elem.FindElements(By.TagName("option")); foreach (var str19 in options) { new SelectElement(driver.FindElement(By.Id("BillingContact_Address_Country"))).SelectByText( str19.Text); if (str19.Text == "United Kingdom") { break; } } } driver.FindElement(By.Name("PostAction[Complete]")).Click(); Thread.Sleep(0xbb8); if (Regex.IsMatch(str5, "^[0-9'']")) { datarow.Newrow("Card Number", str5, str5, "PASS", driver); } else if (driver.PageSource.Contains("Number required") || driver.PageSource.Contains("Number invalid")) { datarow.Newrow("Card Number", str5, "Number Invalid", "PASS", driver); } else { datarow.Newrow("Card Number", str5, "No Error Message Displayed", "FAIL", driver); screenshot.Screenshotfailed(driver); } datarow.Newrow("Card Type", "Visa Debit", "Visa Debit", "PASS", driver); var regex = new Regex("^[0-9]{3}$"); if (regex.IsMatch(str6)) { datarow.Newrow("Security Code", str6, "Valid 3 Digits", "PASS", driver); } else if (driver.PageSource.Contains("Security code required") || driver.PageSource.Contains("Security code invalid")) { datarow.Newrow("Security Code", str6, "Security code required", "PASS", driver); } else { datarow.Newrow("Security Code", str6, "No Error Message Displayed", "FAIL", driver); screenshot.Screenshotfailed(driver); } if (Regex.IsMatch(str8, "^[a-zA-Z'']")) { datarow.Newrow("Name on Card", str8, str8, "PASS", driver); } else if (driver.PageSource.Contains("Name required")) { datarow.Newrow("Name on Card", str8, "Name Required", "PASS", driver); } else { datarow.Newrow("Name on Card", str8, "No Error Message Displayed", "PASS", driver); screenshot.Screenshotfailed(driver); } if (Regex.IsMatch(input, "^[a-zA-Z'']")) { datarow.Newrow("First Name", input, input, "PASS", driver); } else if (driver.PageSource.Contains("The First Name field is required.")) { datarow.Newrow("First Name", input, "The First Name field is required.", "PASS", driver ); } else { datarow.Newrow("First Name", input, "No Error Message Displayed", "FAIL", driver); screenshot.Screenshotfailed(driver); } if (Regex.IsMatch(str4, "^[a-zA-Z'']")) { datarow.Newrow("Last Name", str4, str4, "PASS", driver); } else if (driver.PageSource.Contains("The Last Name field is required.")) { datarow.Newrow("Last Name", str4, "The Last Name field is required.", "PASS", driver); } else { datarow.Newrow("Last Name", str4, "No Error message Displayed", "FAIL", driver); screenshot.Screenshotfailed(driver); } if (Regex.IsMatch(str13, "^[a-zA-Z0-9'']")) { datarow.Newrow("Address", str13, str13, "PASS", driver); } else if (driver.PageSource.Contains("The Address field is required")) { datarow.Newrow("Address", str13, "The Address field is required", "PASS", driver); } else { datarow.Newrow("Address", str13, "No Error message Displayed", "FAIL", driver); screenshot.Screenshotfailed(driver); } if (Regex.IsMatch(str15, "^[a-zA-Z0-9'']")) { datarow.Newrow("Post Code", str15, str15, "PASS", driver); } else if (driver.PageSource.Contains("The Postcode field is required")) { datarow.Newrow("Post Code", str15, "The Postcode field is required.", "PASS", driver); } else { datarow.Newrow("Post Code", str15, "No Error Message Displayed", "FAIL", driver); screenshot.Screenshotfailed(driver); } if (Regex.IsMatch(str17, "^[a-zA-Z'']")) { datarow.Newrow("Country", str17, str17, "PASS", driver); } else if (driver.PageSource.Contains("The Country field is required.")) { datarow.Newrow("Country", str17, "The Country field is required.", "PASS", driver); } else { datarow.Newrow("Country", str17, "No Error Message", "FAIL", driver); screenshot.Screenshotfailed(driver); } if (driver.Title == "Secure Payment Page") { } var location = driver.Url; var str22 = driver.Title; if (location.Contains("State=Accepted") || str22.Contains("Payment Accepted")) { datarow.Newrow("Transaction", location, "State=Accepted", "PASS", driver); break; } if (location.Contains("State=NotAccepted")) { datarow.Newrow("Transaction", location, "Transaction Declined", "FAIL", driver); break; } if ((!driver.PageSource.Contains("Checkout Declined") && !driver.PageSource.Contains("Checkout Error")) && !driver.PageSource.Contains("Not Found")) continue; datarow.Newrow("Checkout", "Checkout Declined", "Checkout Declined", "PASS", driver); break; } catch (Exception exception2) { Console.Write(exception2); var str23 = exception2.ToString(); var screenshot2 = new Screenshot(); datarow.Newrow("Exception", "Exceptio not Expected", str23, "FAIL", driver); screenshot2.Screenshotfailed(driver); } } }
//Product page validations public void Product(IWebDriver driver, Datarow datarow) { var image = new Imagevalidation(); try { var url = driver.PageSource; string producttitle; string addToBasket; string checkout; string basketvalue; var screenshot1 = new Screenshot(); #region object reading if (url.Contains("user-scalable=yes")) { producttitle = CollectionMapV2.Producttitle; addToBasket = CollectionMapV2.Addtobasket; checkout = CollectionMapV2.Checkout; basketvalue = BasketV2.basketvalue; } else { producttitle = CollectionMapV1.Producttitle; addToBasket = CollectionMapV1.Addtobasket; checkout = CollectionMapV1.Checkout; basketvalue = BasketV1.basketvalue; } #endregion image.productImage(driver, datarow); new ProductDetail().Productdetail(driver, datarow); new ProductPrice().Price(driver, datarow); #region Product Title // Product Title var title = driver.FindElement(By.ClassName(producttitle)).Text; datarow.Newrow("Product Title", "", title, "PASS", driver); if (IsElementPresent(driver, By.ClassName(producttitle)) == false) { datarow.Newrow("Product Title", "Product Title Element is Expected", "Product Title Element Not Found", "FAIL", driver); } #endregion #region Product Variant /* // Product Variants if(IsElementPresent(driver,By.Id("" + productVarinat + ""))) { try { decimal couent =GetXpathCount(driver,"//html/body/div/div[2]/div/div[4]/form/ul/li[2]/fieldset/div[2]/div/label/span"); if (couent != 1) { IWebElement con = driver.FindElement(By.Id(" + productVarinat + ")); IList<IWebElement> selectOptions = con.FindElements(By.TagName("option")); string values = null; foreach (IWebElement value in selectOptions) { if (value.Text != "Please Select") { values = values + "\r\n" + value; new SelectElement(driver.FindElement(By.Id(productVarinat))).SelectByText(value.Text); } } datarow.newrow("Variants", "", values, "PASS",driver); } else { string varinats = GetValue(driver, By.Id("" + productVarinat + "")); datarow.newrow("Variants", "", varinats, "PASS",driver); } } catch (Exception ex) { string e = ex.ToString(); datarow.newrow("Exception Not Expected", "Exception Not Expected", e, "FAIL"); } } else if(IsElementPresent(driver,By.Id("" + productVarinat + "_0"))) { try { string values = null; for (int q = 1;; q++) { if (IsElementPresent(driver,By.Id("" + productVarinat + "" + q + ""))) { string varinats = driver.FindElement(By.Id("" + productVarinat + "" + q + "")).Text; if (varinats != "Please Select" || varinats != null) { values = values + "\r\n" + varinats; driver.FindElement(By.Id("" + productVarinat + "" + q + "")).Click(); } } else { break; } } datarow.newrow("Variants", "", values, "PASS",driver); } catch (Exception ex) { string e = ex.ToString(); throw; } } else { datarow.newrow("Variants", "", "No Variants", "PASS", driver); } #endregion #region V2 Product Variant if (url.Contains("user-scalable=yes")) { if (IsElementPresent(driver,By.XPath("//a[@id='showOptions']/span"))) { driver.FindElement(By.XPath("//a[@id='showOptions']/span")).Click(); IWebElement con = driver.FindElement(By.Id("Variants_1__OptionValue")); IList<IWebElement> vainats = con.FindElements(By.TagName("option")); ; string vales = null; foreach (IWebElement value in vainats) { if (value.Text != "Please Select") { vales = vales + "\r\n" + value; new SelectElement(driver.FindElement(By.Id("Variants_1__OptionValue"))).SelectByText(value.Text); } } datarow.newrow("Variants", "", vales, "PASS",driver); if (IsElementPresent(driver,By.Id("" + productvariant2 + "_0"))) { string values = null; for (int q = 1;; q++) { if (IsElementPresent(driver,By.Id("" + productvariant2 + "_" + q + ""))) { string varinats = driver.FindElement(By.Id("" + productvariant2 + "_" + q + "")).Text; if (varinats != "Please Select" || varinats != null) { values = values + "\r\n" + varinats; driver.FindElement(By.Id("" + productvariant2 + "_" + q + "")).Click(); } } else { break; } } } } } */ #endregion try { driver.FindElement(By.XPath(addToBasket)).Click(); datarow.Newrow("Add to Basket Button", "Add To Basket Button is Expected", addToBasket + "Add To Basket Element Is Present", "PASS", driver); new SuccessMessage().Message(driver, datarow); } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Add to Basket Button", "Add To Basket Button is Expected", e, "FAIL", driver); screenshot1.Screenshotfailed(driver); } var basval = driver.FindElement(By.XPath(basketvalue)).Text; if (basval == "(1)") { datarow.Newrow("Basket Value", "(1)", basval, "PASS", driver); } else { datarow.Newrow("Basket Value", "(1)", basval, "FAIL", driver); screenshot1.Screenshotfailed(driver); } //Footer_TPS footer = new Footer_TPS(); //footer.Footer(driver, datarow); driver.FindElement(By.Id("BasketInfo")).Click(); new SelectElement(driver.FindElement(By.Id("Items_0__Quantity"))); // driver.FindElement(By.Id()).Click();("css=option"); var pric = driver.FindElement(By.CssSelector("strong")).Text; new SelectElement(driver.FindElement(By.Id("Items_0__Quantity"))).SelectByText("4"); Thread.Sleep(3000); var prirc = driver.FindElement(By.CssSelector("strong")).Text; datarow.Newrow("Price Change with Quantity in Basket Page", pric, prirc, pric == prirc ? "FAIL" : "PASS", driver); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10)); driver.FindElement(By.XPath(checkout)); if (url.Contains("user-scalable=yes") == false) { var value1 = driver.FindElement(By.Id("BasketInfo")).Text; if (value1 == "(4)") { datarow.Newrow("Basket Value", "(4)", value1, "PASS", driver); } else { datarow.Newrow("Basket Value", "(4)", value1, "FAIL", driver); screenshot1.Screenshotfailed(driver); } } new SelectElement(driver.FindElement(By.Id("Items_0__Quantity"))); } catch (Exception ex) { var e = ex.ToString(); datarow.Newrow("Exception", "Exception Not Expected", e, "FAIL", driver); _screenshot.Screenshotfailed(driver); } }