Notice: A new version of the Application Under Test (Instant WordPress) is out. However, it seems to have been change completely from the previous version. I will be posting an updated tutorial on setting up the AUT.
Here is a a repo containing the older version of WordPress. Just Clone and Install.
However, if you are familiar with wordpress, it is just an ordinary un-customized installation. I will suggest using bitnami or if you have docker installed on your machine use the dockerized version.
To follow along with the tutorial lets setup the application we are going to test. We will use WordPress as the CMS, this is because it is very easy to add functions to our application as we need as WordPress has a huge community of plugins, which means we can stay focused on our primary objective and waste time developing functions to practice with.
- Setup the Demo Application
- Functionalities of our application
- Properties of our application
Set the Demo Application
There are a number of ways we can host WordPress, however, for minimal setup, I am going to describe a portable option, which is bundled with the web server and give us easy access to out back-end database very easily.
- Download InstantWP from here
- Run the executable and click install
- Run the app from the installation folder
- The sections we care about in the Control panel I have highlighted
- Click on WordPress FrontPage or copy the Url and paste into browser of your choice the Out of the box should look like the screenshot below and we are good to go. It is the WordPress Twenty Ten Theme and we will add more functionality as we progress.
Functionalities of our application
I am going to list a few of the functions our AUT provides to the end user.
- It can Display the logo which can navigate to the home page
- It can display Header Image
- It can Display a Menu which in turn provides access to other pages
- On the home page it can display the posts which contains meta data such as date, user that wrote the post etc.
- It can display the sidebar which holds List of items such as Recent posts, recent comments etc.
- It provides search functionality
- If we navigate to another page for example About page, we can leave a comment
Properties of our application
There are also properties/ attribute in our application for example each page as a unique Title.
Verifying all these functions and properties automatically, forms the basis of UI Automation testing.
Now that we are all setup, we will discuss how the computer using a driver can help us interact with the browser as the end-user will, to verify all these attributes and functions.
We will soon get to that stage where you will realize that anything can be automated so long as it has a driver, including an hardware, but let’s stick to web automation for now.
Other options available to host WordPress locally is bitnami which is also available for other operating systems from https://bitnami.com/stack/wordpress/installer.
Next we will have a quick glance at Selenium Webdriver and divide our AUT into different parts to form Page Objects. Click here to be the first to know when it is published.
Comments, suggestions or questions leave a comment below or drop me a message. Thank you.