If you are still manually testing your apps exclusively, you are wasting your time and money. You need to integrate automation into your product development cycle or you will inevitably fall behind the times.
Due to a twist of fate—or perhaps sheer luck—I now find myself writing programs to test other programs. When I switched from development to testing, I noticed that most of it was done manually. This work is very repetitive and error prone.
But despite its repetitiveness, testing is absolutely necessary. Otherwise, you’ll never know the health of your precious software.
You can easily automate this function by creating a program to execute the same steps as an expert manual tester would. And it can do it over and over, without ever tiring.
There is a myriad of tools out there to automate these oftentimes boring tasks. Selenium is one of these tools, which is a framework created specifically for testing web pages. One of its great advantages is that it can be used with many language, like Java, C#, Ruby, Python, etc. It can also be executed in multiple browsers, like Google Chrome, Firefox, and even Internet Explorer.
Downloading Selenium WebDriver
Selenium WebDriver provides a platform that allows you to easily control a browser. You can navigate from a specific URL. You can also access HTML elements displayed by the browser, interacting with them in quite a seamless manner.
To download WebDriver,
- Create a Maven Java project using, for example, Eclipse.
- Add this XML to the pom.xml,
- This will download the Selenium WebDriver using Maven.
Alternatively, you can also download Selenium WebDriver.
Here’s an example of how to use WebDriver,
// Create an instance on FireFox WebDriver
// Navigate to google.com
// Look for an HTML element by attribute “name”
// Send text to the text box on the page
// Click the submit button on the form
WebDriver driver = new FirefoxDriver();
WebElement element = driver.findElement(By.name(“q”));
With such an uncomplicated API, we can easily automate testing and save a good chunk of time. Automating what would otherwise be repetitive tasks makes it easier to focus on more challenging and interesting tasks. Better to invest your time creating test cases, test plans, and metrics that will contribute to the delivery of a high quality products.
Even if automation is “new” to you, you need to consider integrating into your development cycle.
Manual testing by itself is not an option anymore!
You need to start automating your test suites now.
I am even convinced that we’ll soon be able to witness the rise of self-written programs. So not only programs testing other programs, but also writing other programs as well.
Let me know what you think about this crazy idea.