Course Code:
selwebdbesp
Duration:
28 hours
Course Outline:
Day 1
Morning/Afternoon Session
- Course Intro and Admin
- Discussion on testing in general including black box, test condition, test case, test data where applicable
- IntelliJ setup including Maven project, dependencies including Selenium etc.
- Java basics including variables, assignment clause, control statements, loops, Objects including Strings
- Arrays vs ArrayLists – key differences and relevant examples
- Relevant Multiple Choice Questions provided on topics learned. Answers reviewed.
Afternoon Session
- Selenium WebDriver setup
- Understand instantiation process i.e. creation of browser/driver object
- Inspection of elements on webpage. Understand DOM and different locators
- Demonstrate common and useful Selenium methods including isDisplayed(), isEnabled(), getDomAttribute etc.
- Relevant Multiple Choice Questions provided on topics learned. Answers reviewed
Day 2
Morning/Afternoon Session
- Review previous day’s activities
- Review and understand how to locate and test different types of elements including dropdowns, radio buttons, text boxes, check boxes images, text etc.
- Appreciate reverse engineering!
- Discuss exception handling and the common Selenium exceptions such as NoSuchElement, StaleElement etc.
- Understand synchronisation and the use of different waits, best practices etc.
- Relevant Multiple Choice Questions provided on topics learned. Answers reviewed.
Afternoon Session
- Understand how to add verifications to tests. Understand false positives/false negatives.
- Awareness of tools like JUnit/TestNG. Primary focus on AssertJ.
- Setup AssertJ and demonstrate soft/hard asserts and key differences
- Relevant Multiple Choice Questions provided on topics learned. Answers reviewed.
Day 3
Morning/Afternoon Session
- Review previous day’s activities
- Discuss OOP concepts and their use in test infrastructure.
- Discuss use of methods including static/non static/void/non void
- Introduce BDD and its importance in aligning customer requirements and expected outcomes.
- Understand best practices for writing BDD tests using sample login page – scenarios derive solutions!
Afternoon Session
- Discuss Cucumber, Gherkin etc. and setup within Java project initially.
- Discuss and create a Cucumber feature file
- Discuss and create a step definition file for login example
- Discuss improvements to code produced using a relevant framework like POM and using a Browser class etc.
- Relevant Multiple Choice Questions provided on topics learned. Answers reviewed.
Day 4
Morning/Afternoon Session
- Review previous day’s activities
- Discuss in more detail relevant OOP concepts.
- Improve BDD code example by introducing separate classes for elements, browsers etc.
Afternoon Session
- Introduce logging of tests using Log4J2. Setup necessary files and demonstrate its use within various test methods that are executed.
- Introduce reporting and Extent Reports in particular.
- Course roundup and Q/A session.