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.