Все начинается с того, что все, что тестирует хром (включая chrome driver, wdio, pptr, cypress) так или иначе основано на нашем коде. Либо они ходят через CDP для всего (web driver, wdio, pptr), либо для запуска и для части функционала (cypress). Мы сами делали этот CDP потому, что мы в общем-то команда Chrome DevTools, которая этот DevTools полностью и сделала. Вброшу понтов для солидности: Chrome DevTools, Puppeteer, Lighthouse и весь Chrome Tooling были проектами под моим руководством 2009 - 2019.
Практика перевода chrome driver на CDP и его жизни показала, что если не знаешь как устроена колбаса изнутри, то получается ерунда. И такая ерунда привела к драме и в хроме, и в Automation API в Сафари и в марионете в FF. Все работает со своими багами, общая часть фунцкионала очень маленькая, событий нет, поддержки перепрыгивания между процессами нет, даже не кликнуть, порой. Поэтому мы сначала сделали Puppeteer, а потом спроецировали этот же подход на FF и Safari. То есть как люди, поддерживающие CDP мы точно знаем, что мы его используем как надо, а остальные - точно нет. Вот такая печаль.
Сайпрес стоит стороной - все сделали в страничке. Но заплатили большую цену - нет множества доменов, security по боку, нет iframe-ов нормальных, нельзя тустировать то, что не может быть iframe-ом, понятно ни о каких воркерах нет речи, network поддельный, кликать не могут по спеке, и тд. Мы сделали все правильно и думаю тулингом перегоним довольно быстро.