Show List

Testing web applications with Selenium WebDriver

Selenium WebDriver is a popular tool for automating web browser testing. It allows you to write test cases in various programming languages like Java, Python, C#, etc., and execute them in a real web browser to verify the behavior of your web application.

Here is a simple example of writing a test case in Java using Selenium WebDriver:

typescript
Copy code
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.Assert; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; public class LoginTest { private WebDriver driver; @BeforeMethod public void setUp() { System.setProperty("webdriver.chrome.driver", "path/to/chromedriver"); driver = new ChromeDriver(); } @Test public void testLogin() { driver.get("https://www.example.com/login"); driver.findElement(By.id("username")).sendKeys("testuser"); driver.findElement(By.id("password")).sendKeys("testpassword"); driver.findElement(By.id("submit")).click(); String expectedUrl = "https://www.example.com/dashboard"; String actualUrl = driver.getCurrentUrl(); Assert.assertEquals(actualUrl, expectedUrl); } @AfterMethod public void tearDown() { driver.quit(); } }

This test case opens a Chrome browser, navigates to the login page, enters the username and password, and clicks the submit button. It then verifies that the user has been redirected to the expected dashboard page by comparing the actual URL with the expected URL.

You can also write multiple test cases and organize them into test suites. A test suite is a collection of test cases that are executed together. For example, using TestNG:

typescript
Copy code
import org.testng.annotations.Test; import org.testng.annotations.BeforeTest; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeSuite; import org.testng.annotations.AfterSuite; public class TestSuiteExample { @BeforeSuite public void beforeSuite() { System.out.println("Before Suite"); } @BeforeTest public void beforeTest() { System.out.println("Before Test"); } @Test public void testCase1() { System.out.println("Test Case 1"); } @Test public void testCase2() { System.out.println("Test Case 2"); } @AfterTest public void afterTest() { System.out.println("After Test"); } @AfterSuite public void afterSuite() { System.out.println("After Suite"); } }

In this example, the beforeSuite method will be executed before the test suite starts, the beforeTest method will be executed before each test case starts, the testCase1 and testCase2 methods contain the actual test cases, and the afterTest method will be executed after each test case ends. Finally, the afterSuite method will be executed after the test suite ends.


In summary, Selenium WebDriver allows you to automate the testing of your web application by writing test cases, organizing them into test suites, and executing them in a real web browser. The test cases can be written in various programming languages, and you can use assertions to verify the behavior of your application. The results of the tests can be analyzed to identify bugs and other issues, and to improve the quality of your software.


    Leave a Comment


  • captcha text