iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >web自动化测试工具Pyppeteer有什么用
  • 410
分享到

web自动化测试工具Pyppeteer有什么用

2023-06-02 05:06:19 410人浏览 独家记忆
摘要

小编给大家分享一下WEB自动化测试工具Pyppeteer有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!01.Pyppeteer简介介绍Pyppeteer之

小编给大家分享一下WEB自动化测试工具Pyppeteer有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

01.Pyppeteer简介

介绍Pyppeteer之前先说一下Puppeteer,Puppeteer是谷歌出品的一款基于node.js开发的一款工具,主要是用来操纵Chrome浏览器的 api,通过javascript代码来操纵Chrome浏览器,完成数据爬取、Web程序自动测试等任务。

Pyppeteer其实是Puppeteer的python版本,下面简单介绍下Pyppeteer的两大特点,chromium浏览器和asyncio框架

1).chromium

Chromium是一款独立的浏览器,是Google为发展自家的浏览器Google Chrome而开启的计划,相当于Chrome的实验版,Chromium的稳定性不如Chrome但是功能更加丰富,而且更新速度很快,通常每隔数小时就有新的开发版本发布。

Pyppeteer的web自动化是基于chromium来实现的,由于chromium中某些特性的关系,Pyppeteer的安装配置非常简单,关于这一点稍后我们会详细介绍。

2).asyncio

asyncio是Python的一个异步协程库,自3.4版本引入的标准库,直接内置了对异步IO的支持,号称是Python最有野心的库,官网上有非常详细的介绍:

web自动化测试工具Pyppeteer有什么用

02.安装与使用

1).极简安装

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

如果不运行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系统的默认目录。其他系统下的默认目录可以参照下面这幅图:

web自动化测试工具Pyppeteer有什么用

2).使用

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

web自动化测试工具Pyppeteer有什么用

运行上面这段代码会发现并没有浏览器弹出运行,这是因为Pyppeteer默认使用的是无头浏览器,如果想要浏览器显示,需要在launch函数中设置参数“headless =False”,程序运行结束后在同一目录下会出现截取到的网页图片:

web自动化测试工具Pyppeteer有什么用

03.实战异步基金爬取

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

下面就来对比顺序执行和异步运行的效率究竟如何:

1).基金爬取

我们把天天基金网中的开放式基金净值数据爬取作为本次的实验任务,下面这张图是一支基金的历史净值数据,这个页面是js加载的,没办法通过requests直接获取内容信息,因此可以考虑使用模拟浏览器操作的方式进行数据抓取。(事实上基金净值数据的获取是有API接口的,本次任务只是为了演示,不具备实用价值)

web自动化测试工具Pyppeteer有什么用

为了使效果更加明显,我们此次爬取基金列表页(下图)前50支基金的近20个交易日的净值数据。

web自动化测试工具Pyppeteer有什么用

2).顺序执行

程序构建的基本思路是新建一个browser浏览器和一个页面page,依次访问每个基金的净值数据页面并爬取数据。核心代码如下:

web自动化测试工具Pyppeteer有什么用

代码中的get_data()函数用于净值数据页面解析和数据的转化,get_all_codes()函数用于获取全部开放式基金的基金代码(共6000余个)。虽然程序也使用了async/await的结构,但是对多个基金的净值数据获取都是在callurl_and_getdata()函数中顺序执行的,之所以这样写是因为pyppeteer中的方法都是coroutine对象,必须以这种形式构建程序。

为了排除打开浏览器的耗时干扰,我们仅统计访问页面和数据抓取的用时,其结果为:12.08秒。

3).异步执行

下面我们把程序改造一下,功能函数都不变,主要是把对fundlist的循环运行改装成async的task对象。核心代码如下:

web自动化测试工具Pyppeteer有什么用

耗时的统计区间仍然从浏览器打开后开始计算,其运行用时为:2.18秒,相比顺序执行要快了6倍。可以想象,如果需要爬取的工作量比较大,顺序执行需要10个小时的话,异步执行可能只需要不到2个小时,优化效果可谓非常明显了。

以上是“web自动化测试工具Pyppeteer有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: web自动化测试工具Pyppeteer有什么用

本文链接: https://www.lsjlt.com/news/229057.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • web自动化测试工具Pyppeteer有什么用
    小编给大家分享一下web自动化测试工具Pyppeteer有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!01.Pyppeteer简介介绍Pyppeteer之...
    99+
    2023-06-02
  • web自动化测试工具有哪些
    以下是一些常见的Web自动化测试工具:1. Selenium:一个流行的Web自动化测试框架,支持多种编程语言,包括Java、Pyt...
    99+
    2023-09-13
    web
  • 面向Web的自动化测试工具Watij怎么用
    面向Web的自动化测试工具Watij怎么用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。随着软件产业的不断成熟,软件质量保证越来越受软件企...
    99+
    2024-04-02
  • Python爬虫之Web自动化测试工具Selenium&&Chrome handless
    ​ ​ @作者 : SYFStrive @博客首页 : HomePage 🥧 上一篇续文传送门 📌:个人社区(欢迎大佬们加入) 👉:社区链接...
    99+
    2023-09-06
    python chrome 爬虫
  • Python进行自动化测试工具
    在自动化测试里Python用途很广,但是市面上测试工具不是很多,这里主要介绍的是一些Python测试的框架1、单元测试a、unittest、doctest:Python自带的单元测试框架b、pyunit:Junit的Python版本c、py...
    99+
    2023-01-31
    测试工具 Python
  • Web模糊测试工具Powerfuzzer有什么用
    这篇文章主要介绍了Web模糊测试工具Powerfuzzer有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Web模糊测试工具PowerfuzzerPowerfuzzer...
    99+
    2023-06-04
  • PHP中的测试自动化工具
    随着软件开发领域不断发展,测试自动化工具也日益受到关注和重视。而对于PHP开发人员来说,如何使用测试自动化工具来提高代码的质量呢?本文将介绍一些常用的PHP测试自动化工具,包括PHPUnit、Codeception和Behat,并讨论它们各...
    99+
    2023-05-23
    自动化测试 测试工具 PHP测试
  • 怎么使用IOS自动化测试工具UIAutomation
    这篇文章给大家分享的是有关怎么使用IOS自动化测试工具UIAutomation的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。xcode中自带的Instuments工具可以用来进行APP的自动化测试, 以及用于进行...
    99+
    2023-06-14
  • 自动化测试工具开发流程是什么
    自动化测试工具开发流程通常包括以下几个步骤:1.需求分析:确定自动化测试工具的目标和功能,明确需求。2.设计架构:根据需求设计自动化...
    99+
    2023-06-07
    自动化测试工具开发
  • python中Airtest自动化测试工具怎么用
    小编给大家分享一下python中Airtest自动化测试工具怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Airtest的官网介绍项目构成Airtest:是...
    99+
    2023-06-29
  • pythonAirtest自动化测试工具的的使用
    目录Airtest的官网介绍项目构成如何上手?一、安装二、使用三、在本地环境中使用及遇到的问题1.使用"pip install airtest" 进行安装2.ID...
    99+
    2024-04-02
  • 如何理解WEB自动化测试工具seleniuml录制器
    这期内容当中小编将会给大家带来有关如何理解WEB自动化测试工具seleniuml录制器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。selenium录制器是最近刚流行起来的一个WEB自动化测试工具,由多测...
    99+
    2023-06-04
  • android界面自动化测试工具monkeyrunner
    MonkeyRunner是一个Android平台的界面自动化测试工具,它基于Python语言,可以通过编写脚本来模拟用户操作。Mon...
    99+
    2023-09-23
    Android
  • Golang 函数测试的自动化工具
    testify/assert 是 go 语言中一种流行的函数测试自动化工具,通过安装和导入该工具,可以使用一系列断言函数来检查预期值与实际值是否相等,例如 equal(t, expect...
    99+
    2024-04-17
    测试自动化 golang git
  • Web应用扫描测试工具Vega有什么用
    这篇文章给大家分享的是有关Web应用扫描测试工具Vega有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Web应用扫描测试工具VegaVega是Kali Linux提供的图形化的Web应用扫描和测试平台工具...
    99+
    2023-06-04
  • 如何使用开源测试工具RunnerGo做自动化测试
    以下是使用开源测试工具RunnerGo进行自动化测试的步骤:1. 安装RunnerGo:首先,需要从RunnerGo的官方网站(ht...
    99+
    2023-09-21
    RunnerGo
  • python自动化测试工具Helium使用示例
    目录前言示例总结前言 Helium工具是对Selenium的封装,将Selenium工具的使用变得更加简单。Selenium虽然好,但是在它的使用过程中元素的提取还是比较复杂的,不论...
    99+
    2024-04-02
  • 互联网中常用自动化测试工具有哪些
    小编给大家分享一下互联网中常用自动化测试工具有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如今,移动应用在企业的地位越来越重要,消费者对移动设备的要求也越来...
    99+
    2023-06-27
  • App自动化测试工具选择方法有哪些
    App自动化测试工具选择方法有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。现在app的开发已经是火爆的一个开发趋势,手机应用的测试也显得格外的重要,现在大部分还是停留在手...
    99+
    2023-06-05
  • Web应用主动侦测工具Skipfish有什么用
    这篇文章主要为大家展示了“Web应用主动侦测工具Skipfish有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Web应用主动侦测工具Skipfish有什么用”这篇文章吧。Web应用主动侦...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作