UI自动化测试神器Playwright(Java版)(保存登录cookie,解决免登录)

2314 篇文章 32 订阅
1225 篇文章 7 订阅

🎭 Playwright在称为浏览器上下文的隔离环境中执行测试。该隔离模型提高了可重复性并防止相关联的测试脚本执行失败。测试可以加载现有的已验证状态,比如获取已登录的状态(Cookie),在后续脚本中复用。这消除了在每个测试中进行身份验证的需要,即每个测试用例都不需要重新登录,并加快了测试执行速度。🚀

🔐无论你选择哪种身份认证策略,都可能需要在文件系统上存储已验证的浏览器状态,比如Cookie🍪。就像我们平时会将喜爱的小零食收藏在保险箱里一样,登录后我们也可以将Cookie存储起来,以备不时之需。这样一来,我们就可以避免在每个测试用例中都进行身份验证的繁琐过程,而是可以轻松地重用已经验证的状态。这不仅方便,还可以提高测试的执行效率哦!🚀

建议创建playwright/.auth目录并将其添加到.gitignore。你的日常身份验证将生成经过身份验证的浏览器状态,并将其保存到该playwright/.auth 目录中的文件中。后续,测试将重用此状态并启动已通过身份验证。

图片

下面的示例登录到GitHub。一旦执行了这些步骤,浏览器上下文将被认证。

图片

对每个测试重新进行登录可能会降低测试执行速度。要避免这种情况,请重新使用现有的身份验证状态。

Playwright提供了一种在测试中重用登录状态的方法。这样,你只需要登录一次,然后就可以跳过所有测试脚本依赖登录的步骤。

Web应用程序使用基于Cookie或基于令牌的身份验证,其中身份验证状态存储为Cookie或存储在本地存储中。Playwright提供了browserContext.storageState([options])方法,该方法可用于从经过身份验证的上下文检索存储状态,然后创建具有预填充状态的新上下文。

Cookie和本地存储状态可以在不同的浏览器中使用。它们取决于应用程序的身份验证模型:某些应用程序可能需要Cookie和本地存储。

下面的代码从经过身份验证的上下文中检索状态,并使用该状态创建一个新上下文。

图片

也就是通过登录获取Cookie,保存在指定路径,这样在其它地方需要登录时,就可以使用本地的cookie,实现免登录了。

图片

重用已验证状态涵盖了cookie和基于本地存储的验证。会话存储很少用于存储与登录状态相关联的信息。会话存储特定于特定的域,并且不会跨页加载持久化。Playwright没有提供持久化会话存储的API,但是可以使用下面的代码片段来保存/加载会话存储。

图片

通过以上方式,可以方便地实现免登录的效果,从而提高自动化测试的效率和准确性。

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】
在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

全套资料获取方式:

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值