lei-clearsky/doraemon

语言: JavaScript

git: https://github.com/lei-clearsky/doraemon

README.md (中文)

私有像素 - 可视UI测试自动化服务


在MEAN堆栈上构建的自动可视UI测试和监控服务。

我们的堆栈基本上包括: - Nightmare.js,它是使用Webkit渲染引擎的无头浏览器。用于创建网页快照。 - GraphicsMagick是一个能够在node.js中运行的图像处理工具。用于创建两个快照的差异图像。 - AWS用于存储我们的图像。 - CronJob用于按设定的时间间隔安排任务。 - Roboto是一个用于在网站上查找网页的网络爬虫。 - 前端使用Angular,Bootstrap和Sass来创建动态UI。 - FSG用作基本的MEAN堆栈脚手架生成器。

在设定的时间间隔内,我们使用nightmare.js拍摄给定网址的网页快照。使用此当前快照,我们将获取在该URL处获取的先前快照,然后使用GraphicsMagick创建两个快照的差异图像。然后,差异图像将发布在我们的仪表板中,如果计算出实质性差异,则会设置警报。

在这里查看实时网站

还开发了Chrome扩展程序,以测试具有动态UI功能的单页应用程序和网页。我们的Chrome扩展程序用于在浏览器上记录用户工作流程,允许我们在按照您定义的时间间隔拍摄快照之前保存录制的操作并运行它们。

在Play商店下载。

在此处查看Chrome扩展程序回购。

本文使用googletrans自动翻译,仅供参考, 原文来自github.com

en_README.md

Private Pixels - A Visual UI Test Automation Service


An automatic visual UI testing and monitoring service built on the MEAN stack.

Our stack basically consists of:
- Nightmare.js which is a headless browser using the Webkit render engine. Used to create snapshots of webpages.
- GraphicsMagick is an image manipulation tool able to run in node.js. Used to create a diff image of two snapshots.
- AWS is used to store our images.
- CronJob is used to schedule tasks at set intervals.
- Roboto is a web crawler used to find web pages on a site.
- Angular, Bootstrap & Sass is used in the front end to create our dynamic UI.
- FSG was used as a basic MEAN stack scaffolding generator.

At set intervals, we use nightmare.js to take a snapshot of a webpage at a given URL. With this current snapshot, we will then grab the previous snapshot taken at that URL, then use GraphicsMagick to create a diff image of the two snapshots. That diff image is then posted in our dashboard and an alert is set if a substantial difference is calculated.

Check out the live site here

A Chrome Extension was also developed to test single page applications and web pages with dynamic UI features. Our Chrome extension is used to record user workflow on a browser, allowing us to save the recorded actions and run them before taking a snapshot at your defined intervals.

Download it at the Play store here.

Check out the Chrome Extension repo here.