All Projects → JamesIves → front-end-visual-comparison-tool

JamesIves / front-end-visual-comparison-tool

Licence: MIT license
🔮🔬Front-End testing tool which can be used to create a side by side visual comparison between your live site and local site.

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to front-end-visual-comparison-tool

nightwatch101
使用 Nightwatch 實現 End-to-End Testing ★
Stars: ✭ 42 (+162.5%)
Mutual labels:  end-to-end-testing, front-end-testing
gdb-dashboard
Modular visual interface for GDB in Python
Stars: ✭ 8,699 (+54268.75%)
Mutual labels:  visual
VWapi
⛈ ☀️ Visual Weather api. Returns beautiful pictures with the current weather.
Stars: ✭ 33 (+106.25%)
Mutual labels:  visual
react-ssr-advanced-seed
🔮 React SSR Advanced Seed (Typescript + nestJS + React SSR + React Native + Docker)
Stars: ✭ 76 (+375%)
Mutual labels:  end-to-end-testing
stringosim
String similarity functions, String distance's, Jaccard, Levenshtein, Hamming, Jaro-Winkler, Q-grams, N-grams, LCS - Longest Common Subsequence, Cosine similarity...
Stars: ✭ 47 (+193.75%)
Mutual labels:  comparison
software-testing-resource-pack
Various files useful for manual testing and test automation etc.
Stars: ✭ 38 (+137.5%)
Mutual labels:  front-end-testing
CVE-2020-1611
Juniper Junos Space (CVE-2020-1611) (PoC)
Stars: ✭ 25 (+56.25%)
Mutual labels:  poc
mrivis
medical image visualization library and development toolkit
Stars: ✭ 19 (+18.75%)
Mutual labels:  comparison
differ
Electron application to compare two directories
Stars: ✭ 48 (+200%)
Mutual labels:  comparison
Scripts-Sploits
A number of scripts POC's and problems solved as pentests move along.
Stars: ✭ 37 (+131.25%)
Mutual labels:  poc
glitch-studio
data bending & glitch tools
Stars: ✭ 66 (+312.5%)
Mutual labels:  visual
missCompare
missCompare R package - intuitive missing data imputation framework
Stars: ✭ 31 (+93.75%)
Mutual labels:  comparison
react-compare-slider
A slider component to compare any two React components in landscape or portrait orientation. It supports custom images, videos... and everything else.
Stars: ✭ 78 (+387.5%)
Mutual labels:  comparison
PowerBI-visuals-AttributeSlicer
Attribute Slicer custom visual for PowerBI
Stars: ✭ 24 (+50%)
Mutual labels:  visual
pdb-benchmarks
Benchmarking common tasks on proteins in various languages and packages
Stars: ✭ 33 (+106.25%)
Mutual labels:  comparison
arabic-text-diacritization
Benchmark Arabic text diacritization dataset
Stars: ✭ 41 (+156.25%)
Mutual labels:  comparison
ARL-NPoC
集漏洞验证和任务运行的一个框架
Stars: ✭ 73 (+356.25%)
Mutual labels:  poc
Exploits
A personal collection of Windows CVE I have turned in to exploit source, as well as a collection of payloads I've written to be used in conjunction with these exploits.
Stars: ✭ 75 (+368.75%)
Mutual labels:  poc
compare-utils
Compares of Java Collections and Objects (of different classes) made easy
Stars: ✭ 15 (-6.25%)
Mutual labels:  comparison
PlayMaker--UnityLearn--2dPlatformer
Obsolete, Check for newer version
Stars: ✭ 21 (+31.25%)
Mutual labels:  visual

Front-End Visual Comparison Tool 🔮🔬

This application runs a side by side visual comparison between the Front-End of your local developer environment and your production site with Chrome. Once the tests have concluded you'll be able to view the comparison side by side in the applications interface.

Installation Steps 💽

First you'll need to either clone this repository, or simply download it as a zip.

This project is database driven so test data can be persisted, therefore you'll need to start up a local MongoDB database and create/import the path into a file called config/database.config.js like so:

module.exports = {
  url : 'mongodb://localhost:27017/testdb'
};

Once you've added your database path you can run the following commands in order. This will install the required dependencies for the client and the Node service and then start the service.

$ npm install && cd ./client/ && npm install && cd ../
$ npm start

Once the service is started you can access the local interface at http://localhost:3000. The API service runs on port 9090.

Creating/Running a Test 📐

Within the interface you can add a test by clicking the Create Test option within the pullout menu. On the Create Test page you'll be prompted to fill in multiple fields of data.

Option Description Required
Name This should represent the name of your test. For example Blog Page or something similar. Required
Description This should give a brief description about what your test is about. For example The mobile blog page. Optional
Live URL This should be a fully qualified url for your current page that is in production, or on your staging environment. This is the base for the visual comparison. Visual comparisons work best for static pages, therefore it may be a good idea to create a kitchen sink page that will store your components in a static state. Required
Dev URL This should be a fully qualified url for your page that is under development. For instance this could point to your local page on localhost. Required
Browser Size The browser width that you'd like to run the test at. If you're developing a mobile page then you can set this to a mobile browser width and the test will run at that size. Optional

Once the test has been created you can access the test page and select the Run Test button to begin the test, once concluded the page will refresh and you'll be able to see the comparisons. Once the comparisons are available you can click on the dev page screenshot to toggle the overlay which will highlight the changes.

You can re-run the test as many times as you like. If there's an error with the test, such as one of the paths being unavailable, the interface will alert you that there was a problem. From the test page you're also able to edit and remove the test if you've made a mistake or if you no longer have a need for it.

API 📡

There are several API endpoints which can be utilized if you'd prefer to not use the interface. Screenshots get saved by default in the ./client/public/diff directory.

Endpoint Type Description
/tests GET Fetches all tests, returns an array.
/tests POST Adds a test, accepts a JSON object with the properties name, description, live, dev, and size.
/tests/:id GET Fetches a specific test based on its id.
/tests/:id PUT Updates a specific test, accepts a JSON object with the properties name, description, live, dev and size.
/tests/:id DELETE Deletes a specific test.
/run GET Runs all tests that are stored in the database. Eventually returns an array containing all of the tests with a success flag that will either be true or false depending on if the test resulted in an error or not.
/run/:id GET Runs a specific test. Returns the test object with a success flag that will be either true or false depending on if the test resulted in an error or not.

You can find an example response from the API below.

[
    {
        "_id": "5b5359913a6b910586b1345b",
        "name": "Blog Page",
        "description": "My Blog Page",
        "live": "https://jamesiv.es/blog",
        "dev": "http://localhost:4000/blog",
        "size": 728
    }
]

Screenshot

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].