• puppeteer(一)环境搭建——新Web自动化工具(同selenium)


    一、简介

    https://github.com/GoogleChrome/puppeteer

    Puppeteer是一个Node库,它提供了一个高级API来控制DevTools协议上的 Chrome或Chromium 

    Puppeteer 默认运行无头,但可以配置为运行完整(非无头)Chrome或Chromium。

    我能做什么?
    您可以在浏览器中手动执行的大多数操作都可以使用Puppeteer完成!以下是一些可以帮助您入门的示例:
    • 生成页面的屏幕截图和PDF。
    • 抓取SPA(单页面应用程序)并生成预渲染内容(即“SSR”(服务器端渲染))。
    • 自动化表单提交,UI测试,键盘输入等。
    • 创建最新的自动化测试环境。使用最新的JavaScript和浏览器功能直接在最新版本的Chrome中运行测试
    • 捕获站点时间线跟踪,以帮助诊断性能问题。
    • 测试Chrome扩展程序。

    适用范围:

      目前仅支持chrome浏览器,不支持其他如IE、firefox等

    二、环境搭建

    1)由于是nodejs的一个库,首先需要安装nodejs.我下载的是最新的10.13.0,安装一直下一步到最后。

    https://nodejs.org/zh-cn/

     这里安装路径选到D盘,D:Program Files odejs

     安装完毕在命令行输入以下命令测试是否安装成功,正确会出现版本号

    npm -v

    2)改变原有的环境变量

      (1)我们要先配置npm的全局模块的存放路径以及cache的路径,例如我希望将以上两个文件夹放在NodeJS的主目录下,便在NodeJs下建立"node_global"及"node_cache"两个文件夹,输入以下命令改变npm配置

    npm config set prefix "D:Program Files
    odejs
    ode_global"
    npm config set cache "D:Program Files
    odejs
    ode_cache"

    3)在系统环境变量添加系统变量NODE_PATH

    输入路径D:Program Files odejs ode_global ode_modules,此后所安装的模块都会安装到改路径下  

    4)安装淘宝npm(cnpm)

       (1) 输入以下命令

    npm install -g cnpm --registry=https://registry.npm.taobao.org

       (2)添加系统变量path的内容

      因为cnpm会被安装到D:Program Files odejs ode_global下,而系统变量path并未包含该路径。在系统变量path下添加该路径即可正常使用cnpm。

       (3) 输入cnpm -v输入是否正常

    cnpm -v

    5)安装puppeteer

     执行如下命令,安装成功后会在D:Program Files odejs ode_global ode_modules下看到puppeteer目录。

    cnpm i puppeteer -g

    6)npm相关命令

    npm安装模块
     【npm install xxx】利用 npm 安装xxx模块到当前命令行所在目录;
     【npm install -g xxx】利用npm安装全局模块xxx;

    本地安装时将模块写入package.json中: 【npm install xxx】安装但不写入package.json; 【npm install xxx –save】 安装并写入package.json的”dependencies”中; 【npm install xxx –save
    -dev】安装并写入package.json的”devDependencies”中。
    npm 删除模块 【npm uninstall xxx】删除xxx模块; 【npm uninstall
    -g xxx】删除全局模块xxx; 已安装模块查看 npm ls -g --depth 0 //查看全局模块 depth 0 深度为0,可以根据需求改变深度 npm ls --depth 0 //查看当前命令所在目录
  • 相关阅读:
    Windows系统 Mysql5.6下载安装以及配置
    【翻译】Javascript “组件模式” 深入研究
    【原创】使用GridView实现绑定List并排序
    【翻译】【项目架构必备】Asp.Net MVC3 定义自己的项目模板
    【原创】也谈我如何解决Silverlight跨域访问安全性问题
    【翻译】MVC 3 Razor语法技巧之——The @helper syntax
    【翻译】Knockout 2.1版本发布&新特性一览
    【原创】三把利器快速制作代码帮助文档
    现代软件工程_团队项目_阿尔法阶段_第二次会议记录_2017.11.13
    现代软件工程_团队项目_阿尔法阶段_需求分析文档_2017.11.13
  • 原文地址:https://www.cnblogs.com/baihuitestsoftware/p/9957343.html
Copyright © 2020-2023  润新知