ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Playwright自动化测试工具之快速实战

2021-03-29 10:53:12  阅读:223  来源: 互联网

标签:实战 playwright 浏览器 python 录制 selenium -- Playwright 测试工具


1. 前言

只要说到自动化,测试和开发的朋友们都知道selenium。一个自动化测试的神器工具,写个Python自动化脚本解放双手基本上是常规的操作了。虽然selenium有完备的文档,但也需要一定的学习成本,对于一个纯小白来讲还是有些门槛的。如果你不愿意花大量的时间在学习定位编写脚本上,就可以尝试下今天的主角:微软的一个开源项目「playwright-python」,这个项目是针对Python语言的纯自动化工具,连代码都不用写,就能实现自动化功能。

1.1基本介绍

Playwright微软开发的e2e测试工具,可以提供比selenium更快更强功能,下一代端到端测试工具。v1.0 在2020年5月6日发布,是node.js的程序。而playwright-python是playwright的python客户端,允许python代码编写用例,调用playwright完成测试

为什么要使用playwright?网上有很多说法,我就不一一列举。最吸引我的就是三个特点:

1. 支持浏览器端的录制,生成自动化脚本,支持无头跑脚本

2. 速度快,基本是selenium的好几倍,且支持浏览器异步运行

3. 自动等待API,可拦截请求,随意mock

2. 快速使用

2.1 安装

项目地址:https://github.com/microsoft/playwright-python

注意:python版本需要时至少3.7 及以上,推荐3.8及以上

安装命令:

pip install playwright(使用阿里源,下载速度快一点)

image.png

备注:pip install playwright==1.9.0 (建议使用1.9.0以后的版本,增加调试,很爽)

 

python -m playwright install (安装chromium、frefox、webkit)


image.pngimage.png

备注:不需要像selenium 再单独安装浏览器驱动,它在 pip install 时就会安装浏览器的驱动文件。

2.1.1 下载提速方案

第二步的操作,可以看到其主要下载了3个浏览器的内核,直接将提前下载好的对应文件存放到该路径就可以不用下载了。

地址如下:

C:\Windows\System32\config\systemprofile\AppData\Local\ms-playwright

下载包地址:

https://kdocs.cn/l/crj83h6w0YDl

[金山文档] ms-playwright.zip

2.2 录制使用

录制代码:python -m playwright codegen

playwright很强大,在命令行键入 --help 可看到所有选项。

image.png


具体含义:

-h 展示所有的命令

–target 用什么语言去生成

-o 将脚本保存为一个文件

用百度举一个简单的例子:

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

就会打开百度网页,录制的代码都会生成在当前目录下的binyuTest.py文件中,篇幅过长暂不展示,具体的操作可以在https://playwright.dev/上找到详细的doc和api接口文档

2.2.1 录制代码高级使用

–save-storage与–load-storage是个非常实用的命令,可以保存登录状态、加载登录状态

如下使用录制会保存登录状态文件

python -m playwright codegen --target python -o formsavecookie.py -b chromium f.wps.cn/picker --save-storage formTest134

如下使用录制会加载登录状态文件

python -m playwright codegen --target python -o formgetcookie.py -b chromium f.wps.cn/form-list  --load-storage formTest134

2.2.2 录制视频

recordVideo参数设置视频地址和录制屏幕的大小,dir必须存在,否则不能录制;size不填默认录制屏幕大小;如果填写,则录取指定长宽的区域

image.png



2.3 编写代码

代码如下:

1. 分别使用chrom、firefox、sarafi浏览器打开浏览器,然后百度一下,接着对在搜索界面截图,最后关闭浏览器

image.png


注意:

Ø with 上下文管理器,自动关闭浏览器和playwright,Playwright-cli只能启用一个

Ø browser.close() 手动关闭,不必须,但是建议大家手动关闭

Ø 每个Page都是一个实例,解决了页面切换的问题,天生POM

2. 结合 asyncio,异步实现同时执行上面的操作。

image.png


标签:实战,playwright,浏览器,python,录制,selenium,--,Playwright,测试工具
来源: https://blog.51cto.com/xqtesting/2675964

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有