playwright自动化

playwright是谷歌开源的自动化框架

官方文档:

https://playwright.dev/

 

支持python,java,js等语言编写

安装

pip install playwright #第三方库安装
python -m playwright install #浏览器安装,可能会慢,所以要找台网速好的电脑

这下就安装好了

我们试一试录制运行吧

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

* python -m playwright codegen  录制脚本
* –help 帮助文档
* -o 生成自动化脚本的目录
* –target 脚本语言,包含 JS 和 Python,分别对应值为:python 和javascript
* -b 指定浏览器驱动
* 我们通过下面命令打开 Chrome 浏览器开始录制脚本
* 指定生成语言为:Python(默认Python,可选)
* 保存的文件名:mikezhou.py(可选)
* 浏览器驱动:webkit(默认webkit,可选)
* 最后跟着要打开的目标网站(默认仅仅是打开浏览器,可选)
python -m playwright help #查看帮助

 

 

import asyncio
from playwright import async_playwright

# 异步执行
async def main():
    async with async_playwright() as p:
        for browser_type in [p.chromium, p.firefox, p.webkit]: # 异步操作,分别用不同等浏览器测试
            # 指定为有头模式,方便查看
            browser = await browser_type.launch(headless=False)
            page = await browser.newPage()

            await page.goto('http://www.baidu.com')

            # 执行一次搜索操作
            await page.fill("input[name=\"wd\"]", "rainbol")
            await page.press("input[name=\"wd\"]", "Enter")

            # 等待页面加载完全
            await page.waitForSelector("text=搜索工具")

            # 截图
            await page.screenshot(path=f'test-{browser_type.name}.png')
            await browser.close()

asyncio.get_event_loop().run_until_complete(main())

 

最后想说的就是框架本身还不是直接录一次就能完成可以使用,还需要测试工程师调教,录制中间可以查看页面元素,但有时候会卡住不动,感觉有时候还不如直接敲代码来的顺畅,所以工具框架本身没有好不好,只有在自动化测试中辅助我们更好的完成测试,才能完成它该有的用途

 

 

参考:http://blog.yixao.net/share/17808.html

上一篇:速度测试:playwright vs playwright-python


下一篇:网络编程03