Skip to content

Developer Guide

amitmindstix edited this page Jan 15, 2018 · 10 revisions

General concepts

  1. A module is a set of distinct features like cart, gallery etc.
  2. Features under cart module could be checkout, addtowishlist etc.
  3. Each feature can have scenarios. e.g. Checkout single product, Checkout multiple products
  4. Each module would have its own sub folder and subpackage.
  5. All feature files will reside under its module.
  6. All test classes (step definitions) reside under sub package for that module.
  7. All test classes will be named as <Featurename>Test.java
  8. Each scenario can have one or more tags. Typically tags include module, feature, test-type, test-priority
  9. e.g. @cart @checkout @singleproduct @smoke @medium
  10. Tags can also be given at feature file level (typically module and feature level tags)

Source code organization

  1. All POM classes kept under page package and extend from BasePage
  2. Test data related POJOs kept under data package
  3. Utilities are under utils package
  4. All test data is kept under src/test/resources/testdata folder
  5. Selectors are kept under test/resources/selectors.properties
  6. Logging configuration exists in log4j.properties
  7. Runner classes are kept under runner package
  8. Step definitions are under stepdefinition package. May contain sub folders for modules.
Clone this wiki locally