Giter Club home page Giter Club logo

searchengineautomation's Introduction

SearchEngine Test Automation

BDD Cucumber Framework with Selenium,Java and Junit

Project Description:

  • Project have implemented to Automate the scenarios of SearchEngine Google.com
  • Here I have automated the flow of open search engine, Enter Keyword click on first auto suggested result and navigate to result End-to-End flow.
  • This project illustrate design of Hybrid Framework with Page Object Model (POM) with Cucumber BDD & Selenium.

Project Component:

  • Driver Factory Library - Initalize required ThreadLocal WebDriver depends on browser.

  • Component Library - Provide all required element wrapper methods.

  • Element Utility - Provide all required element action wrapper utility.

  • PropertiesFileManager - Library that read properties from property file and store value in file -Excel Reader(Read Excel,Write Excel) Read and Write excel value

    feature Files : Cucumber Feature file holds all required Cucumber feature file. /src/test/resources/featureFiles

    Step Defination : Holds respective step definations class. /src/test/java/stepDefination

    Page Library : Page Classes for POM /src/main/java/com/org/pages Added pages for Chrome,Bing,Yahoo

    Constant Library : All input data to be tried out by various test methods woulbe be going into this directory /src/main/java/com/org/util/Constants.java

    Application Hooks : Cucumber Hooks with before and after /src/test/java/appHooks/ApplicationHook.java

    Config : Holds input data that needs to be pass to Test Method. /src/test/resources/config/config.properties

    Test Runner : Test Runners in JUnit /src/test/java/TestRunner/TestRunner.java

    Reporting Property : All required input to generate HTML Extent Spark and PDF Report with Test Method results. /src/test/resources/extent.properties /src/test/resources/extent-config.xml /src/test/resources/cucumber.properties

    Utility : All required utility for Constant Reading,Read Data From Excel, Read Properties File, Element Util for Selenium Functions /src/main/java/com/org/util/ExcelReader.java /src/main/java/com/org/util/ElementUtil.java /src/main/java/com/org/util/DataManager.java /src/main/java/com/org/util/ConfigPropertyReader.java /src/main/java/com/org/util/CommonUtility.java /src/main/java/com/org/util/Constants.java src/main/java/com/org/util/PropertiesFileManager.java

Technologies Used:

 1. Selenium WebDriver with Java Language binding
 2. Cucumber 6.x JVM library
 3. WebDriverManager
 4. JDK 1.8
 5. Maven (Build tool)
 6. Maven Plugins
 7. Cucumber extent report 6 adapter
 8. JUnit 4.x library
 9. IntelliJIDEA (IDE)
 10.APACHE POI 

Execution:

  • To Execute All the Feature file navigate to /src/test/java/TestRunner/TestRunner.java class and execute with help of JUnit 4.
  • To execute specific Feature file, mention the required feature file in TestRunner.java class and run with JUnit 4.
  • To Execute on Maven mvn clean test To Run on specified enviornemnt with Assertion from env folder File. clean integration-test -Denv=stage -Dcucumber.options=src/test/resources/featureFiles/SearchEngineNavigateToWebsite.feature "-Dcucumber.options=--tags @multiBrowser" -f pom.xml User can specify broswer to run TC else default chrome will be chosen for TC automation. -Run script by right click on feature file.

Sample Feature File:

   Feature: Search Engine Website Navigation
     @multiBrowser
     Scenario Outline:: User search result in search engine and click on first result
       Given User opens the "<browser>" browser
       And Navigate to url "<searchEngine>"
       And User enter "<keyword>" to search in search Engine
       When User click on first search suggestion
       And User clicks on matching "<keyword>" search result
       Then verify user redirected to "<keyword>" provided website
       And User quite the browser
   
       Examples:
         |browser|searchEngine|keyword|
         |chrome |google       |fiserv|
         |chrome |bing         |fiserv|
         |safari |google       |fiserv|
         |safari |bing         |fiserv|
         |firefox|google       |fiserv|

searchengineautomation's People

Contributors

surajsalunkhe avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.