多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

接口自动化测试框架Pyppeteer的安装和使用

更新时间:2021-09-10 06:42:54 作者:admin 浏览:379

接口自动化测试框架Pyppeteer的安装和使用

  由于 Pyppeteer 采用了 Python 的 async 机制,所以其运行要求的 Python 版本为 3.5 及以上。

  1.极简安装

  使用 pip3 install pyppeteer 命令就能完成 pyppeteer 库的安装,至于 chromium 浏览器,只需要一条 pyppeteer-install 命令就会自动下载对应的最新版本 chromium 浏览器到 pyppeteer 的默认位置。

  window 下 安装完 pyppeteer ,会在 python 安装目录下的 Scripts 目录下 有 pyppeteer-install.exe 和 pyppeteer-install-script.py 两个文件,执行 任意一个都可以安装 chromium 浏览器到 pyppeteer 的默认位置。

  运行 pyppeteer-install.exe :

  如果不运行 pyppeteer-install 命令,在第一次使用 pyppeteer 的时候也会自动下载并安装 chromium 浏览器,效果是一样的。总的来说,pyppeteer 比起 selenium 省去了 driver 配置的环节。

  当然,出于某种原因(需要梯子,或者科学上网),也可能会出现chromium自动安装无法顺利完成的情况,这时可以考虑手动安装:首先,从下列网址中找到自己系统的对应版本,下载chromium压缩包。

  'linux': 'https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/575458/chrome-linux.zip'

  'mac': 'https://storage.googleapis.com/chromium-browser-snapshots/Mac/575458/chrome-mac.zip'

  'win32': 'https://storage.googleapis.com/chromium-browser-snapshots/Win/575458/chrome-win32.zip'

  'win64': 'https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/575458/chrome-win32.zip'

  然后,将压缩包放到pyppeteer的指定目录下解压缩,windows系统的默认目录。

接口自动化测试框架Pyppeteer的安装和使用

  其他系统下的默认目录可以参照下面:

  Windows: C:UsersAppDataLocalpyppeteer

  OS X: /Users//Library/Application Support/pyppeteer

  Linux: /home//.local/share/pyppeteer

  or in $XDG_DATA_HOME/pyppeteer if $XDG_DATA_HOME is defined.

  Details see appdirs’s user_data_dir.

  好了,安装完成之后我们命令行下测试下:

  >>> import pyppeteer

  如果没有报错,那么就证明安装成功了。

  2.使用

  Pyppeteer 是一款非常高效的 web 自动化测试工具,由于 Pyppeteer 是基于 asyncio 构建的,它的所有 属性 和方法 几乎都是 coroutine (协程) 对象,因此在构建异步程序的时候非常方便,天生就支持异步运行。

  程序构建的基本思路是新建 一个 browser 浏览器 和 一个 页面 page。

  看下面这段代码,在 main 函数中,先是建立一个浏览器对象,然后打开新的标签页,访问百度主页,对当前页面截图并保存为“example.png”,最后关闭浏览器。前文也提到过,pyppeteer 是基于 asyncio 构建的,所以在使用的时候需要用到 async/await 结构。

  import asyncio

  from pyppeteer import launch

  async def main():

  browser = await launch()

  page = await browser.newPage()

  await page.goto(‘http://baidu.com’)

  await page.screenshot({‘path’: ‘example.png’})

  await browser.close()

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

  由于 Pyppeteer 采用了 Python 的 async 机制,所以其运行要求的 Python 版本为 3.5 及以上。

  1).极简安装

  使用 pip3 install pyppeteer 命令就能完成 pyppeteer 库的安装,至于 chromium 浏览器,只需要一条 pyppeteer-install 命令就会自动下载对应的最新版本 chromium 浏览器到 pyppeteer 的默认位置。

  window 下 安装完 pyppeteer ,会在 python 安装目录下的 Scripts 目录下 有 pyppeteer-install.exe 和 pyppeteer-install-script.py 两个文件,执行 任意一个都可以安装 chromium 浏览器到 pyppeteer 的默认位置。

  运行 pyppeteer-install.exe :

  如果不运行 pyppeteer-install 命令,在第一次使用 pyppeteer 的时候也会自动下载并安装 chromium 浏览器,效果是一样的。总的来说,pyppeteer 比起 selenium 省去了 driver 配置的环节。

  当然,出于某种原因(需要梯子,或者科学上网),也可能会出现chromium自动安装无法顺利完成的情况,这时可以考虑手动安装:首先,从下列网址中找到自己系统的对应版本,下载chromium压缩包。

  'linux': 'https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/575458/chrome-linux.zip'

  'mac': 'https://storage.googleapis.com/chromium-browser-snapshots/Mac/575458/chrome-mac.zip'

  'win32': 'https://storage.googleapis.com/chromium-browser-snapshots/Win/575458/chrome-win32.zip'

  'win64': 'https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/575458/chrome-win32.zip'

  然后,将压缩包放到pyppeteer的指定目录下解压缩,windows系统的默认目录。

  其他系统下的默认目录可以参照下面:

  Windows: C:UsersAppDataLocalpyppeteer

  OS X: /Users//Library/Application Support/pyppeteer

  Linux: /home//.local/share/pyppeteer

  or in $XDG_DATA_HOME/pyppeteer if $XDG_DATA_HOME is defined.

  Details see appdirs’s user_data_dir.

  好了,安装完成之后我们命令行下测试下:

  >>> import pyppeteer

  如果没有报错,那么就证明安装成功了。

  2).使用

  Pyppeteer 是一款非常高效的 web 自动化测试工具,由于 Pyppeteer 是基于 asyncio 构建的,它的所有 属性 和方法 几乎都是 coroutine (协程) 对象,因此在构建异步程序的时候非常方便,天生就支持异步运行。

  程序构建的基本思路是新建 一个 browser 浏览器 和 一个 页面 page。

  看下面这段代码,在 main 函数中,先是建立一个浏览器对象,然后打开新的标签页,访问百度主页,对当前页面截图并保存为“example.png”,最后关闭浏览器。前文也提到过,pyppeteer 是基于 asyncio 构建的,所以在使用的时候需要用到 async/await 结构。

  import asyncio

  from pyppeteer import launch

  async def main():

  browser = await launch()

  page = await browser.newPage()

  await page.goto(‘http://baidu.com’)

  await page.screenshot({‘path’: ‘example.png’})

  await browser.close()

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

  运行上面这段代码会发现并没有浏览器弹出运行,这是因为 Pyppeteer 默认使用的是无头浏览器,如果想要浏览器显示,需要在launch 函数中设置参数 “headless =False”。

  以上是关于接口自动化测试框架Pyppeteer的安装和使用的介绍,由多测师亲自撰写。  http://www.aichudan.com/

联系电话

17727591462

返回顶部