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 - Visuelles Testing in Deinem ...
Search
Ramona Schwering
April 16, 2021
Programming
0
130
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
Plants vs thieves: Automated Tests in the World of Web Security
leichteckig
0
170
From the Crypt to the Code
leichteckig
0
100
You shall not pass!? A short story of customizable login experiences
leichteckig
0
55
Access Granted!
leichteckig
0
98
Who are vue? Authn in Vue, the important parts
leichteckig
0
75
Vue Fortified: Best Practices for Web App Security
leichteckig
0
130
It's a (testing) trap! - Common end-to-end pitfalls and how to solve them
leichteckig
0
170
Measure and improve frontend performance by using test automation
leichteckig
0
170
You belong here! On hurdles and happiness as women in IT
leichteckig
0
68
Other Decks in Programming
See All in Programming
Thank you <💅>, What's the Next?
ahoxa
1
550
REALITY コマンド作成チュートリアル
nishiuriraku
0
110
ComposeでWebアプリを作る技術
tbsten
0
120
파급효과: From AI to Android Development
l2hyunwoo
0
110
PHPバージョンアップから始めるOSSコントリビュート / how2oss-contribute
dmnlk
1
1.1k
Compose Hot Reload is here, stop re-launching your apps! (Android Makers 2025)
zsmb
1
550
Making TCPSocket.new "Happy"!
coe401_
1
1.9k
Strategic Design (DDD)for the Frontend @DDD Meetup Stuttgart
manfredsteyer
PRO
0
170
[NG India] Event-Based State Management with NgRx SignalStore
markostanimirovic
1
170
ComposeでのPicture in Picture
takathemax
0
120
趣味全開のAITuber開発
kokushin
0
200
これだけは知っておきたいクラス設計の基礎知識 version 2
masuda220
PRO
24
6.6k
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Adopting Sorbet at Scale
ufuk
76
9.3k
Side Projects
sachag
453
42k
Building Adaptive Systems
keathley
41
2.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Visualization
eitanlees
146
16k
Building an army of robots
kneath
304
45k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
We Have a Design System, Now What?
morganepeng
52
7.5k
Navigating Team Friction
lara
184
15k
Gamification - CAS2011
davidbonilla
81
5.2k
It's Worth the Effort
3n
184
28k
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