April 2020 Summaries
8 posts from Cypress
Filter
Month:
Year:
Post Summaries
Back to Blog
DHL Parcel, a leading global logistics company, has successfully reduced its test execution time by 50% through the strategic use of Cypress in combination with Docker and Jenkins, as shared in an upcoming webcast hosted by The Cypress Team. The webcast, scheduled for May 7th, will detail how DHL's business-to-business and business-to-consumer team leverages full end-to-end test runs without relying on mocks or stubbing and achieves parallelization with minimal effort using Docker containers along with Jenkins' built-in features. Participants will learn how DHL cut their test execution time from 7 minutes to 3.5 minutes by parallelizing Cypress tests and get insights into the real-world technology stack used by DHL, simulated inside Jenkins using Docker compose. The event promises to provide valuable knowledge on optimizing testing processes, with a recording available for those who register but cannot attend live.
Apr 27, 2020
244 words in the original blog post.
The blog post, authored by Filip Hric, a QA lead at Slido and a Cypress ambassador, offers practical guidance on testing lists of items using Cypress, a testing framework. Hric discusses techniques for managing lists in testing scenarios, starting with basic operations such as selecting and asserting individual items using commands like .get(), .eq(), and .then(). He explains how to handle longer lists efficiently with the .each() command, which functions similarly to the array.forEach() method. The post also addresses challenges encountered when the position of items in a list changes due to external factors, such as live collaboration, and how Cypress' retry logic affects test outcomes. Hric suggests solving these issues by adding assertions for item count or using the .should() command to incorporate retries, which ensures the test moves forward only after all assertions are satisfied. The blog encourages readers to explore further examples in the provided code repository and engage with the author through social media platforms.
Apr 23, 2020
770 words in the original blog post.
In a recent webcast, the Cypress team, including VP of Engineering Gleb Bahmutov and Lightstep Product Engineers Jonah Moses and Ted Pennings, discussed how Lightstep significantly increased their deployment velocity by transitioning from a detailed 15-page QA document to utilizing Cypress for automated testing. This shift enabled them to deploy more frequently and efficiently by reducing operational overhead and thoroughly testing their application. The webcast, attended by participants via Zoom and YouTube Live, featured a Q&A session facilitated through Slido, with unanswered questions later addressed. Feedback from viewers, collected via a post-webcast survey, was overwhelmingly positive, and the team promised future broadcasts, encouraging followers to stay connected through Twitter for updates.
Apr 21, 2020
241 words in the original blog post.
Gleb Bahmutov's blog post outlines a method to optimize the testing process for large projects with numerous Cypress spec files by prioritizing the execution of changed spec files in a pull request. This approach allows for faster identification of new issues introduced in the code changes by running the modified spec files first, followed by a complete run of all specs to ensure no additional bugs have been introduced elsewhere. The implementation utilizes GitHub Actions and Git commands to automate this "double run" continuous integration workflow. Bahmutov provides detailed instructions for setting up a GitHub workflow that fetches and checks out branches, identifies changed spec files within a specified directory, and executes them using Cypress. By integrating with the Cypress Dashboard, the workflow can record test results for easy debugging. Additionally, the blog post addresses why this functionality is not directly integrated into the Cypress test runner, citing the overhead of maintaining new features as a consideration.
Apr 15, 2020
1,137 words in the original blog post.
The blog post, authored by Juri Strumpflohner, delves into the intricacies of building high-quality React applications using Nx and Cypress. It traces the evolution of web development from simple jQuery enhancements to sophisticated JavaScript-based platforms, underscoring the need for modern development approaches such as application architecture, state management, and quality assurance. The author advocates for using Nx, a set of extensible development tools for monorepos, which enhance team productivity by simplifying code management and facilitating project-wide changes. The post provides a detailed walkthrough of setting up a React workspace with Nx, integrating Cypress for end-to-end testing, and utilizing Storybook for component development and testing. It emphasizes the benefits of TypeScript for code completion and the utility of Nx's caching mechanism to optimize test execution times. Additionally, it highlights the advantages of Nx Cloud for distributed caching to further enhance efficiency in continuous integration environments.
Apr 14, 2020
2,482 words in the original blog post.
The blog post announces an upcoming live webcast by the Cypress Team on April 15th, 2020, focusing on how Lightstep significantly increased its deployment velocity by integrating Cypress into its QA strategy. Lightstep, a full-context observability platform, required a more robust and automated approach to maintain quality in its data-driven applications as the product expanded. The webcast will delve into how Lightstep transitioned from a cumbersome 15-page QA document to an efficient Cypress-powered system that quadrupled deployment speed, reduced operational overhead, and improved testing coverage from frontend to backend. It will also highlight how real-world data testing has enhanced the reliability of their deployments, with a promise to send a recording to all who register if they miss the live session.
Apr 03, 2020
241 words in the original blog post.
André Elmoznino Laufer, a software developer at Valtech, shares his experience converting a legacy Ruby on Rails application into a modern React-based framework for the national Swedish Educational Broadcasting Company's UR Play streaming service. The transition was motivated by challenges such as high staff turnover, difficulty in recruiting Ruby on Rails experts, and the need to merge two distinct streaming platforms while rebranding. To ensure core functionality remained intact during the migration, Cypress was used extensively for end-to-end testing, attaching unique data attributes to track changes and employing a combination of Jest and Enzyme for unit tests. The process involved incrementally rewriting components, starting with the search page filters, and wrapping them into containers to manage state and logic. A significant aid in maintaining accessibility compliance was the cypress-axe plugin, which automatically detects accessibility violations. The approach also included mob programming to distribute knowledge across the team and using Cypress to validate the contract between the frontend and backend, ensuring the new system could be deployed efficiently without introducing errors.
Apr 02, 2020
1,835 words in the original blog post.
Gleb Bahmutov's blog post outlines a method to obtain individual test results immediately after each test is completed in Cypress, eliminating the need to wait for an entire test run to finish. This approach is particularly useful to promptly identify any failed tests, thus saving time. The method involves setting up an inter-process communication (IPC) server named "cypressListener" using Node.js to receive and print test results in real-time. The process begins with executing tests through an index.js script, which uses the Node IPC module to communicate test outcomes from the browser-based Cypress Test Runner to the Node.js environment. This involves a series of steps where test attributes are saved and sent to a plugins process via Cypress's cy.task command, which then forwards them to the cypressListener process using IPC emit commands. The detailed instructions include setting up a connection between the Cypress Test Runner and the Node environment, ensuring each test's state, title, and duration are communicated and displayed instantly, providing a practical solution to improve test efficiency and responsiveness.
Apr 01, 2020
689 words in the original blog post.