TestRail Perl API

George S. Baugh f74a5cf144 Fix #37 4 lat temu
.github 14934f4b28 add funding.yml 4 lat temu
at 8dd8a264dd Fix #9: needed special handling 5 lat temu
bin f74a5cf144 Fix #37 4 lat temu
lib f74a5cf144 Fix #37 4 lat temu
t a77e5e6f36 fix testsuite 4 lat temu
.gitignore c3260c6a8b Update for new playwright 4 lat temu
.travis.yml b8b4a224ff support policy 5 lat temu
Changes f74a5cf144 Fix #37 4 lat temu
LICENSE 10209758b6 update xright 5 lat temu
MANIFEST.SKIP c3260c6a8b Update for new playwright 4 lat temu
README.md 43cbff507c fix typo 4 lat temu
dist.ini f74a5cf144 Fix #37 4 lat temu
example.pl 7afbf2e9b2 Fix #35: make startup issues the user's problem, but give advice 4 lat temu
generate_api_json.sh 44c1c69b11 Fix #34 4 lat temu
package.json 3ab3960094 fix #33 4 lat temu
perlcriticrc 977be40cb6 skeleton of module & beginning of app server 5 lat temu
tidyall.ini d6b046b97a more work on #15 5 lat temu
weaver.ini 977be40cb6 skeleton of module & beginning of app server 5 lat temu

README.md

playwright-perl Build Status Coverage Status

Perl bindings for playwright, the amazing cross browser testing framework from Microsoft

Has this ever happened to you?

You're writing some acceptance test with Selenium::Remote:Driver, but you figure out selenium is a dead protocol? Finally, a solution!

Here's how it works

A little node webserver written in express is spun up which exposes the entire playwright API. We ensure the node deps are installed in a BEGIN block, and then spin up the proxy server. You then use playwright more or less as normal; see the POD in Playwright.pm for more details.

See example.pl for usage examples.

Supported Perls

Everything newer than 5.28 is supported.

Things should work on 5.20 or newer, but... Tests might fail due to Temp file weirdness with Test::MockFile.

Supported OS

Everything seems to work fine on OSX and Linux.

On Windows, you will have to approve a UAC prompt to exempt playwright_server from being firewalled off.

How2develop

Everything should more or less set itself up automatically, or explode and tell you what to do. I assume you know how to get cpanm.

You might want to use distro packages for some of these:

sudo cpanm Dist::Zilla
dzil authordeps --missing | sudo cpanm
dzil listdeps --missing | sudo cpanm

Actually running stuff:

PATH="$(pwd)/bin:$PATH" perl -Ilib example.pl

Dealing with api.json

Playwright doesn't ship their api.json with the distribution on NPM. You have to generate it from their repo.

clone it in a directory that is the same as the one containing this repository. then run generate_api_json.sh to get things working such that the build scripts know what to do.

Questions?

Hop into the playwright slack, and check out the #playwright-perl channel therein. I'm watching that space and should be able to answer your questions. https://aka.ms/playwright-slack