一说到自动化测试,第一个反应估计就是Python+selenium这样的一个组合,其实在2020年的时候市面上就出现了另一个由微软发布的一款UI自动化测试工具,叫Playwright。经过几年的迭代和技术的沉淀,该工具受到越来越多的人重视和青睐。Best of JS 网站曾经做过一个关于各个测试框架在 GitHub 新增的 star 数量的统计Playwright位于榜首位置,其受欢迎的程度可见一斑。松勤软件测试今天就来和大家聊聊。Playwright凭借自身的优势和近几年的迭代,在自动化测试领域开始崭露头角,使用场景也越来越多。肯定有人好奇Playwright和selenium区别:Playwright架构
client:在客户端是我们用不同的编程语言编写的代码,如JavaScript,Java,Python,C#等。server:Playwright的server通过nodejs构建并负责与client 以及不同的 Web 浏览器引擎进行通信。通信协议:client通过WebSocket 协议与Playwright server 通信;Playwright使用 Chrome DevTools 协议(CDP)与 Chromium 通信。对于Firefox和WebKit,Playwright 实现了自己的协议,类似于CDP。一旦触发测试,client端代码将被转换为JSON格式,然后使用websocket协议发送到服务器。Playwright通过单个 websocket 协议连接传达所有请求,该连接将保持不变,直到所有测试执行完成。由于命令是在单个连接上发送的,因此测试失败或不稳定的可能性较小,并且命令可以快速执行。这种架构与Selenium相反,Selenium使用HTTP连接协议,并将每个命令(如浏览器打开,单击,发送密钥或关闭浏览器)作为单独的HTTP请求发送。此外,在Selenium中,服务器和客户端之间的连接将在每次请求后终止,并为下一个请求重新建立。最后划重点:这就是Playwright比selenium快的原因!Selenium架构