playwright框架入门使用

简介: playwright框架入门使用

playwright介绍:

*网上听说这个框架很厉害,然后就有了下文,试探性玩一下

一、安装playwright

# python版本至少3.7以上
pip install playwright
#自动安装Chromium、Firefox、WebKit等浏览器的驱动文件
python -m playwright install

image.png

image.png

二、脚本录制

录制命令codegen:

通过python -m playwright codegen --help 可查看所有用法

image.png

常用参数含义:

-o:将录制的脚本保存到一个文件的文件名称
--target:指定生成的脚本语言,默认为python,目前支持python和JS
-b:指定浏览器驱动
# 使用谷歌驱动去打开网址   
# 生成脚本为python脚本,且脚本名字叫login.py
python -m playwright codegen --target python -o login.py -b chromium https://www.baidu.com

录制脚本:

执行:

python -m playwright codegen --target python -o login.py -b chromium https://www.baidu.com

会弹出录制窗口,和打开浏览器界面

image.png

操作完之后关闭窗口,查看生成脚本

login.py

from playwright.sync_api import Playwright, sync_playwright, expect
def run(playwright: Playwright) -> None:
    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context()
    # Open new page
    page = context.new_page()
    # Go to https://www.baidu.com/
    page.goto("https://www.baidu.com/")
    # Click input[name="wd"]
    page.locator("input[name=\"wd\"]").click()
    # Click [id="\32 "] h3 >> text=懿曲折扇情
    with page.expect_popup() as popup_info:
        page.locator("[id=\"\\32 \"] h3 >> text=懿曲折扇情").click()
    page1 = popup_info.value
    page.wait_for_url("https://www.gaojs.com.cn/")
    # Click text=关于作者 >> nth=0
    page1.locator("text=关于作者").first.click()
    page1.wait_for_url("https://www.gaojs.com.cn/s/about")
    # Click text=归档 >> nth=0
    page1.locator("text=归档").first.click()
    page1.wait_for_url("https://www.gaojs.com.cn/archives")
    # Close page
    page1.close()
    # Close page
    page.close()
    # ---------------------
    context.close()
    browser.close()
with sync_playwright() as playwright:
    run(playwright)

image.png

三、回放脚本

执行python login.py即可

image.png

报错信息:

看样子是没有输入text导致超时退出

image.png

四、产品对比

1.之前操作过阿里巴巴出的uirecorder,也是录制出来之后是js代码,发现产品还是有很多缺陷,踩坑了半个月,就放弃了,更换别的框架了.

2.个人觉得只要录制的脚本,多多少少我都觉得不太好使,最好当个辅助使用吧,要不后续出去面试人家问你怎么做自动化,你说你录制,估计就要凉了。

3.而且回放的时候,会产生很多问题,调试也是很耗时,一旦业务有变动或者元素啥的

有变动就可能要重新录制,也就有了重新回访调试。

4.也有可能当时对录制玩的少

5.既然网上说这个很厉害,能结合pytest分层等等,就说明还是可以的,可以一试。

相关文章
|
测试技术 C++ Python
selenium-pytest框架的基础学习
selenium-pytest框架的基础学习
121 0
|
9月前
|
Web App开发 测试技术 C++
Playwright安装与Python集成:探索跨浏览器测试的奇妙世界
Playwright是新兴的跨浏览器测试工具,相比Selenium,它支持Chrome、Firefox、WebKit,执行速度快,选择器更稳定。安装Playwright只需一条`pip install playwright`的命令,随后的`playwright install`会自动添加浏览器,无需处理浏览器驱动问题。这一优势免去了Selenium中匹配驱动的烦恼。文章适合寻求高效自动化测试解决方案的开发者。
|
9月前
|
Web App开发 Python
【python自动化】Playwright基础教程(二)
【python自动化】Playwright基础教程(二)
175 0
|
Web App开发 JavaScript 前端开发
web自动化测试-playwright工具5分钟上手
我喜欢Playwright! 这是微软开源的一款非常强大的自动化工具,再过几年,他很有可能取代Selenium在浏览器自动化的通知地位。使用过一段时间,我没有找到很好的中文资料可以参考,导致很多问题无法得到及时解决,因此我决定自己记录一下使用的笔记,算是给社区回馈
541 0
|
存储 编解码 测试技术
基于Unittest框架,使用Python+Selenium+Webdriver的WebUI自动化测试项目应用实例(附源码)
基于Unittest框架,使用Python+Selenium+Webdriver的WebUI自动化测试项目应用实例(附源码)
274 0
基于Unittest框架,使用Python+Selenium+Webdriver的WebUI自动化测试项目应用实例(附源码)
|
IDE Java 测试技术
自动化测试教程(3)了解selenium框架
selenium由Selenium IDE,Webdriver,Selenium Grid组成(1)Selenium IDE(自动化脚本录制工具)一个用于Selenium测试的完成集成开发环境,可以直接录制在浏览器的用户
自动化测试教程(3)了解selenium框架
|
Web App开发 监控 测试技术
基于Selenium的web自动化框架
基于Selenium的web自动化框架 1 什么是selenium Selenium 是一个基于浏览器的自动化工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid: Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并可以把录制的操作以多种语言(例如java,python等)的形式导出成测试用例。
3973 0
|
7月前
|
Web App开发 XML Java
《手把手教你》系列基础篇(九十六)-java+ selenium自动化测试-框架之设计篇-跨浏览器(详解教程)
【7月更文挑战第14天】这篇教程介绍了如何使用Java和Selenium构建一个支持跨浏览器测试的自动化测试框架。设计的核心是通过读取配置文件来切换不同浏览器执行测试用例。配置文件中定义了浏览器类型(如Firefox、Chrome)和测试服务器的URL。代码包括一个`BrowserEngine`类,它初始化配置数据,根据配置启动指定的浏览器,并提供关闭浏览器的方法。测试脚本`TestLaunchBrowser`使用`BrowserEngine`来启动浏览器并执行测试。整个框架允许在不同浏览器上运行相同的测试,以确保兼容性和一致性。
142 3
|
jenkins 测试技术 持续交付
Python测试框架之pytest详解
Python测试框架之pytest详解
720 0
 Python测试框架之pytest详解

热门文章

最新文章