-
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")
定位。
-
-
作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。