Skip to main content

5 posts tagged with "software testing"

View All Tags

How to Simulate HTTP Request Errors

Errors handling is part of our work as developers. You can try to ignore them at first, but to offer a good user experience, you don't want your website breaking just because one of the API endpoints decided to give up on you. These days we try to find clever workarounds to run our applications with a graceful degradation strategy. We build software to work in an optimal environment while providing certain fallbacks not to break the experience entirely when there's some disturbance in the system (e.g., lousy network condition, CPU lag, etc.).

In this article, we will understand how to maximize productivity when tackling HTTP requests error handling from a front-end development perspective.

5 Tips for Effective Puppeteer Automation

In our "Complete Guide to Test Chrome Extensions with Puppeteer", we've covered all you need to know to get you up to speed on setting up end-to-end testing for a chrome extension. The fact is that many elements of the article can be brought to traditional front-end applications.

To truly deliver to you the complete knowledge we've acquired, we've decided to write this tiny, complementary blog post, where we'll cover ad-hoc topics, let's call it tips & tricks, to help you work with Puppeteer.

Complete Guide to Test Chrome Extensions with Puppeteer

Here's what we cover in this article:

  • Motivation to perform e2e testing on browser extensions.
  • Why Puppeteer and known limitations.
  • A complete example of a functional chrome extension and a sample React application.
  • A complete example of a puppeteer + jest set up to run your automation.

All the code referenced in this article can be found in our repo tweak-extension/puppeteer-test-browser-ext.

Simulate Delays in HTTP Requests

There might be a few reasons why we would want to delay an HTTP request:

  • You want to test how your UI behaves to a slow response from an upstream service.
  • There's a race condition in my code, and I suspect that it happens when the request to A is slower than the request B.
  • You want to show off that beautiful loading animation you've been working on all day!