新崛起的自动化神器Playwright

简介

Playwright是微软开源的一个UI自动化测试工具。添加了默认等待时间增加脚本稳定性,并提供视频录制、 络请求支持、自定义的定位器、自带调试器等新特性。

Playwright的优势

  • playwright支持同步和异步两种使用方法

  • 不需要为每个浏览器下载webdriver

  • 支持无头浏览器,且较为推荐(headless默认值为True)

  • 可以使用传统定位方式(CSS,XPATH等),也有自定义的新的定位方式(如文字定位)

  • 没有使用selenium的先定位元素,再进行操作的方式,而是在操作方法中传入了元素定位,定位和操作同时进行

已知局限性

  • 1、旧版Edge和IE11支持。Playwright不支持旧版Microsoft Edge或IE11(弃用通知)。支持新的Microsoft Edge(在Chromium上)。

  • 2、Java语言绑定:Playwright API目前无法在Java或Ruby中使用。这是暂时的限制,因为Playwright旨在支持任何语言的绑定。

  • 3、在真实的移动设备上进行测试:Playwright使用桌面浏览器来模拟移动设备。如果您有兴趣在实际的移动设备上运行,请支持此问题。

安装

示例:以百度为例,输入百度 址打开百度页面,搜索框中输入“playwright”,点击“百度一下”按钮,录制代码如下

基本概念

browser

浏览器:支持多种浏览器:Chromium(chrome、edge)、Firefox、WebKit(Safari),一般每一种浏览器只需要创建一个browser实例。示例:

context

上下文:一个浏览器实例下可以有多个context,将浏览器分割成不同的上下文,以实现会话的分离,如需要不同用户登录同一个 页,不需要创建多个浏览器实例,只需要创建多个context即可。

示例:

page

页面:一个context下可以有多个page,一个page就代表一个浏览器的标签页或弹出窗口,用于进行页面操作。

示例:

frame

一个页面至少包含一个主frame,新的frame通过iframe标签定义,frame之间可以进行嵌套,只有先定位到frame才能对frame里面的元素进行定位和操作。playwright默认使用page进行的元素操作会重定向到主frame上。

示例:

异步

异步操作可结合asyncio同时进行三个浏览器操作。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走


声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月21日
下一篇 2022年2月21日

相关推荐