51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1022|回复: 1
打印 上一主题 下一主题

[转贴] playwright:强大的端到端测试框架之实战总结

[复制链接]
  • TA的每日心情
    擦汗
    前天 08:59
  • 签到天数: 1021 天

    连续签到: 2 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2022-4-27 10:07:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    摘要:鉴于查看过2021年前的技术总结,并且因为之前研究过cypress相关前端自动化测试方面的一些技术,因此一看自己研究的cypress竟然不是国内外中最受欢迎的前端自动化技术,霎时间就提起了兴趣去研究了一下playwright。

    当然这篇文件文章并不想过多的对于playwright进行简介,而是我使用playwright进行开发自动化测试或者爬虫的一些思考以及实践。
      具体的简介:可以查看官网playwright.bootcss.com/
      那么我们现在就开始详细说明一下实战中的一些感受。
      对比
      鉴于写过相关cypress,这里就以cypress与playwright进行一系列的对比。
      相同
      ·节点获取上,不能说完全相同,只能说一模一样。分别都是通过节点元素的selector或者XPath。
      · 事件上,基本上事件都是支持的,如click,press等等。
      · 同样具备监听接口的能力。
      · 测试报告的生成。
      · 快照功能。
      · 等等……
      基本上自动化测试工具的功能都是大同小异,大体功能上都是类似的。
      不同
      首先最大的不同当然是codegen(代码生成器),playwright与众不同的最大特点,这个下面再进行介绍。
      接口监听方面,playwright是产生监听一次性监听所有接口,而cypress是监听某次的某个接口。因此在playwright中处理起数据时,要做特殊的处理,当然好处就是不用写过多的监听。
      codegen代码生成器
      通过npx playwright codegen打开代码生成器,代码生成器就大大的提高了我们前端做自动化测试的效率,因为能够点点就能生成。


    在里面,你所做的任何页面上的操作都会生成对应的代码在图中右侧栏中,并且右侧栏也是支持多种语言进行查看的,因为本身playwright就支持多种语言。
      注意:这里有个小小的坑就是无操作的话,页面是不会进行记录操作的,如我们一般导航栏中都会有一些hover显示的操作,但是页面是不会记录的,因为他并不会记录鼠标的移动,只会记录一些人为的操作,如点击,键盘敲击的事件等等。
      实践注意
      就如同上方所说codegen只会记录一些人为的操作,如点击,键盘敲击的事件等等,因此我们需要再代码中额外的补充会事件。
      代码的异步性,由于代码是异步的,有时候我们需要通过waitForTimeout进行等待操作。
      接口的监听,我们需要在同一地方进行数据的处理。
      众所周知,我们的浏览器基本上都是已经支持多进程的,如果要进行数据量大的爬虫,可以考虑开启多个page来进行获取数据,不要像我一开始傻傻的用一个进程获取数据,效率极低下(手动狗头)。
      总结
      以上就是我写了一下playwright的心得,首先这个codegen就足够吸引人,毕竟很少人会花大量的时间去写自动化测试,就算我想,很多时候公司也是不给的,我就是因为这个原因自动化测试方面结束嘚草草的。以后用到一些更加高深的api的话,也会不停的补充再这篇文章中,谢谢大家观看,古德拜~


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-21 13:44 , Processed in 0.066296 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表