Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
0
190
Let's get visual - Visual testing in your project
Ramona Schwering
November 24, 2021
Tweet
Share
More Decks by Ramona Schwering
See All by Ramona Schwering
Workshop: The Cake is a Lie!
leichteckig
0
10
The Cake Is a Lie... And So Is Your Login’s Accessibility
leichteckig
0
130
Plants vs thieves: Automated Tests in the World of Web Security
leichteckig
0
200
From the Crypt to the Code
leichteckig
0
170
You shall not pass!? A short story of customizable login experiences
leichteckig
0
71
Access Granted!
leichteckig
0
120
Who are vue? Authn in Vue, the important parts
leichteckig
0
100
Vue Fortified: Best Practices for Web App Security
leichteckig
0
150
It's a (testing) trap! - Common end-to-end pitfalls and how to solve them
leichteckig
0
180
Other Decks in Programming
See All in Programming
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
7
2k
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
200
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
720
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
120
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
340
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.5k
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
110
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
130
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
370
Go コードベースの構成と AI コンテキスト定義
andpad
0
100
エディターってAIで操作できるんだぜ
kis9a
0
690
Integrating WordPress and Symfony
alexandresalome
0
140
Featured
See All Featured
A designer walks into a library…
pauljervisheath
210
24k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Raft: Consensus for Rubyists
vanstee
141
7.2k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
GraphQLとの向き合い方2022年版
quramy
50
14k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
Mobile First: as difficult as doing things right
swwweet
225
10k
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