Some time back, we've received feedback from a user stating that they could use our browser extension in mobile using the Yandex browser and gave some feedback about usability. We don't develop for mobile, but when we found out it was possible, we improved our import/export flow to allow users to quickly load in a JSON file with many configurations and operate with the app while mocking requests with tweak. Let's look at how to achieve it.
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.
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.
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.
We're always looking for new ways to improve our effectiveness as frontend developers. We want to pick the right tools to get the job done. We want to have a fully equipped browser, to troubleshoot any tricky bug that comes our way.
Browser extensions have been around for a while, making their way into our development workflow in many different shapes. We can think of extensions as development companions.
In this article, we would like to share a few of them, that in our opinion, provide valuable assistance for frontend developers.
Writing good documentation is a mission-critical aspect of building software these days. Whether you are writing something for yourself, for the Open Source community, or your company, it's essential to keep things documented for good reasons:
- It makes developers more productive since they can rely on the docs to understand how to use your software.
- It makes developing the software itself easier promoting knowledge sharing amongst developers.
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!
When I first started my career in the software industry, I began to get familiar with Single-page applications and how they interact with servers, mainly through HTTP requests to retrieve or send data to the end-user. If you're working with the front end, there's a very high chance you found yourself in one (or multiple) of the following scenarios.