About the hotwire automation test project - gouravsonare/hotwireTest GitHub Wiki

Welcome to the hotwireTest wiki!

I have created the project to test the test Case using: TestNG, Selenium Webdriver with language as Java. Maven as a dependency Manager have created separate xml's for different browsers as Chrome and Firefox with both headless and non-headless modes

  • hotwire-chrome.xml
  • hotwire-chrome-headless.xml
  • hotwire-firefox.xml
  • hotwire-firefox-headless.xml included chrome and gecko-driver in the project only

Project Structure:

  • main:

    • testInitializer: I have created BasePage class, it consists common methods for wait for different conditions of elements, and implicit waits
    • Other class BrowserConfiguration : It is to initialize any browser for now, I have used it for two browsers (firefox and chrome) and can be extended to other browsers. Depends on the parameters we are passing through testng.xml's it will initiate the particular browser in headless or non-headless modes.
    • reports: I have used extentReports to display the result of the test in graphical form. This Class method's are getting called in BrowserConfiguration, to setting up and flushing the reports, which is generating a test report after test execution.
    • application:
      • Hotwire : This is the main application page, where I have used page factory model to utilize and simplify the test code.
  • test:

    • HotwireTest: This is the test class, which is extending BrowserConfiguration which is then setting up browsers before starting of test, followed by the calling of the Hotwire class method.