Skip to content

Instantly share code, notes, and snippets.

@muditlambda
Created April 3, 2020 13:55

Revisions

  1. muditlambda created this gist Apr 3, 2020.
    137 changes: 137 additions & 0 deletions NUnit.cs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,137 @@
    using NUnit.Framework;
    using OpenQA.Selenium;
    using OpenQA.Selenium.Chrome;
    using OpenQA.Selenium.Firefox;
    using OpenQA.Selenium.Support.UI;
    using SeleniumExtras.WaitHelpers;
    using System;

    namespace Selenium_ExplicitWait_Demo
    {
    class Selenium_ExplicitWait_Demo
    {
    String test_url = "http://the-internet.herokuapp.com/javascript_alerts";

    IWebDriver driver;

    [SetUp]
    public void start_Browser()
    {
    // Local Selenium WebDriver
    driver = new ChromeDriver();
    driver.Manage().Window.Maximize();
    }

    [Test, Order(1)]
    public void test_alert()
    {
    String button_xpath = "//button[.='Click for JS Alert']";
    var expectedAlertText = "I am a JS Alert";

    WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
    driver.Url = test_url;

    /* IWebElement alertButton = driver.FindElement(By.XPath(button_xpath)); */

    IWebElement alertButton = wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.XPath(button_xpath)));
    alertButton.Click();

    var alert_win = driver.SwitchTo().Alert();
    Assert.AreEqual(expectedAlertText, alert_win.Text);

    alert_win.Accept();

    /* IWebElement clickResult = driver.FindElement(By.Id("result")); */

    var clickResult = wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.Id("result")));

    Console.WriteLine(clickResult.Text);

    if (clickResult.Text == "You successfuly clicked an alert")
    {
    Console.WriteLine("Alert Test Successful");
    }
    }

    [Test, Order(2)]
    public void test_confirm()
    {
    String button_css_selector = "button[onclick='jsConfirm()']";
    var expectedAlertText = "I am a JS Confirm";

    WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
    driver.Url = test_url;

    IWebElement confirmButton = wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.CssSelector(button_css_selector)));

    confirmButton.Click();

    var confirm_win = driver.SwitchTo().Alert();
    confirm_win.Accept();

    IWebElement clickResult = driver.FindElement(By.Id("result"));
    Console.WriteLine(clickResult.Text);

    if (clickResult.Text == "You clicked: Ok")
    {
    Console.WriteLine("Confirm Test Successful");
    }
    }

    [Test, Order(3)]
    public void test_dismiss()
    {
    String button_css_selector = "button[onclick='jsConfirm()']";
    var expectedAlertText = "I am a JS Confirm";

    WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
    driver.Url = test_url;

    IWebElement confirmButton = wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.CssSelector(button_css_selector)));

    confirmButton.Click();

    var confirm_win = driver.SwitchTo().Alert();
    confirm_win.Dismiss();

    IWebElement clickResult = driver.FindElement(By.Id("result"));
    Console.WriteLine(clickResult.Text);

    if (clickResult.Text == "You clicked: Cancel")
    {
    Console.WriteLine("Dismiss Test Successful");
    }
    }

    [Test, Order(4)]
    public void test_sendalert_text()
    {
    String button_css_selector = "button[onclick='jsPrompt()']";
    var expectedAlertText = "I am a JS prompt";

    WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
    driver.Url = test_url;

    IWebElement confirmButton = wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.CssSelector(button_css_selector)));
    confirmButton.Click();

    var alert_win = driver.SwitchTo().Alert();
    alert_win.SendKeys("This is a test alert message");
    alert_win.Accept();

    IWebElement clickResult = driver.FindElement(By.Id("result"));
    Console.WriteLine(clickResult.Text);

    if (clickResult.Text == "You entered: This is a test alert message")
    {
    Console.WriteLine("Send Text Alert Test Successful");
    }
    }

    [TearDown]
    public void close_Browser()
    {
    driver.Quit();
    }
    }
    }