SlideShare ist ein Scribd-Unternehmen logo
1 von 100
Downloaden Sie, um offline zu lesen
TESTING
VUE APPS
WITH
CYPRESS.IO
CHRISTIAN CATALAN
@christianreyco
UI Engineer
Austin, TX
UI TESTING
THE
STRUGGLE
IS REAL
Comparing Test Varietals
Unit - Domain Logic
Unit - Components
Snapshots (DOM)
Integration/E2E
Edd Yerburgh, VueConf US 2018
https://www.vuemastery.com/conferences/vueconf-2018/testing-vue-apps-edd-yerburgh/
Testing Pyramid
Jeremy Fairbank - Effective React Testing (JazzCon 2018)
https://www.youtube.com/watch?v=Eakp29J38YA
Testing Pyramid
Jeremy Fairbank - Effective React Testing (JazzCon 2018)
https://www.youtube.com/watch?v=Eakp29J38YA
Testing Pyramid
Jeremy Fairbank - Effective React Testing (JazzCon 2018)
https://www.youtube.com/watch?v=Eakp29J38YA
Testing Pyramid
Jeremy Fairbank - Effective React Testing (JazzCon 2018)
https://www.youtube.com/watch?v=Eakp29J38YA
Testing Pyramid Variations
Testing Trophy (Kent Dodds)Edd Yerburgh
Jeremy Fairbank
+ Faster to run and write
+ Easier to Debug
- Hard to emulate complex
interactivity
- Mocking can be painful
Unit Testing
+ Confidence, Coverage
+ Manage complex
interactivity
- Slow to run and write
- Harder to debug
E2E Testing
ENTER
CYPRESS
Cypress an open source testing tool written
entirely in Javascript.
Cypress spawns & drives the browser manually
exactly like you do in development.
Cypress is most often compared with Selenium
& Webdriver, but it is not built on either one.
What is Cypress?
Cypress Best Practices - Brian Mann AssertJS 2018
https://www.youtube.com/watch?v=5XQOK0v_YRE
Slides: https://speakerdeck.com/brianmann/cypress-best-practices
Brian Mann
Founder Cypress.io
AssertJS 2018
Cypress makes it easy to write & debug tests in
a way that hasn't been possible before.
Cypress provides you a visual interface to
indicate which tests and commands are
running.
What is Cypress?
Cypress Best Practices - Brian Mann AssertJS 2018
https://www.youtube.com/watch?v=5XQOK0v_YRE
Slides: https://speakerdeck.com/brianmann/cypress-best-practices
Brian Mann
Founder Cypress.io
AssertJS 2018
Cypress - Interactive Test Runner
Cypress - Installation
https://docs.cypress.io/guides/getting-started/installing-cypress.html
Cypress - First Run
https://docs.cypress.io/guides/getting-started/installing-cypress.html
Cypress - Scaffold
Cypress - Scaffold
Cypress - Scaffold
Cypress - Scaffold
Cypress - Scaffold
https://docs.cypress.io/guides/references/configuration.html
DEMO
CYPRESS
KITCHEN SINK
● UI Interaction
● Matchers/Assertions
● Mocking requests
● cy.clock() - control time
● cy.stub() - stub objects
● cy.window() - modify stores
Cypress API
https://docs.cypress.io/guides/overview/why-cypress.html#
https://docs.cypress.io/examples/examples/recipes.html#
● UI Interaction
● Matchers/Assertions
● Mocking requests
● cy.clock() - control time
● cy.stub() - stub objects
● cy.window() - modify stores
Cypress API
https://docs.cypress.io/guides/overview/why-cypress.html#
https://docs.cypress.io/examples/examples/recipes.html#
● UI Interaction
● Matchers/Assertions
● Mocking requests
● cy.clock() - control time
● cy.stub() - stub objects
● cy.window() - modify stores
Cypress API
https://docs.cypress.io/guides/overview/why-cypress.html#
https://docs.cypress.io/examples/examples/recipes.html#
● UI Interaction
● Matchers/Assertions
● Mocking requests
● cy.clock() - control time
● cy.stub() - stub objects
● cy.window() - modify stores
Cypress API
https://docs.cypress.io/guides/overview/why-cypress.html#
https://docs.cypress.io/examples/examples/recipes.html#
● UI Interaction
● Matchers/Assertions
● Mocking requests
● cy.clock() - control time
● cy.stub() - stub objects
● cy.window() - modify stores
Cypress API
https://docs.cypress.io/guides/overview/why-cypress.html#
https://docs.cypress.io/examples/examples/recipes.html#
✨Phenomenal
Documentation✨
TESTING
BOUNDARIES
Edd Yerburgh
Author vue-test-utils
VueConf US 2018
Edd Yerburgh
Author vue-test-utils
VueConf US 2018
“Component contract is the interface your
component has. The details a user would need
to know in order to use your component in an
application.
Treat the component as a block box. [Where]
you’re free to refactor implementation details
without rewriting tests.
Testing Boundaries
Method
Args
Primitive
Testing Boundaries
Method Pure
Component
Args
Primitive
Props
User Action
Rendered Output
Vue Events
Function Calls
Testing Boundaries
Method Pure
Component
Connected
Component
Args
Primitive
Props
User Action
Rendered Output
Vue Events
Function Calls
Props
User Action
Store
Rendered Output
Vue Events
Function Calls
Store Dispatch
Testing Boundaries
Method Pure
Component
Connected
Component
App
Args
Primitive
Props
User Action
Rendered Output
Vue Events
Function Calls
Props
User Action
Store
Rendered Output
Vue Events
Function Calls
Store Dispatch
Outbound
Network
Request
User Action
Mocked API
SEMICONDUCTOR
TESTING
(#SCIENCE)
Comparing Transistor Testing Varietals
Wafer-Level Scan Diagnostics
Fault Isolation Laser Imaging
Wafer Electrical Testing
Electron Beam Induced Current
Comparing Transistor Testing Varietals
Upper Metal Probing
Transistor Probing
Physical X-Section
Physical TEM Lamella Imaging
Semiconductor Defect
Need Way to quickly compare many transistor measurements
ISTFA 2006, Nano-probing Application on Characterization of 6T-SRAM Single Bit Failures with Different Gox Breakdown Defect
Cheng-Piao Lin, et al TSMC Taiwan
ISTFA 2014, Utilizing Nanoprobing and Circuit Diagnostics to Identify Key Failure Mechanism of Otherwise Non-Visible Defects in 20nm
M. K. Dawood, et al, GLOBALFOUNDRIES Singapore Pte. Ltd. Singapore
Native Charts Default Excel Manual Excel
ISTFA 2013, SEM-based nanoprobing on 40, 32 and 28nm CMOS devices Challenges for Semiconductor Failure Analysis
Erik Paul, et al, GLOBALFOUNDRIES Dresden, Germany
Nanoprobing Charts
https://en.wikipedia.org/wiki/Nanoprobing
Nanoprobing
CYPRESS
EXAMPLES
PROBESCOUT APP
● Magic Login (a la Slack)
● Subsequently can programatically mock authentication
Cypress - Login Example
● Stub auth in helper within tests
Cypress - Programmatic Authentication
● Expand a list of items
Cypress - Toggle Interactivity
● Deep Selecting a chart svg
● Interaction with Modal
Cypress - Modal + SVG Charts
● Deep Selecting table library
Cypress - Filling Out Table Form
Cypress - Filling Out Table Form
Cypress Examples - File Upload
Cypress Examples - Drop Events
● https://docs.cypress.io/api/utilities/blob.html
● https://docs.cypress.io/examples/examples/recipes.html#Drag-and-Drop
● https://docs.cypress.io/examples/examples/recipes.html#File-Upload-in-React
Cypress Examples - Simulating Delay
Cypress - E2E Testing Strategies
Cypress Best Practices - Brian Mann AssertJS 2018
https://www.youtube.com/watch?v=5XQOK0v_YRE
Slides: https://speakerdeck.com/brianmann/cypress-best-practices
Cypress - Best Practices
Cypress Best Practices - Brian Mann AssertJS 2018
https://www.youtube.com/watch?v=5XQOK0v_YRE
Slides: https://speakerdeck.com/brianmann/cypress-best-practices
Cypress Programmatic State Management
Cypress Best Practices - Brian Mann AssertJS 2018
https://www.youtube.com/watch?v=5XQOK0v_YRE
Slides: https://speakerdeck.com/brianmann/cypress-best-practices
● Allows you to use Cypress test runner to unit test your Vue
components
● Runs the component in the real browser with full power of Cypress
● Great talk about this from Gleb Bahmutov @ AssertJS 2018
○ https://www.youtube.com/watch?v=5FnalKRjpZk
● https://github.com/bahmutov/cypress-vue-unit-test
● Promising, interesting to see this steadily improve
Cypress - cypress-vue-unit-test
Cypress - cypress-vue-unit-test
● https://github.com/bahmutov/cypress-vue-unit-test
● https://github.com/bahmutov/cypress-react-unit-test
● https://github.com/bahmutov/cypress-hyperapp-unit-test
● https://github.com/bahmutov/cypress-svelte-unit-test
● https://github.com/bahmutov/cypress-angularjs-unit-test
● https://github.com/bahmutov/cypress-cycle-unit-test
Cypress - cypress-<framework>-unit-test
● cypress-<framework>-unit-test
○ Bundles every component and serves page → can be slow
● Cypress API that look like Promise interface are not 100% Promises
○ No async/await
○ Cypress promise automatically gets awaited IF RETURNED.
● cy.click({ force: true }) -- hidden elements
● Stubbing hot updates from dev server
● “Contains” is not an exactly assertion, but it does retry until finds
element
Cypress - Gotchas
● Solves a lot of the pain points in testing higher level components
● Ideal for developers
○ Iterative feedback
○ Live debuggability with DOM snapshots
● Can be used for full E2E, or for simply more integration-type tests
● Leverage all types test varietals
● Analyze testing boundaries to guide decision on test varietal
Cypress - Closing Thoughts
Part 2
Vue Intro
Vue
“A progressive framework for building
user interfaces.
Vue is designed from the ground up to
be incrementally adoptable. The core
library is focused on the view layer only,
and is easy to pick up and integrate with
other libraries or existing projects.”
Evan You
Author Vue
UtahJS 2016
Evan You
Author Vue
UtahJS 2016
"It’s important to have a solution that has
the elasticity to adapt to different
complexity scenarios"
Evan You, NordicJS 2016
https://www.youtube.com/watch?v=Ag-1wmHWwS4
Vue - Component Dependencies
Evan You
Author Vue
NordicJS 2016
"We have a collector for each component in the
tree. Each component manages its own virtual
DOM tree. When you render the tree, we collect
dependencies. And when the dependency
changes, we re-render that component, and
that component only.
[We are able] to determine the exact number
of components to re-render when something
changes.
● Docs
● vue-cli
● State management vuex
● Routing - vue-router
● vue-devtools
● vue-test-utils
Vue - Community
Evan You - State of Vue - VueConf US 2018
https://www.vuemastery.com/conferences/vueconf-2018/opening-keynote-evan-you/
Vue Single File Components
Vue Single File Components
Vue Single File Components
Vue Single File Components
Vue Single File Components
CSS-in-JS
https://github.com/MicheleBertoli/css-in-js
CSS-in-JS
https://github.com/MicheleBertoli/css-in-js
Vue Single File Components
https://github.com/vuejs/vue-loader/blob/master/docs/en/configurations/pre-processors.md
Vue Single File Components
https://github.com/vuejs/vue-loader/blob/master/docs/en/configurations/pre-processors.md
Vue Single File Components
https://github.com/vuejs/vue-class-component
Vue Reactivity
https://vuejs.org/v2/guide/reactivity.html
“Vue will walk through all of its properties
and convert them to getter/setters using
Object.defineProperty. (ES5-only feature)
The getter/setters are invisible to the
user, but under the hood they enable Vue
to perform dependency-tracking and
change-notification when properties are
accessed or modified.”
Sarah Drasner
Vue Core Team, CSS Tricks
NordicJS 2016
Sarah Drasner
Vue Core Team, CSS Tricks
NordicJS 2016
“Vue grants us some deeper access to into the
reactivity system, which we can leverage as
hooks to observe anything that’s changing.
This can be incredibly useful because, as
application developers, most of what we’re
responsible for are things that change.”
Vue Data, Props, Computed, Methods Declarative
Vue Data, Props, Computed, Methods Declarative
Vue Data, Props, Computed, Methods Declarative
Vue Data, Props, Computed, Methods Declarative
Vue Data, Props, Computed, Methods Declarative
Vue Data, Props, Computed, Methods Declarative
Vue Transitions
● The <slot> element to serve as distribution outlets for content.
● Allows to focus on composition
● Scoped Slots → Render props/children
● Michael Jackson - Never Write Another HoC - React Phoenix 2017
○ https://www.youtube.com/watch?v=BcVAq3YFiuc
Vue Slots - Composition
Vue Slots - Example
Vue Slots - Example
Vue Slots - Example
Vue Slots - Scoped/Render Props Example
✨Manage State
✨Provide props to slot
Vue Slots - Scoped/Render Props Example
✨ Localized Composition
Vue CLI
Vue CLI
Vue CLI
Vue CLI
● Inspired by Next.js
● “UI rendering while abstracting away the client/server distribution.”
● Convention
● Creates routes for you based on folder/file structure
● SSR
● https://nuxtjs.org/
Nuxt
● Really fun to work with
● Easy to introduce to a team
● Makes just enough decisions/conventions for you
● Community + Tooling
● Progressive
● Declarative, Reactive
● Composition
Vue - Closing Thoughts
THANK YOU!
@christianreyco
https://www.linkedin.com/in/crcatala

Weitere ähnliche Inhalte

Was ist angesagt?

Unit Test Android Without Going Bald
Unit Test Android Without Going BaldUnit Test Android Without Going Bald
Unit Test Android Without Going BaldDavid Carver
 
OpenDaylight Developer Experience 2.0
 OpenDaylight Developer Experience 2.0 OpenDaylight Developer Experience 2.0
OpenDaylight Developer Experience 2.0Michael Vorburger
 
Functional Reactive Programming in the Netflix API
Functional Reactive Programming in the Netflix APIFunctional Reactive Programming in the Netflix API
Functional Reactive Programming in the Netflix APIC4Media
 
Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"Fwdays
 
PHP Conf Taiwan 2016 自動化與持續整合實作工作坊
PHP Conf Taiwan 2016 自動化與持續整合實作工作坊PHP Conf Taiwan 2016 自動化與持續整合實作工作坊
PHP Conf Taiwan 2016 自動化與持續整合實作工作坊Chen Cheng-Wei
 
Scala, Functional Programming and Team Productivity
Scala, Functional Programming and Team ProductivityScala, Functional Programming and Team Productivity
Scala, Functional Programming and Team Productivity7mind
 
Efficient JavaScript Unit Testing, May 2012
Efficient JavaScript Unit Testing, May 2012Efficient JavaScript Unit Testing, May 2012
Efficient JavaScript Unit Testing, May 2012Hazem Saleh
 
不只自動化而且更敏捷的Android開發工具 gradle
不只自動化而且更敏捷的Android開發工具 gradle不只自動化而且更敏捷的Android開發工具 gradle
不只自動化而且更敏捷的Android開發工具 gradlesam chiu
 
ScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency InjectionScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency Injection7mind
 
Izumi 1.0: Your Next Scala Stack
Izumi 1.0: Your Next Scala StackIzumi 1.0: Your Next Scala Stack
Izumi 1.0: Your Next Scala Stack7mind
 
Hyper-pragmatic Pure FP testing with distage-testkit
Hyper-pragmatic Pure FP testing with distage-testkitHyper-pragmatic Pure FP testing with distage-testkit
Hyper-pragmatic Pure FP testing with distage-testkit7mind
 
Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點William Yeh
 
distage: Purely Functional Staged Dependency Injection; bonus: Faking Kind Po...
distage: Purely Functional Staged Dependency Injection; bonus: Faking Kind Po...distage: Purely Functional Staged Dependency Injection; bonus: Faking Kind Po...
distage: Purely Functional Staged Dependency Injection; bonus: Faking Kind Po...7mind
 
Learn How to Unit Test Your Android Application (with Robolectric)
Learn How to Unit Test Your Android Application (with Robolectric)Learn How to Unit Test Your Android Application (with Robolectric)
Learn How to Unit Test Your Android Application (with Robolectric)Marakana Inc.
 
Seven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuseSeven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuseMatt Raible
 
The Bash Dashboard (Or: How to Use Bash for Data Analysis)
The Bash Dashboard (Or: How to Use Bash for Data Analysis)The Bash Dashboard (Or: How to Use Bash for Data Analysis)
The Bash Dashboard (Or: How to Use Bash for Data Analysis)Bram Adams
 
Improving your Gradle builds
Improving your Gradle buildsImproving your Gradle builds
Improving your Gradle buildsPeter Ledbrook
 
Why your build matters
Why your build mattersWhy your build matters
Why your build mattersPeter Ledbrook
 
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)Chen Cheng-Wei
 

Was ist angesagt? (20)

Unit Test Android Without Going Bald
Unit Test Android Without Going BaldUnit Test Android Without Going Bald
Unit Test Android Without Going Bald
 
OpenDaylight Developer Experience 2.0
 OpenDaylight Developer Experience 2.0 OpenDaylight Developer Experience 2.0
OpenDaylight Developer Experience 2.0
 
Functional Reactive Programming in the Netflix API
Functional Reactive Programming in the Netflix APIFunctional Reactive Programming in the Netflix API
Functional Reactive Programming in the Netflix API
 
Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"
 
PHP Conf Taiwan 2016 自動化與持續整合實作工作坊
PHP Conf Taiwan 2016 自動化與持續整合實作工作坊PHP Conf Taiwan 2016 自動化與持續整合實作工作坊
PHP Conf Taiwan 2016 自動化與持續整合實作工作坊
 
Scala, Functional Programming and Team Productivity
Scala, Functional Programming and Team ProductivityScala, Functional Programming and Team Productivity
Scala, Functional Programming and Team Productivity
 
Efficient JavaScript Unit Testing, May 2012
Efficient JavaScript Unit Testing, May 2012Efficient JavaScript Unit Testing, May 2012
Efficient JavaScript Unit Testing, May 2012
 
不只自動化而且更敏捷的Android開發工具 gradle
不只自動化而且更敏捷的Android開發工具 gradle不只自動化而且更敏捷的Android開發工具 gradle
不只自動化而且更敏捷的Android開發工具 gradle
 
ScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency InjectionScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency Injection
 
Izumi 1.0: Your Next Scala Stack
Izumi 1.0: Your Next Scala StackIzumi 1.0: Your Next Scala Stack
Izumi 1.0: Your Next Scala Stack
 
Hyper-pragmatic Pure FP testing with distage-testkit
Hyper-pragmatic Pure FP testing with distage-testkitHyper-pragmatic Pure FP testing with distage-testkit
Hyper-pragmatic Pure FP testing with distage-testkit
 
Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點
 
distage: Purely Functional Staged Dependency Injection; bonus: Faking Kind Po...
distage: Purely Functional Staged Dependency Injection; bonus: Faking Kind Po...distage: Purely Functional Staged Dependency Injection; bonus: Faking Kind Po...
distage: Purely Functional Staged Dependency Injection; bonus: Faking Kind Po...
 
Learn How to Unit Test Your Android Application (with Robolectric)
Learn How to Unit Test Your Android Application (with Robolectric)Learn How to Unit Test Your Android Application (with Robolectric)
Learn How to Unit Test Your Android Application (with Robolectric)
 
Seven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuseSeven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuse
 
The Bash Dashboard (Or: How to Use Bash for Data Analysis)
The Bash Dashboard (Or: How to Use Bash for Data Analysis)The Bash Dashboard (Or: How to Use Bash for Data Analysis)
The Bash Dashboard (Or: How to Use Bash for Data Analysis)
 
Why Gradle?
Why Gradle?Why Gradle?
Why Gradle?
 
Improving your Gradle builds
Improving your Gradle buildsImproving your Gradle builds
Improving your Gradle builds
 
Why your build matters
Why your build mattersWhy your build matters
Why your build matters
 
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)
 

Ähnlich wie Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)

Working Software Over Comprehensive Documentation
Working Software Over Comprehensive DocumentationWorking Software Over Comprehensive Documentation
Working Software Over Comprehensive DocumentationAndrii Dzynia
 
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...Sauce Labs
 
Testing Big in JavaScript
Testing Big in JavaScriptTesting Big in JavaScript
Testing Big in JavaScriptRobert DeLuca
 
Clean architecture on android
Clean architecture on androidClean architecture on android
Clean architecture on androidBenjamin Cheng
 
Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31
Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31
Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31Masayuki Igawa
 
Level Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With TestcontainersLevel Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With TestcontainersVMware Tanzu
 
Zagat.com Case Study (DrupalCon Denver 2012)
Zagat.com Case Study (DrupalCon Denver 2012)Zagat.com Case Study (DrupalCon Denver 2012)
Zagat.com Case Study (DrupalCon Denver 2012)Phase2
 
Use React tools for better Angular apps
Use React tools for better Angular appsUse React tools for better Angular apps
Use React tools for better Angular appsMartin Hochel
 
Dive into Angular, part 5: Experience
Dive into Angular, part 5: ExperienceDive into Angular, part 5: Experience
Dive into Angular, part 5: ExperienceOleksii Prohonnyi
 
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie..."How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...Fwdays
 
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Andreas Grabner
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]Dynatrace
 
Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)CIVEL Benoit
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1CIVEL Benoit
 
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?TechWell
 
Raising ux bar with offline first design
Raising ux bar with offline first designRaising ux bar with offline first design
Raising ux bar with offline first designKyrylo Reznykov
 
AppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security AgileAppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security AgileOleg Gryb
 

Ähnlich wie Testing Vue Apps with Cypress.io (STLJS Meetup April 2018) (20)

Integration testing - A&BP CC
Integration testing - A&BP CCIntegration testing - A&BP CC
Integration testing - A&BP CC
 
Working Software Over Comprehensive Documentation
Working Software Over Comprehensive DocumentationWorking Software Over Comprehensive Documentation
Working Software Over Comprehensive Documentation
 
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
 
Testing Big in JavaScript
Testing Big in JavaScriptTesting Big in JavaScript
Testing Big in JavaScript
 
Clean architecture on android
Clean architecture on androidClean architecture on android
Clean architecture on android
 
Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31
Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31
Ensuring OpenStack Version up Compatibility for CloudOpen Japan 2013-05-31
 
Level Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With TestcontainersLevel Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With Testcontainers
 
Zagat.com Case Study (DrupalCon Denver 2012)
Zagat.com Case Study (DrupalCon Denver 2012)Zagat.com Case Study (DrupalCon Denver 2012)
Zagat.com Case Study (DrupalCon Denver 2012)
 
Use React tools for better Angular apps
Use React tools for better Angular appsUse React tools for better Angular apps
Use React tools for better Angular apps
 
Dive into Angular, part 5: Experience
Dive into Angular, part 5: ExperienceDive into Angular, part 5: Experience
Dive into Angular, part 5: Experience
 
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie..."How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...
 
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
 
Selenium cloud
Selenium cloudSelenium cloud
Selenium cloud
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
 
Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1
 
Java Framework comparison
Java Framework comparisonJava Framework comparison
Java Framework comparison
 
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
 
Raising ux bar with offline first design
Raising ux bar with offline first designRaising ux bar with offline first design
Raising ux bar with offline first design
 
AppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security AgileAppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security Agile
 

Kürzlich hochgeladen

WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 

Kürzlich hochgeladen (20)

WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 

Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)