[Koha-devel] Cross-browser automated testing in Javascript (Puppeteer/Playwright)
Victor Grousset/tuxayo
victor at tuxayo.net
Thu Feb 4 21:28:47 CET 2021
Hi :)
On 21-02-01 05:08, dcook at prosentient.com.au wrote:
> What do people think about doing our cross-browser automated testing in
> Javascript rather than Perl? We’re already using Node.js for generating
> Koha’s CSS:
> https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_interface
> <https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_interface>.
>
>
> I’ve been playing with Puppeteer and Playwright lately for non-test
> related browser automation, and they’re pretty easy to work with.
> Playwright is based on Puppeteer, and their basic APIs are the same, so
> fairly interchangeable. (We’d need to use another library like Jest or
> Playwright-test to do the test evaluation.)
>
> It looks like we only have 6 files that use Selenium, so it wouldn’t be
> a big drama to replace them.
Thanks for you exploration work :D
I don't think I can help much in setting up the test stack **but** I can
rewrite all the tests in whatever the community see fit.
Though I don't really know what would be the gains in practice of
switching to Playwright compared to staying with Selenium via Perl.
Or switching to Selenium via JavaScript if our Perl lib gives troubles.
No opinion for now.
About our Selenium Perl lib, it's still being maintained with good work
in progress to support the upcoming Selenium 4
https://github.com/teodesian/Selenium-Remote-Driver/issues/452#issuecomment-760415316
Is Puppeteer needed in a stack using Playwright? Because it's centered
on Chromium, it's already a good surprise that Google worked to bring
experimental Firefox support. But it's hard to bet that it will get
stable and still be maintained for years.
https://github.com/puppeteer/puppeteer/#q-what-is-the-status-of-cross-browser-support
> There is a Perl library https://metacpan.org/pod/Playwright
> <https://metacpan.org/pod/Playwright> but it’s just a wrapper around
> Playwright anyway and it’s so new that I’d be a bit wary of using it.
If the tests are to be rewritten to use Playwright, +1 to do that in JS
rather than Perl to avoid depending on an unofficial lib.
--
Victor Grousset/tuxayo
More information about the Koha-devel
mailing list