• 0
  • 0
分享
  • playwright:强大的端到端测试框架之实战总结——软件测试圈
  • 曼倩诙谐 2023-11-06 14:01:16 字数 1342 阅读 2023 收藏 0

  摘要:鉴于查看过2021年前的技术总结,并且因为之前研究过cypress相关前端自动化测试方面的一些技术,因此一看自己研究的cypress竟然不是国内外中最受欢迎的前端自动化技术,霎时间就提起了兴趣去研究了一下playwright。

1-1.jpg

  当然这篇文件文章并不想过多的对于playwright进行简介,而是我使用playwright进行开发自动化测试或者爬虫的一些思考以及实践。

  具体的简介:可以查看官网playwright.bootcss.com/

  那么我们现在就开始详细说明一下实战中的一些感受。

  对比

  鉴于写过相关cypress,这里就以cypress与playwright进行一系列的对比。

  相同

  ·节点获取上,不能说完全相同,只能说一模一样。分别都是通过节点元素的selector或者XPath。

  · 事件上,基本上事件都是支持的,如click,press等等。

  · 同样具备监听接口的能力。

  · 测试报告的生成。

  · 快照功能。

  · 等等……

  基本上自动化测试工具的功能都是大同小异,大体功能上都是类似的。

  不同

  首先最大的不同当然是codegen(代码生成器),playwright与众不同的最大特点,这个下面再进行介绍。

  接口监听方面,playwright是产生监听一次性监听所有接口,而cypress是监听某次的某个接口。因此在playwright中处理起数据时,要做特殊的处理,当然好处就是不用写过多的监听。

  codegen代码生成器

  通过npx playwright codegen打开代码生成器,代码生成器就大大的提高了我们前端做自动化测试的效率,因为能够点点就能生成。

1-2.jpg

  在里面,你所做的任何页面上的操作都会生成对应的代码在图中右侧栏中,并且右侧栏也是支持多种语言进行查看的,因为本身playwright就支持多种语言。

  注意:这里有个小小的坑就是无操作的话,页面是不会进行记录操作的,如我们一般导航栏中都会有一些hover显示的操作,但是页面是不会记录的,因为他并不会记录鼠标的移动,只会记录一些人为的操作,如点击,键盘敲击的事件等等。

  实践注意

  就如同上方所说codegen只会记录一些人为的操作,如点击,键盘敲击的事件等等,因此我们需要再代码中额外的补充会事件。

  代码的异步性,由于代码是异步的,有时候我们需要通过waitForTimeout进行等待操作。

  接口的监听,我们需要在同一地方进行数据的处理。

  众所周知,我们的浏览器基本上都是已经支持多进程的,如果要进行数据量大的爬虫,可以考虑开启多个page来进行获取数据,不要像我一开始傻傻的用一个进程获取数据,效率极低下(手动狗头)。

  总结

  以上就是我写了一下playwright的心得,首先这个codegen就足够吸引人,毕竟很少人会花大量的时间去写自动化测试,就算我想,很多时候公司也是不给的,我就是因为这个原因自动化测试方面结束嘚草草的。以后用到一些更加高深的api的话,也会不停的补充再这篇文章中,谢谢大家观看,古德拜~



作者:tyus    

来源:http://www.51testing.com/html/06/n-5961106.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 在 ANN 中,神经元是相互连接的,每个神经元的输出通过权重连接到下一个神经元。这些互连的架构在 ANN 中很重要。这种排列是层的形式,层之间和层内的连接是神经网络架构。最常见的网络架构是:1. 单层前馈网络2. 多层前馈网络3. 具有自己反馈的单节点4. 单层循环网络5. 多层循环网络 1) 单层前馈网络层是由神经元组成的网络。这些神经元连接到下一层的其他神经元。对于单层,只有输入层和输出层。输入层通过权重连接到输出层节点。所有输入节点都连接到每个输出节点。术语前馈描述了没有从输出层发送到输入层的反馈。这形成了一个单层前馈网络。2)...
            0 0 1259
            分享
          • “好多QA转PM,因为QA(的地位)始终是要低一些”“我现在做的事情跟几年前没有区别”“资深QA在项目上做的事情新来的毕业生也能做”上面的话你是不是也有同感?我相信大部分人会这么认为,因为这些表面上看起来的确是这样的!那么,软件测试人员或者说QA真的有这么惨淡吗?对于开篇引用的几句话,我们一一来分析一下。测试工作的价值不容怀疑“好多QA转PM,因为QA(的地位)始终是要低一些”说这话是没有看到QA所做工作带来的价值。相反的,我认为QA之所以可以转PM是QA工作过程中获得的锻炼挺多的,不仅可以转PM,可以转PO,技术型的QA还可以转Dev。其实,QA和PM并没有地位高低之分,只是分工和职责不一样...
            0 0 2301
            分享
          • 在压力测试中,经常需要生成随机值来模拟用户行为。JMeter 提供了多种方式来生成随机值,本文来具体介绍一下。随机数函数JMeter 提供了多个用于生成随机数的函数,其中最常用的是__Random函数。该函数可以生成一个指定范围内的随机整数或浮点数。语法如下:${__Random(min,max)}其中,min 和 max 是生成随机数的范围,可以是整数或浮点数。例如,${__Random(1,100)} 会生成一个 1 到 100 之间的随机整数。以下是随机手机号最后 3 位数字的例子:查看传过去的数据:也可以用 BeanShell 来实现。添加前置处理器: BeanShell PrePro...
            0 0 3406
            分享
          •   通用汽车公司正在取消"Ultra Cruise"品牌,并将其研发团队与负责"Super Cruise"的团队合并,因为该公司正在重新考虑其先进驾驶辅助系统(ADAS)的目标。上周,CNBC 报道称,通用汽车将"终止 Ultra Cruise 项目",转而专注于目前在公司全系车型中使用的 Super Cruise 系统。通用汽车发言人艾梅-里德拉(Aimee Ridella)澄清说,最终目的是改进超级巡航系统,但不会因此裁员。  Ridella在一封电子邮件中说:"通用汽车并没有缩减其高级驾驶辅助项目。我们已经重新分配了以...
            0 0 788
            分享
          • 一.兼容性测试直播的兼容性测试则是在不同的机型、不同的系统、不同的分辨率以及不同网络环境下测试是否可以正常开播,进入直播间观看直播、发送消息并且在直播结束时可以正常跳转到直播结束页面进行相关操作。图1.1 兼容性测试二.性能测试针对直播间的性能测试主要涉及到以下几个方面:图2.1 性能测试CPU:iOS可以使用instruments中的Activity Monitor帮助测试。Android可以利用Android Studio 自带 CPU检测功能进行测试 。内存:iOS可以使用instruments的 Leaks、Activity Monitor 、Allocations 、Zombies帮...
            14 14 1569
            分享
      • 51testing软件测试圈微信