Puppetry
3.2.2
Search
K

Running tests

When we are ready with our test suite we can run the tests. Click on Run.. item in the main menu (or press F6).
Run tests menu item
You get Run Tests modal window
Learn more about "interactive mode" option in Interactive mode
Learn more about "update comparison images" option in CSS Regression Testing

Selecting Staging Environment

The modal window allows you to select a target environment:
Choosing staging environment

Browser Options

We can use Browser options tab to adjust the runner
Browser options tab
On this panel we can select a browser to run the tests:
Picking up a browser
Available options are:
Headless Chromium allows running Chromium in a headless/server environment. In this mode the test will run considerably faster.
Chromium is an open-source web browser, which is used as basis for Google Chrome browser. Puppetry downloads and uses a specific version of Chromium so its API is guaranteed to work out of the box.
Google Chrome is a cross-platform web browser developed by Google.
Mozilla Firefox is a free and open-source web browser developed by the Mozilla Foundation.
Connect to Chrome - connecting to a running instance of Chrome
Browser-specific options:
  • DevTools - enables Chrome DevTools in the browser
  • incognito window - runs the tests in private session
  • maximized - maximizes the browser window
  • fullscreen - switches the browser in fullscreen mode
  • ignore HTTPs errors - tolerates HTTPs errors like invalid certificate
Besides you can manually provide any Chromium command line options in the textbox below.
You can also specify location of Chrome extension. Learn more here

Connecting to Chrome

There are some cases when we need to connect to a ruining instance of chrome instead of starting a new one. For example to bypass reCaptcha we can solve it manually in Chrome and then run the tests on it.
In order to connect we need to start Chrome in command-line with remote-debugging-port parameter.
Windows
macOS
Linix
start chrome.exe –remote-debugging-port=9222 --user-data-dir=remote-profile
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --no-first-run --no-default-browser-check --user-data-dir=$(mktemp -d -t 'chrome-remote_data_dir')
google-chrome --remote-debugging-port=9222
Next we navigate in the started browser to http://127.0.0.1:9222/json/version. On the page we can see a JSON object.
Obtaining webSocketDebuggerUrl
We shell copy the value of webSocketDebuggerUrl property. Open Run Tests modal window (F6), switch to Browser options tab and paste the saved value into WS Endpoint input.
Connect to chrome option
Now we can press Run.

Running tests

As we press Run button the tests are sent to Jest and we have to wait for Test Report
Tests are running