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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ramona Schwering
November 24, 2021
Programming
0
1k
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
Vue'tiful Defense
leichteckig
0
45
Workshop: The Cake is a Lie!
leichteckig
0
19
The Cake Is a Lie... And So Is Your Login’s Accessibility
leichteckig
0
160
Plants vs thieves: Automated Tests in the World of Web Security
leichteckig
0
210
From the Crypt to the Code
leichteckig
0
210
You shall not pass!? A short story of customizable login experiences
leichteckig
0
81
Access Granted!
leichteckig
0
130
Who are vue? Authn in Vue, the important parts
leichteckig
0
110
Vue Fortified: Best Practices for Web App Security
leichteckig
0
150
Other Decks in Programming
See All in Programming
20260320登壇資料
pharct
0
120
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
300
The free-lunch guide to idea circularity
hollycummins
0
350
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.3k
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
220
Nostalgia Meets Technology: Super Mario with TypeScript
manfredsteyer
PRO
0
110
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
610
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
330
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
430
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
1k
Feature Toggle は捨てやすく使おう
gennei
0
340
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
180
Featured
See All Featured
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.4k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
sira's awesome portfolio website redesign presentation
elsirapls
0
200
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
220
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
330
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Site-Speed That Sticks
csswizardry
13
1.1k
How GitHub (no longer) Works
holman
316
150k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
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