Selenium C# API
In this article we will look into the Selenium C# API in details.
Browser Initialization
1. Chrome Browser
ChromeDriverService service = ChromeDriverService.CreateDefaultService(“webdriver.chrome.driver”, @”D:\\SeleniumDriver\\chromedriver.exe”);
driver = new ChromeDriver(service);
driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl(“http://demoaut.katalon.com/");
2. Firefox Browser
FirefoxDriverService service = FirefoxDriverService.CreateDefaultService(“webdriver.gecko.driver”, @”D:\\SeleniumDriver\\geckodriver.exe”);
driver = new FirefoxDriver(service);
driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl(“http://demoaut.katalon.com/");
3. Edge Browser
EdgeDriverService service = EdgeDriverService.CreateDefaultService(“webdriver.edge.driver”, @”D:\\SeleniumDriver\\msedgedriver.exe”);
driver = new EdgeDriver(service);
driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl(“http://demoaut.katalon.com/");
Wait Methods
1. Implicit Wait
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(60);
2. Explicit Wait
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.XPath(“//a[@id=’menu-toggle’]/i”)));
3. Fluent Wait
public IWebElement fluentwait(IWebElement webby)
{
DefaultWait<IWebDriver> fluentWait = new DefaultWait<IWebDriver>(driver);
fluentWait.Timeout = TimeSpan.FromSeconds(120);
fluentWait.PollingInterval = TimeSpan.FromMilliseconds(250);
fluentWait.IgnoreExceptionTypes(typeof(NoSuchElementException));
fluentWait.Message = “Element to be searched not found”;
IWebElement searchResult = fluentWait.Until(x => webby);
return searchResult;
}