Hogwarts测试开发
07-07·北京测吧员工
构建高效无服务器测试架构(一)
关注 霍格沃兹软件测试开发 公众号,回复「资料」, 领取人工智能测试开发技术合集去年下半年,我们团队接了一个挺头疼的活儿——给一套面向全球用户的SaaS产品搭建端到端测试体系。产品每周发两个版本,每次发版前要跑完上千条UI测试用例,覆盖三个浏览器、五种移动设备尺寸。原来的方案是租了几台ECS,每天凌晨定时跑,但问题越来越多:机器闲时浪费、忙时不够用、环境不一致导致测试 flaky、维护成本越来越高。后来我们换了一套方案——用 Playwright + Serverless 重写了整个测试基础设施。跑完一个月,测试成本降了大概75%,并发能力翻了十几倍,最关键的是,测试稳定性从原来的85%左右提升到了98%以上。这篇文章不是那种“Hello World”式的入门教程,我想从一线实战的角度,把我们在选型、落地、踩坑过程中积累的经验整理出来,希望能给正在考虑类似方案的同行一些参考。为什么是 Playwright?聊Serverless之前,先说说为什么选Playwright。我们之前用过Selenium,也短暂试过Cypress。Selenium的问题是太“重”了——需要单独管理WebDriver,不同浏览器版本还要操心驱动兼容性,维护成本不低。Cypress在当时只支持Chrome系浏览器,跨浏览器测试这块短板比较明显。Playwright是微软开源的项目,原生支持Chromium、Firefox、WebKit三大内核,不需要额外装驱动。对我们这种需要同时验证Chrome和Safari兼容性的产品来说,这点非常关键。另外它的“智能等待”机制确实好用——元素出现之前自动等待,不用自己在代码里塞一堆 sleep 或 waitFor。更重要的是,Playwright在设计时就考虑到了无服务器环境的适配问题,这一点后面会详细说。
发布于 北京
分享
评论
未登录
友善发言
image-upload
评论
加载中