$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Let's get visual - Visuelles Testing in Deinem ...
Search
Ramona Schwering
April 16, 2021
Programming
0
140
Let's get visual - Visuelles Testing in Deinem Symfony Projekt
Ramona Schwering
April 16, 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
140
Plants vs thieves: Automated Tests in the World of Web Security
leichteckig
0
210
From the Crypt to the Code
leichteckig
0
180
You shall not pass!? A short story of customizable login experiences
leichteckig
0
72
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
Graviton と Nitro と私
maroon1st
0
130
FluorTracer / RayTracingCamp11
kugimasa
0
250
AIコーディングエージェント(skywork)
kondai24
0
200
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
120
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
190
マスタデータ問題、マイクロサービスでどう解くか
kts
0
110
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
170
Cap'n Webについて
yusukebe
0
150
俺流レスポンシブコーディング 2025
tak_dcxi
14
9.4k
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
1.5k
認証・認可の基本を学ぼう前編
kouyuume
0
260
開発に寄りそう自動テストの実現
goyoki
2
1.4k
Featured
See All Featured
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
87
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1k
KATA
mclloyd
PRO
33
15k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Producing Creativity
orderedlist
PRO
348
40k
Making Projects Easy
brettharned
120
6.5k
Darren the Foodie - Storyboard
khoart
PRO
0
1.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Site-Speed That Sticks
csswizardry
13
1k
A Tale of Four Properties
chriscoyier
162
23k
Transcript
None
None
None
[Screenshot eines Visual bugs]
None
None
None
None
None
None
None
None
None
Nimm Cypress oder Panther… lege Screenshots irgendwo hin… mache Screenshots
im Test und vergleiche sie
None
Applitools Percy Storybook Open Source Plugins … und viele mehr
…
None
npm install --save-dev @percy/cypress … oder … yarn add --dev
@percy/cypress Installation
Einbindung // Am Anfang der cypress/support/commands.js import '@percy/cypress'; // In
cypress/plugins/index.js let percyHealthCheck = require(‚@percy/cypress/task'); module.exports = (on, config) => { on("task", percyHealthCheck); };
it('should screensshot', () => { cy.visit('/'); // Takes snapshot cy.percySnapshot('Titel');
}); Percy im Test
Percy im Test - Code im Test Percy als Tool
None
None
[Screenshot Percy Gitlab]
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 Zeit auf dem Client beeinflussen
None
Warten bis alles fertig ist // Beispiel: Ladezustände abwarten cy.get('.sw-data-grid__skeleton')
.should('not.exist'); cy.get('.sw-loader') .should('not.exist');
None
// Ein eigenes Command Cypress.Commands.add('changeElementStyling', (selector, imageStyle) => { //
Hier z.B. das Bild mit einem anderen ersetzen cy.get(selector) .invoke('attr', 'style', imageStyle) .should('have.attr', 'style', imageStyle); }); Ins CSS der Seite eingreifen
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 }} Github Action
None
None
None
None
None