There is no doubt that software development has changed dramatically over the past few decades. With the advent of agile testing methodology, process adaptability and customer satisfaction have become, prima facie, the essence of software testing. At the same time, there is a requirement for more efficient testing frameworks, which will enable more products to be delivered within time constraints.
It is also not wrong to say that agile methodology is not suitable to every tester and not every software development project is well-equipped to the framework. However, given that time is of the essence in software testing, it is the way forward for large organizations involved in software development. Though agile testing frameworks have developed in usage and popularity over the course of years, the amount of literature on this methodology has also grown. However, not many resources discuss how to execute these efficiency techniques that will enable testers to perform more and more in lesser time, such rapid delivery being one of the foundations of agile testing. In this article, we discuss some of these techniques.
Software Testing and the need for Agile Methods
In the initial days of software development, many programs were relatively small and system memory use was not much, as compared to their modern counterparts. Coding was achieved in machine codes and testing was a menial task and usually an ‘interference’ for most programmers.
However, with the coming of Windows, there is an altogether new level of confusion and complexity that has been added to the software mix. These days, not only do software development companies need to think about their own bugs and fix them but there are also raising questions on the stability of Windows operating systems. Many of these issues have made software houses understand the real importance of high quality, technically adept, well-paid software testers.
An able, well-trained software tester not only needs to have a basic understanding of programming, SQL and computer architecture but also know how to execute these techniques proficiently. Not only do testers have to be methodical in their approach to work, other qualities like patience, tolerance and concentration is also very essential. This is what differentiates a high-quality programmer from an average talented software tester, which is far less common than regular testers and possesses unique skills and mentality equipped to meet modern-day testing needs.
In this article, we will discuss some of the browser commands which are available to you for use in your automated scripts and will help you in attaining efficiency in software development. Though not an entirely exhaustive list, these commands will be very beneficial while performing various software tests
1. Browser Commands-
The Get command is used to load a new web page in the current browser window, below are two examples of how this works.
- get(URL); or String URL = “https://www.kiwiqa.com”;
- String URL = https://www.kiwiqa.com;
The getTitle method fetches the Title of the current page. This method accepts nothing as a parameter and returns a String value, for example.
- String Title = driver.getTitle();
The getCurrentURL method returns a string representing the Current URL which is opened in the browser, for example.
- String CurUrl = driver.getCurrentUrl();
The getPageSource method returns the Source Code of the page, for example-
- String pSource = driver.getPageSource();
This method closes only the current window the WebDriver is currently controlling, for example-
This method closes all windows opened by the WebDriver, for example.
2. Switching windows
The GetWindowHandle Command is used to get the window handle of the current window. This
command returns a string value, as per this example-
- String handle= driver.getWindowHandle();
The GetWindowHandles Command is used to return the window handle of all the current windows. This command returns a set of strings, as per this example:
- Set<String> handle= driver.getWindowHandles();
The SwitchTo Window Command allows your test cases to move between named windows as per the example below:
3. Radio buttons and checkboxes
In Selenium, Radio Button and Check-Box Operations are easy to perform and when possible, the powerful ID attribute should be used. However, selection and de-selection are not the only things you want with these controls. You might want to check that if the CheckBox is already checked or if the Radio Button is selected by default or anything. Check Boxes and Radio Button operate in exactly the same way and you can perform operations on either of them. Below is an example for locating and clicking a radio button-
- WebElement radBtn = driver.findElement(By.id(“kiwiqa”));
4. Dropdowns and Multi-Select
Just like the Check-Box & Radio Buttons, DropDown & Multiple Select Operations also work together and in almost the same way.
These are just a few of the commands available in the Selenium toolset. However, it is pertinent to note that there are a lot more which are dedicated to this subject and can be found in several books available for the same.