My Automation Project

Michal Chen

054-3933471 · mmatok19@gmail.com

Click here to view project files in GitHub

This project was developed on Involve.Me platform.
involve.me platform is a user engagement platform that enables you to create personalized customer interactions on the web such as fully customizable mobile-friendly quizzes, price calculators, surveys, smart forms, personality tests, product configurators & more.

The Goal:

Create test cases and secnarios, in order to test Involve.Me platform's features and functionality, and build solid automation using Java that tests various use cases and generate reports that display a very concise representation of what have been tested.


Used Technologies

JAVA

Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let application developers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation.

Object Oriented Programming

Object Oriented programming (OOP) is a programming paradigm that relies on the concept of classes and objects. It is used to structure a software program into simple, reusable pieces of code blueprints (usually called classes), which are used to create individual instances of objects.

Page Object Model

Page Object Model, also known as POM, is a design pattern in Selenium that creates an object repository for storing all web elements. It is useful in reducing code duplication and improves test case maintenance. In Page Object Model, consider each web page of an application as a class file.

Composition

The composition is a design technique in java to implement a has-a relationship. Java Inheritance is used for code reuse purposes and the same we can do by using composition. The composition is achieved by using an instance variable that refers to other objects.

polymorphism

polymorphism used in JAVA allows you to define one interface and have multiple implementations.

Selenium WebDriver

Selenium Webdriver is an open-source collection of APIs which is used for testing web applications. The Selenium Webdriver tool is used for automating web application testing to verify that it works as expected or not. It mainly supports browsers like Firefox, Chrome, Safari and Internet Explorer. It also permits you to execute cross-browser testing.

TestNG

TestNG is a testing framework for the Java programming language inspired by JUnit and NUnit. The design goal of TestNG is to cover a wider range of test categories: unit, functional, end-to-end, integration, etc., with more powerful and easy-to-use functionalities.

GitHub

GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere.


A glance inside the project

Click here to view project files in GitHub

Below are some videos showing the project while running:


Start Page tests



Login Page tests



Projects Page tests



Projects editor tests



Analytics page tests