自动化神器 Playwright 的 Web 自动化测试解决方案!

  1. Playwright认识

3. Playwright环境搭建

  • Playwright简介

    • 2020年,微软(Microsoft)开源了一个名为Playwright的工具,与Selenium一样入门简单,支持多语言(Python、Java、Node.js、.NET),支持多浏览器(Chromium、Firefox、Webkit),可跨平台(Windwos、Linux、Mac OS)

    • Playwright同时支持接口自动化和UI自动化,为现代web应用提供了可靠的端到端的测试能力。

  • Playwright优势

    • 1)自动等待功能让自动化更可靠

    • 2)自动追踪:可以很方便地配置重试策略,自动的追踪结果,以截图和录屏的方式进行记录。

    • 3)断言机制:会根据网络环境进行自动断言,直到满足某种条件为止。

    • 4)异步执行:Playwright基于socket进行双向通讯,支持同步与异步执行两种方式

    • 5)可运行多页仿真场景:Playwright是通过上下文管理浏览器,相当于每一个测试用例都会创建一个独立的上下文,浏览器的上下文其实就是一个全新的浏览器,这种方式的好处就是在提速的同时又实现测试与测试之间的隔离,使得测试结果更加准确,所以可以实现并行执行。

    • 6)强大的工具集:还我们提供了强大的工具集,例如:脚本录制工具codegen、脚本编写以及调试工具playwright等

    • Python环境:python解释器+IDE工具,不知道怎么安装的可参考:python3.4 + pycharm 环境安装 + pycharm 使用

    • Playwright环境:

      • 安装Playwright:pip install playwright 

      • 安装内置浏览器(chromium,firefox,webkit):playwright install

4. Playwright入门实战

    • Playwright支持两大类元素定位方式,包括:

    • 1)get_by方式

      • get_by_id: 通过元素的 id 属性来查找元素,例如:element = page.get_by_id("my-id")

      • get_by_name: 通过元素的 name 属性来查找元素,例如:element = page.get_by_name("my-name")

      • get_by_text: 通过元素的文本内容来查找元素,例如:element = page.get_by_text("Submit")

      • get_by_title: 通过元素的 title 属性来查找元素,例如:element = page.get_by_title("my-title")

      • get_by_placeholder: 通过元素的 placeholder 属性来查找元素,例如:element = page.get_by_placeholder("my-placeholder")

      • get_by_selector: 通过 CSS 选择器来查找元素,例如:element = page.get_by_selector("#submit-button")

      • get_by_label: 根据label属性值查找元素,类似于HTML中的label标签和对应的for属性。

      • get_by_role: 通过角色方式定位元素,例如:element = page.get_by_role("button", name="Submit")

    • 2)page.locator方式

      • 通过ID定位元素:使用page.locator("#element-id")page.locator('id=element-id')定位。

      • 通过CSS选择器定位元素:使用page.locator("css=selector")定位。例如:element = page.locator("button#submit-button")

      • 通过XPath表达式定位元素:使用page.locator("xpath=expression")定位。例如:element = page.locator("//button[@id='submit-button']")

      • 通过名称定位元素:使用page.locator("name=element-name")定位。

      • 通过链接文本定位元素:使用page.locator("text=link-text")定位。

      • 通过部分链接文本定位元素:使用page.locator("partial_text=partial-link-text")定位。

      • 通过元素属性定位元素:使用page.locator("[attribute=value]")定位。

      • 通过标签名定位元素:使用page.locator("tag=tag-name")定位。

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:自动化测试老司机! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值