In This Course
Did you know that a recent poll revealed that 80% of QA Automation Engineers cannot run more than 100 functional tests daily, with 95% reliability? Furthermore, over 50% of these Automation Engineers struggle to run between 0 – 50 automated functional tests per day!
Functional test automation is a hard job. However, you can make your job much easier by learning a pattern known as the Page Object Pattern. The Page Object Pattern helps to resolve a lot of the problems that other automation techniques cannot. Making your test automation more stable as a result.
This course is designed to teach you how to properly code the Page Object Pattern using Selenium Webdriver with C#.
However, all of the information here is equally applicable to any other functional testing tool because the Page Object Pattern is a universal principle that makes test automation more robust. Similar to other universal concepts such as Don’t Repeat Yourself or Single Responsibility Principle.
Therefore, if you know Object Oriented programming and a different functional automation tool, you can still comfortably follow along with all of the principles and patterns that I lay out in this course.
In this course, you will learn:
– Why other methods such as Record & Replay or Keyword Driven do not work when it comes to test automation
– What the Page Object Pattern is in automation
– Advantages and disadvantages of the Page Objects
– Amazing tips and tricks on how to:
- Implement the Page Objects using Selenium Webdriver
- Improve your Page Objects to follow DRY Principle
- Improve Page Objects to follow SRP Principle
- Create amazing Page Objects for gigantic web pages
In This Lecture
In this video, we are going to discuss the advantages and disadvantages of keyword-driven tests.
Selenium Tutorial – Advantages and disadvantages of keyword driven tests
So I quickly want to just wrap up with you guys just to drive all the points home regarding the advantages and disadvantages of the keyword driven framework. Just to kind of tied all together and keywords your framework. It is a fantastic way to start writing automated functional tests. It is way better than recording replay because of the utilization of methods right. Methods are just one of the great programming concepts that allow us to encapsulate reusable code into a single place and then utilize the method so that whenever we make a change in a single place now that change is going to be reflected in all of the places where that method is used. And that’s fantastic obviously making our code more reusable code more is more reusable.
We spend a lot less time on maintenance and when we spend a lot less time on maintenance that makes our code more resilient to changes that we know are coming. 100 percent of the time. Sadly the keywords or even the framework is not the best approach to writing automated functional tests and there are better approaches to doing this. And it does some disadvantages. One thing that you might envision in the future is this. As we continue to write our tests we’re going to start having a bunch of methods. We’re going to start having methods for clicking the log in button. And clicking a login link typing in user username typing in password typing in the sign in button going to a page.
Sadly the keywords or even the framework is not the best approach to writing automated functional tests and there are better approaches to doing this. And it does some disadvantages. One thing that you might envision in the future is as we continue to write our tests we’re going to start having a bunch of methods we’re going to start having methods for clicking the log in button and clicking a login link typing in user username typing in password typing in the sign in button going to a page.
All of these methods are going to quickly add up. And you’re going to start to have so many methods in one file that is going to start becoming hard to keep track of what each method is doing. Even if you’re naming conventions are good. And that becomes a problem. Because you start having methods to every action and then it just becomes an overall mess. And of course, the other disadvantage were driven frameworks is that any kind of flow changes are going to still break all of the tests. Whenever you have methods change to gather anything that comes in between those methods. That may be required whether a requirement change. Or a functionality update or some kind of degradation in the performance of the application. All of those flow changes that are going to require and use method added in between they’re going to cause a breakage in all of your tests.