最近调研了Playwright,Playwright是微软开发的一个端到端的Web测试和自动化库。该框架的主要作用是测试Web应用程序,也可以将其应用于网页抓取。另外进行了初步学习后,发现网络更为关注的是Playwright和Selenium的对比!
Playwright优点
它支持包括Chromium,WebKit和Firefox。
Playwright可以在Windows,Linux,macOS或CI上使用。
它支持TypeScript,JavaScript(NodeJS),Python,.NET和Java。
Playwright的执行速度比Selenium快,针对对这点我会再写一篇文件进行分析。
Playwright支持自动等待并对元素执行相关检查。
跨多个浏览器Tab,多个源和多个用户的测试。为不同的用户创建具有不同上下文的场景,并在服务器上运行它们,所有这些都在一个测试中。
支持录制。
Playwright支持并发运行脚本,可以阻止不需要的资源请求。
Playwright缺点
与Selenium相比,Playwright没有一个很大的社区。
它不适用于旧版浏览器和设备,如果项目需要在比较旧的浏览器上运行,那么Playwright不适合。
Playwright和Selenium整体对比
我初步学习了Playwright之后,第一感受是Playwright就是来对标selenium的,这是在网上找到的二者对比列表
个人的一些看法
本人从05年开始接触自动化测试,绝对自动化测试领域老鸟,从我的经验来看项目中选择Playwright还是selenium是无所谓的,只要大家掌握了自动化测试设计的思想,其实这两个工具都能够解决你的web自动化项目问题!有人甚至说Playwright会取代selenium,因为它比selenium执行的速度更快,脚本运行的也更稳定。
由于个人目前没有深入使用Playwright在实际的项目中进行深入应用,所以暂时没资格对上述观点进行反驳。但是我想说的是:在UI自动化测试中,脚本执行速度快不是最核心的因素,最重要的是脚本稳定!坦白地讲,我用过很多UI自动化测试工具,包括最早的商业版winRunner,QTP,Rational robot, Rational Functional Tester,silktest,然后到开源工具selenium、appium、robotframework等等。到目前为止,上面所有这些工具都不能完美地实现在不修改录制脚本的前提下稳定运行。自动化项目要想稳定运行,都需要大家参与脚本的封装(自动化架构设计)工作!
所以作为一个合格的或者说优秀的自动化测试工程师,除了要正确的选择工具外(选择适合自身项目的工具),更为重要的是需要掌握编码技能(java和python都是可以的),只有这样才能在脚本不稳定时进行代码的优化工作。
在这里大家不要纠结选择Playwright还是selenium,大家应该把更多的精力投入到java或者python代码的学习上!大家也可以关注我的自动化测试、python和java专栏,里面就有很多帮助大家提升编码技能的文章。等大家有一定的编码技能就会发现:使用不同的UI自动化测试工具,只是在使用他们操控页面元素的api而已!想要自动化测试顺利持续开展,大家必须进行自动化架构设计相关工作,这个话题有些大,这里就先不展开说了。
大胆地预测
最后做一个大胆的预测,Playwright是微软的产品,随着微软对GPT4的大力应用推广,如果未来GPT4也在Playwright中进行应用,那么对自动化测试来讲,也会出现颠覆性的创新!那时Playwright和selenium就没有任何可比性了,可谓是降维打击!届时Playwright恐怕杀死的不只是selenium,还有我们自动化测试工程师!
网友评论