Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Let's get visual - Visual testing in your project
Search
Ramona Schwering
November 24, 2021
Programming
1.2k
0
Share
Let's get visual - Visual testing in your project
Ramona Schwering
November 24, 2021
More Decks by Ramona Schwering
See All by Ramona Schwering
Vue'tiful Defense
leichteckig
0
67
Workshop: The Cake is a Lie!
leichteckig
0
26
The Cake Is a Lie... And So Is Your Login’s Accessibility
leichteckig
0
190
Plants vs thieves: Automated Tests in the World of Web Security
leichteckig
0
220
From the Crypt to the Code
leichteckig
0
230
You shall not pass!? A short story of customizable login experiences
leichteckig
0
86
Access Granted!
leichteckig
0
140
Who are vue? Authn in Vue, the important parts
leichteckig
0
110
Vue Fortified: Best Practices for Web App Security
leichteckig
0
160
Other Decks in Programming
See All in Programming
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
400
AI Agent と正しく分析するための環境作り
yoshyum
3
630
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
730
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
210
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
2.9k
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
160
さぁV100、メモリをお食べ・・・
nilpe
0
110
誰も頼んでない機能を出荷した話
zekutax
0
150
New "Type" system on PicoRuby
pocke
1
300
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
200
~ 秘伝のタレ化した『神スプシ』と戦う ~ 関数型パラダイムで壊れない仕組みへ
h0r15h0
1
140
Sans tests, vos agents ne sont pas fiables
nabondance
0
160
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
41
2.5k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
390
Prompt Engineering for Job Search
mfonobong
0
320
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
120
Building the Perfect Custom Keyboard
takai
2
780
Scaling GitHub
holman
464
140k
Become a Pro
speakerdeck
PRO
31
6k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
410
Optimizing for Happiness
mojombo
378
71k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Transcript
None
None
None
[Screenshot eines
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
// First: Loading installation script // Run install script ./vrt-install.sh
// Next: Install Cypress plugin npm install @visual-regression-tracker/agent-cypress
None
None
None
main 6.4.7.0
6.4.7.0 6.4.7.0
None
None
None
None
name: CI on: [push, pull_request] jobs: build: runs-on: ubuntu-latest steps:
- name: Checkout uses: actions/
[email protected]
- name: Install run: yarn - name: Percy Test uses: percy/
[email protected]
with: command: "cypress run" env: PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
[Screenshot Percy Gitlab]
None
Percy im Test - Code im Test
None
None
None
None
None
const now = new Date(2018, 1, 1) .getTime(); // freezes
the system time to Jan 1, 2018 cy.clock(now); // continue with your normal tests below
None
// Wait for loading times cy.get('.grid-selection‘) .should('not.exist'); cy.get('.sw-loader') .should('not.exist');
None
None
None
// Command usage await percySnapshot('Home page', { percyCSS: `iframe {
display: none; }` }); version: 1 snapshot: percy-css: | iframe { display: none; }
// An own Command Cypress.Commands.add('changeElementStyling', (selector, imageStyle) => { //
E.g. replace the image with a fixed one cy.get(selector) .invoke('attr', 'style', imageStyle) .should('have.attr', 'style', imageStyle); });
None
None
None
None