Hogwarts测试开发
07-05·北京测吧员工
避开 Playwright 常见陷阱 三
坑4:每个测试都从头登录一套测试用例几十上百个,每个用例都打开登录页、输用户名密码、点登录——慢不说,万一登录接口挂了,所有测试全崩。解决方案:用storageState 保存登录态。# 先跑一次登录,保存登录状态到文件# 在 playwright.config.py 里配置use = {    "storage_state""auth.json"}这样每个测试启动时就已经是登录状态了,又快又稳。坑5:测试之间“互相传染”这个坑特别恶心——单个用例跑全过,一起跑就随机挂。问题出在测试之间共享了可变状态。比如你在模块级别定义了一个page 对象,用例A把它导航到了页面A,用例B以为它还在首页,结果就挂了。解决方案:**每个测试用独立的page 或context**。Playwright的fixture机制天然支持这一点:# ✅ 每个测试都有自己的 page,互不干扰def test_something(page):    page.goto("/page-a")    # ...def test_something_else(page):    page.goto("/page-b")  # 干净的页面,不受上一个用例影响    # ...如果确实需要共享某些只读数据(比如配置),用beforeAll 没问题,但不要共享可变对象。
发布于 北京
分享
评论
未登录
友善发言
image-upload
评论
加载中