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