From 1d151909d5c6adde43aa051f3faceeeb802b55c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tommy=20=C3=96man?= Date: Wed, 26 Jan 2022 20:37:35 +0100 Subject: [PATCH] Added extension methods for handling webfields --- .../Extensions/WebElementExtension.cs | 35 +++++++++++++++++++ EATestProject/Pages/CreateProductPage.cs | 4 +-- 2 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 EATestFramework/Extensions/WebElementExtension.cs diff --git a/EATestFramework/Extensions/WebElementExtension.cs b/EATestFramework/Extensions/WebElementExtension.cs new file mode 100644 index 0000000..b0c4928 --- /dev/null +++ b/EATestFramework/Extensions/WebElementExtension.cs @@ -0,0 +1,35 @@ +using OpenQA.Selenium; +using OpenQA.Selenium.Support.UI; + +namespace EATestFramework.Extensions +{ + public static class WebElementExtension + { + + public static void SelectDropDownByText(this IWebElement element, string text) + { + var select = new SelectElement(element); + select.SelectByText(text); + } + public static void SelectDropDownByValue(this IWebElement element, string value) + { + var select = new SelectElement(element); + select.SelectByValue(value); + } + public static void SelectDropDownByIndex(this IWebElement element, int index) + { + var select = new SelectElement(element); + select.SelectByIndex(index); + } + public static void ClearAndEnterText(this IWebElement element, string value) + { + element.Clear(); + element.SendKeys(value); + } + + public static string GetSelectedDropDownValue(this IWebElement element) + { + return new SelectElement(element).SelectedOption.Text; + } + } +} diff --git a/EATestProject/Pages/CreateProductPage.cs b/EATestProject/Pages/CreateProductPage.cs index ea40c79..e1f1279 100644 --- a/EATestProject/Pages/CreateProductPage.cs +++ b/EATestProject/Pages/CreateProductPage.cs @@ -1,4 +1,5 @@ using EATestFramework.Driver; +using EATestFramework.Extensions; using EATestProject.Model; using OpenQA.Selenium; using OpenQA.Selenium.Support.UI; @@ -26,8 +27,7 @@ namespace EATestProject.Pages txtName.SendKeys(product.Name); txtDescription.SendKeys(product.Description); txtPrice.SendKeys(product.Price.ToString()); - var select = new SelectElement(ddlProductType); - select.SelectByText(product.ProductType.ToString()); + ddlProductType.SelectDropDownByText(product.ProductType.ToString()); btnCreate.Click(); }