About the Presentation
Automated regression testing with JavaScript Playwright
The presentation would start by shortly introducing myself and the projects I work on at Cappelen Damm, the largest book publisher of Norway. We would focus on two of these. One of them is the new CMS solution for the web shop for books and publications, where we have given a new platform for the web shop, while we tried to keep as much of the original design as possible. The second one is a digital learning platform developed by Cappelen Damm, called Skolen (The School), that offers a wide range of study material and digital activities for different age groups.
After this we would quickly look at the most important features of Playwright test tool and why we decided to use it for test automation purposes on each project. This would include some information on the possibilities of its configuration and what custom features we could implement that helped us to reach our goals, the purpose of these implementations, and what degree of flexibility we could achieve while setting up the tool.
In the first main section we would have a look at how data-driven testing combined with Playwright played a key role in the daily visual regression testing of Cappelen Damm’s new web shop solution. This would include the obstacles we met during making it part of the pipeline with Jenkins and what other final solutions we found with Github Actions to overcome the difficulties. We will also look at what worked well during the daily testing of visual regressions with the tool, and what could have been better or did not work at all. In this part we would also look at actual examples of design and visual regressions that are hard to detect by naked eye, and how Playwright helped capture them using screenshots and pixel comparison.
In the second main section we would take a closer look at Cappelen Damm’s digital learning platform for primary and secondary school students, and how Playwright contributed to the daily functional E2E regression testing of the system. We would have examples of how the tool made it easy to automate various user interactions compared to some other tools, for example Cypress or Puppeteer, and how it played a significant role in discovering regressions before releases. This section would include examples of typical user interactions and how Playwright solves these with ease, helping the team getting rid of a great chunk of complex boiler-plate code.