前端e2e测试的一些积累

177 阅读2分钟

e2e测试可以用于在项目稳定后,配合测试用例生成自动化测试代码,以保证项目的稳定性,每次上线之前跑一跑,能发现不少的问题

框架

目前使用的e2e框架是playwright,以前也用pupteer,但playwright使用起来更加的方便

配合上vscode的拓展Playwright Test for VSCode更是如虎添翼。因为他可以顺便录制用户操作:

image.png

当然,录制的代码有时是不尽人意的,我们也可以自己写选择器,类似css和dom选择器一样,我常用到的选择器有:

page.getByRole 通过元素属性来筛选
page.getByText 通过文案来筛选
page.getByTestId 通过testid来筛选,testid需要在代码中手动添加
page.locator 大致与dom选择器类似,也类似与jquery的选择器
filter方法 以上选择器可能选中多个元素,filter可以配合过滤出你想要的

playwright可以监听浏览器发起的request和收到的response,某些数据不能通过页面判断时,也可以搭配这俩来判断接口返回的数据是否正确

开发工具

目前是用的cursor,搭配.cursorrule的配置,ai可以推断的更合理,灵活投喂测试用例之后,ai可以自动写出准确率比较高的测试代码

测试代码的质量

既然是写代码了,那肯定是有bug的,测试代码也不例外。但目前团队并没有好的办法来检验测试代码本身是否有什么问题

效率

目前正常情况下,一天能够涵盖20-30条的测试用例,一般模块一、两天就能完成自动化测试

定期检验

目前是启了一个node服务,挂一个定时任务,每天晚上执行一遍所有测试代码,playwright会自动生成测试报告的文件,第二天测试再查报告看是否有啥问题出现,及时修复

拓展

既然是录制脚本了,写熟悉了用playwright写爬虫或者是抢优惠券之类的都还不错