Giter VIP home page Giter VIP logo

hackathon-v20-1's Introduction

Hackathon v20-1

Cross Browser Testing.
Applitools Hackathon

The next table compares some attributes to consider while choosing between a traditional or modern approach.

Attribute Traditional Modern
QA Seniority require Semi Senior Junior
Maintainability Low High
Running Time 183 secs 97 secs
Code Lines 885 248
# Locators 37 5
Complexity High Low
Spent time 84h 3h

Likes about the modern approach with Applitools ๐Ÿ˜

  • Super easy to implement tests.
  • Saves a lot of time in the test design and execution, this leads to save money.
  • Test maintenance is almost null.
  • The Issues report is very easy to do, is made up of text and an image that helps to understand it.

Starting ๐Ÿš€

WebDriver Factory ๐Ÿญ

In the traditional testing methods apply the Factory Pattern. Eviting problems while designing the automated tests, these design patterns could immediately help by proving a formula / template & saves a lot of time and effort.

Data Driven ๐Ÿ“‚

Traditional cross browsing tests must have parameters as the browser type. For that reason, instructed TestNG to pass you the browser type with the @Parameters annotation and a testng.xml file.

Page Object ๐Ÿ“ƒ

Page Object pattern was used for the test implementation which goal was to model the pages and their behaviors to achieve clear test of writing, understanding, avoid duplicate code, and easy to maintenance.

Project Tree ๐ŸŒณ

\---src
    \---test
        +---java
        |   \---com
        |       \---handresc1127
        |           |   ModernTestsV1.java
        |           |   ModernTestsV2.java
        |           |   TraditionalTestsV1.java
        |           |   TraditionalTestsV2.java
        |           |
        |           +---pages
        |           |       detailsPage.java
        |           |       headerPage.java
        |           |       homePage.java
        |           |
        |           \---utils
        |               |   BaseTests.java
        |               |   EyesManager.java
        |               |   HackathonReports.java
        |               |   PropertyLoader.java
        |               |
        |               \---webDriverFactory
        |                       ChromeDriverManager.java
        |                       DriverManager.java
        |                       DriverManagerFactory.java
        |                       EdgeDriverManager.java
        |                       FirefoxDriverManager.java
        |
        \---resources
            |   author.png
            |   test.properties
            |   testngModernV1.xml
            |   testngModernV2.xml
            |   testngTraditionalV1.xml
            |   testngTraditionalV2.xml
            |
            \---drivers
                +---linux
                |       chromedriver
                |       geckodriver
                |
                +---mac
                |       chromedriver
                |       geckodriver
                |       msedgedriver
                |
                \---windows
                        chromedriver.exe
                        geckodriver.exe
                        msedgedriver.exe

Pre-requirements ๐Ÿ“‹

  1. Chrome V80+
  2. Firefox V75.0+
  3. Microsoft Edge V83+
  4. Java 11
  5. Config src\test\resources\test.properties

Install ๐Ÿ“Œ

1. git clone
2. mvn clean install 

Tests Run โš™๏ธ

  1. All tests mvn test

Build ๐Ÿ› ๏ธ

WebDrivers ๐ŸŽฎ

Tools ๐Ÿ”ง

  • Maven - Dependency manager
  • TestNG - Testing Framework

Author โœ’๏ธ

Hackathon2019 ๐ŸŒŸ

GoldWinner

hackathon-v20-1's People

Contributors

handresc1127 avatar

Watchers

Raja Rao DV avatar  avatar

Forkers

youvegotnigel

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.