Playwright for effective web-testing

Playwright for effective web testing

Web testing – one of the mandatory stages in the process of website development. In the course of these works, a check is made of how stable and efficient this resource will be launched in different browsers, how convenient it will be in operation for users of mobile gadgets and desktop devices. It also evaluates the compliance of the design with the project, the intuitiveness of finding the necessary information, whether the business can solve the upcoming tasks with its help. But testing – rather complicated and time-consuming process, involving the implementation of several stages.

Now let's dwell in more detail on what problems a tester may face. We will tell you how, using the Playwright tool, you can automate actions in order to increase the speed and quality of the implementation of the task. We will also show you how to improve the convenience and reliability of web testing using a product such as private mobile proxies. And now about everything in order.

Features and difficulties of web testing

Not so long ago, web testing of sites was performed manually by a specialist. He had to implement a huge amount of boring and routine work aimed at changing the parameters, and then comparing them with expectations, making adjustments to the strategy, etc. The scope of work was very large and they often took more than the creation of the resource itself. That is why experts put a lot of effort into automating these works. The idea is good, but some difficulties arose in its implementation.

The fact is that automated testing involves writing a program capable of:

  • »keep up the conversation» with browser engines Chromium, Gecko, WebKit, and also have access to features such as Service Workers, geolocation, etc.;
  • perform testing in headless mode, that is, without a browser window: there are many and optimal tests so that they do not interfere with the main work on a PC (we suggest that you get acquainted in more detail with what Headless Chrome);
  • ensure stable operation on Windows, Mac, Linux operating systems;
  • provide technical capabilities for uploading texts to the virtual infrastructure.

This is what an ideal web testing environment should look like. But, the problem is that today there is no solution that would satisfy these requirements. Also note that if your site is built on the WebKit engine, then automatic testing cannot be applied to it at all. The fact is that this is a fairly new development and so far sufficient tools have not been created for it. There are also issues with popular tools such as WebDriver and the Chrome DevTools Protocol. So, although the first one works on the three most popular engines, it still cannot implement a lot of what the tester needs. But the Chrome DevTools Protocol is supported by the Chrome browser. In Firefox, it is partially implemented and the functionality is somewhat limited, far from professional use. But in Safari, the Chrome DevTools Protocol is completely absent.

All these shortcomings are intended to be solved by Playwright. This is a unique platform for testing web products and automating these actions. It will allow testing software products created on Chromium and WebKit engines both in popular browsers and in Firefox using only one API. This platform will be an excellent tool for cross-browser web automation – a solution that will remain relevant, reliable, fast and functional even in the very distant future.

Let's take a closer look at the features and functionality of the Playwright platform.

Getting to know the Playwright platform in detail

One of the distinguishing features of this web testing platform – the presence of its own engine that allows you to perform end-to-end tests. This is Playwright Test. To get started with it, you just need to run the "init" command. This will be enough to create a configuration file. If necessary, the platform will also add an Action to the GitHub workflow, as well as the very first test example.spec.ts. This will allow the tester to jump straight to the assertion block.

You also need to be aware that browsers are capable of running content in different processes, from different sources. The structure of Playwright is built in such a way that it is able to run all tests outside the main process. Thanks to this, the platform does not have the classic limitations associated with running tests. Now let's look at what Playwright is capable of.

Playwright Features

Among the main features of the Playwright platform, it is worth highlighting:

  1. Auto wait option. The platform waits until all elements are suitable for subsequent actions before starting these same actions. It also has a fairly wide range of tools for self-analysis. By combining these features, the Playwright developers have managed to remove the need for artificial timeouts, which, as many of you know, was the main cause of unreliable tests.
  2. The tracking function. Each tester can customize the test retry strategy. It also provides the ability to record a trace of execution, take screenshots, save videos.
  3. Trusted events. Testers will be able to easily interact with dynamic controls, hover elements, generate a number of trusted events. The Playwright platform is equipped with a functional browser input pipeline that will be indistinguishable from the actions of a real user.
  4. Web-first assertions. They are designed specifically to work in a dynamic network. It turns out that the checks within the framework of testing will be automatically repeated until the conditions specified by the specialist are met.
  5. Multiple actions. The tester will be able to create scripts for testing a software product that can immediately cover more than one tab, different sources, and several users. Moreover, it will be possible to create a script targeted at a specific person. No matter how many solutions you end up with, you can run them all in one test on your server.
  6. Browser contexts. The platform generates a search engine context for each individual test. This is a kind of new browser profile that allows you to completely isolate tests. In this case, overhead costs are not required at all. It takes thousandths of a second for the search engine to generate such a new context.
  7. Inline inspector. It's easy and simple to check a working page, run tests, create selectors, analyze execution logs, and even view so-called "click points".
  8. Save authentication settings. You will be able to specify the authentication state of the content once and then automatically use it in other tests. This way you get rid of the need to perform routine repetitive operations to log in to the system when starting the next test. But at the same time, the absolute isolation of independent tests is preserved.
  9. The presence of a tool for viewing the trace. Save all working information so that you have everything to check for failures in tests if necessary. Playwright includes the test implementation screencast, activity browser, live DOM snapshots, source code, and other data in the trace.
  10. A codegen is provided. You can both create tests and record your actions, save them in any language.

As you can see, the functionality for testing is very wide. By the way, as an alternative to Playwright, the library Puppeteer with a high-level API for launching, controlling and Chromium control via NodeJS.

Stable and safe work with Playwright

We would like to draw your attention to the fact that when working with Playwright, you may experience limitations and certain difficulties if you do not additionally connect mobile proxies to the platform. These are special intermediary servers that will replace your real user data with their own parameters (IP-address and geolocation), thereby ensuring the anonymity and security of the network. And with their help, you can perform web testing by simulating the actions of users from around the world. And no regional locks. It will also be possible to run work in multi-threaded mode without fear of a ban and other problems.

Where can I get reliable mobile proxies? The answer is unequivocal – on the MobileProxy.Space service. For more than reasonable money, you get a private channel with unlimited traffic, access to a million pool of IP-addresses that can be changed either by timer (automatically) or by link (forced). Simultaneous work on the HTTP(S) and Socks5 protocols is also implemented, it is possible to change the geolocation and the operator of cellular networks directly in the workflow. More details about mobile proxies from the MobileProxy.Space service can be found at the link But a more reliable solution would still be to check their action in practice – take advantage of a free 2-hour trial.

Share this article: