搭建一个node.js项目 前端测试工具入门 jest puppeteer Cypress mocha_node.js jest mocha-程序员宅基地

技术标签: 前端  nodejs  

一 nodejs的安装

推荐去官网下载最新版本的,官网地址:https://nodejs.org/en/download/
依照系统版本下载即可,推荐window系统下载msi格式的。
下载下载直接安装下一步下一步。
安装成功了以后打开cmd

node -v

来检测是否安装成功

cnpm安装

由于我们被墙的厉害,所以使用npm下载模块时候会发现效率真的很慢,所以推荐淘宝的镜像,安装说明
推荐:

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

安装cnpm,安装成功以后,将npm改成使用cnpm安装模块即可,简单,省事

二 新建项目

安装 express 框架

mkdir okadaGo
cd okadaGo
cnpm init -y
npm install express --save

启动项目

进入项目的根目录,建立一个 index.js 文件,并加入如下代码

var express = require('express');
var app = express();

app.get('/', function(res, rep) {
    rep.send('Hello, word!');
});

app.listen(3000);

然后在控制台中输入

node index.js

接着使用浏览器访问 http://localhost:3000/,就可以看到效果了

 

三 jest

mkdir okadaGo
cd okadaGo
cnpm init -y
(npm i jest -D 有点问题)

需要低版本的jest
如果安装错误

rm -rf node_modules

cnpm i [email protected] -D

cnpm run test

sum.js

function sum(a, b) {
  return a + b;
}
module.exports = sum;

sum.test.js

const sum = require('./sum');

test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});

上述test的第一个参数可以自定义,用来打印信息,后边的expect().toBe()是期望执行结果

执行

修改package.json

{
  "scripts": {
    "test": "jest"
  }
}

cnpm run jest

效果图

在这里插入图片描述

Puppeteer 

const browser = await puppeteer.launch({
    //如果无法启动chrome,指定浏览器路径:executablePath,headless设置为false:可以看到浏览器
    executablePath:'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe',
    headless: false, //可以看到打开浏览器效果,默认值true
    puppeteerOptions: {
      ignoreHTTPSErrors: true,
      dumpio: false,
    }
  });

 

四 puppeteer

安装 puppeteer

yarn add puppeteer
# or "npm i puppeteer"

可能会遇到 无法下载Chromium 问题

是因为在执行安装的过程中需要执行install.js,这里会下载Chromium,官网建议是进行跳过,我们可以执行 —ignore-scripts 忽略这个js执行

./node/npm i --save puppeteer --ignore-scripts

接下来我们需要去下载Chromium,windows的版本我这里已经下载好了,直接解压缩附件中的到 node_modules/puppeteer中就可以了。

执行下,我们创建一个文件index.js,文件内容

const puppeteer = require('puppeteer');

(async () => {
      const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto('https://y.qq.com');
    await page.screenshot({path: 'yqq.png'});
    browser.close();
})();

这段代码会打开 https://y.qq.com 并截图,我们运行

node  index.js

如果看到目录下有生成图片y.qq.png的话,恭喜你,我们可以开始继续往下学习puppeteer了。

 

五 Cypress

    最近想学习下web ui测试框架,发现了比较好用的cypress,直接用js操作更方便更快。

一、开发环境

1. 安装cypress

cd projectpath                   # 工程目录
npm install cypress --save-dev   # 安装cypress

  Cypress安装完成后,可看到提示:You can now open Cypress by running: node_modules/.bin/cypress open,通过如下命令打开Cypress。正常可看到如下窗口,其中有许多cypress自带的例子可以参考。

node_modules/.bin/cypress open

2. 配置

在工程路径下创建package.json文件,配置以chrome浏览器运行用例。

{
  "scripts": {
    "cypress:open": "cypress open",
    "cypress:run": "cypress run --browser chrome"
  },
  "devDependencies": {
  }
}

cypress.json文件中添加如下内容,"chromeWebSecurity": false 解决chrome跨域问题;

reporter :cypress run会自动生成xml文件,使用 allure 生成对应报告。

{
        "chromeWebSecurity": false,
        "reporter": "junit",
        "reporterOptions": {
           "mochaFile": "results/my-test-output[hash].xml",
           "toConsole": true
        }
}

1. intellij idea 中打开之前的工程目录,可看到cypress的开发目录:

1) fixtures:自定义json文件

2) integration:编写测试用例

3) plugins:插件

4) support:目前未用到,需要自定义指令的时候可以深入研究

describe('My first test case for cypress',function(){
    it('visit baidu home page and search for testerhome:',function(){
        cy.visit('http://www.baidu.com') //访问url
        cy.title().should('contain','百度一下,你就知道')   //验证页面 title 是否正确
        cy.get('#kw')      //根据 css 定位搜索输入框
        .type('testerhome')        //输入关键字
        .should('have.value','testerhome')  //验证关键字自动是否展示正确
        cy.get('#su').click()   //根据 css 定位搜索按钮并点击
        cy.url().should('include','wd=testerhome')     //验证目标url 是否正确包含关键字
        cy.title().should('contain','testerhome_百度搜索')  //验证页面 title 是否正确
        cy.get('[id="1"]')   
        .should('contain','TesterHome')   // 验证第一个结果中是否包含TesterHome
        cy.screenshot()
    })
})

Cypress应用程序中,Cypress同步刷新目录,检测到新的改动马上运行。

可通过cypress run --browser chrome执行用例,或者cypress应用程序中,选中要执行的用例运行。

Cypress入门简单,且运行快,同时提供自动生成选取dom的语句,很方便。如下:

 

六 mocha

执行命令:

cnpm install mocha

验证npm和mocha的安装是否成功,执行命令如下图命令:

 test/test.js

var assert = require('assert');
describe('Array', function() {
  describe('#indexOf()', function() {
    it('should return -1 when the value is not present', function() {
      assert.equal(-1, [1,2,3].indexOf(4));
    });
  });
});

验证mocha是否安装成功,创建一个文件夹,例如test,然后进入该文件夹,创建文件test.js,由于之前把mocha路径设置在系统环境变量中,可以直接使用mocha test来运行文件。

还有另一种运行建立的测试用例。在test文件的外部建立一个文件:package.json,在文件中添加:

{
    { 
         "test":"mocha" 
     }
}

保存文件,执行命令:npm test,运行结果如下:

阮一峰 的博客 挺好的 点击链接在下面

 

转载地址:

https://blog.csdn.net/qq_30100043/article/details/78598520  npm的安装

https://www.jianshu.com/p/a6d430a00242 搭建nodejs项目

https://blog.csdn.net/qq_42813491/article/details/102845369 jest

https://github.com/facebook/jest/issues/10347  jest

https://cloud.tencent.com/developer/article/1006000  puppeteer

https://www.cnblogs.com/zhidong123/p/13345990.html  puppeteer

https://blog.csdn.net/angl129/article/details/90696251 Cypress

https://blog.csdn.net/henni_719/article/details/54377375 mocha

http://www.ruanyifeng.com/blog/2015/12/a-mocha-tutorial-of-examples.html mocha 阮一峰 关于mocha的测试案例的使用,讲的很好

https://www.ruanyifeng.com/blog/2015/03/react.html react 阮一峰 关于react博客讲的很好

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/tanghuan0827/article/details/111308313

智能推荐

计算机的外围设备简介_计算机外围固定-程序员宅基地

文章浏览阅读6.1k次,点赞3次,收藏5次。外围设备介绍计算机的外围设备(简称外设)虽然很多,但按功能分大类只有四类:输入、输出、存储、网络通讯。有些专业计算机需要的外围设备也不尽相同,并不都需要这四类外围设备。外围设备可以按需要组装,有些专业计算机甚至可以将存储设备和主芯片集成到一片芯片上,从而不再需要外加存储设备。最早的计算机(那时还只能称为计算器,只能做简单运算,如ABC机和ENIAC机)输入只是一些拨码开关,只能输入数字(还得是二进_计算机外围固定

java 图片中加文字_java怎么在图片上加文字-程序员宅基地

文章浏览阅读1.5k次。java 图片中加文字_java怎么在图片上加文字

GBase8cGDCA认证模拟题题库(三)_如果需要打开delete语句的审计功能,需要开启下面哪个参数-程序员宅基地

文章浏览阅读720次,点赞20次,收藏6次。B 选项,在创建模式时,可以不指定模式名。C 选项,兼容模式可选值为 AB、C、PG.安装GBase 8c分布式集群时所需的配置文件gbase.yml,在解压GBase8cV5 S3.0.0BXX CentOS x86 64.tar.bz2压缩包生成的目录中得到。真值的有效文本值是: TRUE、t、"true'、y、yes'、"1'TRUE'、true、整数范围内1~2^63-1、整数范围内-1~-2^63。GBase 8c 使用create table 创建表时,不指定参数,默认是astore,行存表。_如果需要打开delete语句的审计功能,需要开启下面哪个参数

xml文件中几个名词_xml文件里面的名词-程序员宅基地

文章浏览阅读334次。1 xmlns是XML Namespaces的缩写,中文名称是XML(标准通用标记语言的子集)命名空间。 web-app是web.xml的根节点标签名称 version是版本的意思 xmlns是web.xml文件用到的命名空间 xmlns:xsi是指web.xml遵守xml规范 xsi:schemaLocation是指具体用到的schema资源_xml文件里面的名词

【OpenGL】中点圆、椭圆生成算法_用setpixel函数中点画圆算法代码c++-程序员宅基地

文章浏览阅读1.6w次,点赞12次,收藏69次。OpenGL 中点圆、椭圆生成算法_用setpixel函数中点画圆算法代码c++

HTML-CSS实现背景图片出现不同的位置_css背景图高度占据一半另一半有别的背景色-程序员宅基地

文章浏览阅读2.1k次。首先在HTML中写入div,命名为img,在这个div中加入一个span标签并命名为img-bg和img50(5星为50).<div class="img"> <span class="img-bg img50"></span> <span class="img-bg img45"></span> <span class="img-bg img40"></span> </div> 在css代码._css背景图高度占据一半另一半有别的背景色

随便推点

matlab建模DNA双链,PPT绘制科研图形—DNA双链、分子细胞模型-程序员宅基地

文章浏览阅读1.3k次。原标题:PPT绘制科研图形—DNA双链、分子细胞模型 PPT绘制DNA双链 1用矩形工具画一个矩形如下,线条颜色设置为无,填充色如下图蓝色 2选中矩形框,选择菜单栏的“格式—— 编辑形状——转换为任意多边形” 3这个时候再看下“编辑形状”,可以看到“编辑顶点” 已经为可用状态 4点击“编辑顶点“,矩形框四个角变为黑色实点。可以拖动实点变为如下图示。然后在边缘上右键,选择”添加顶点“,添加如下顶点 ..._matlab双螺旋结构模型图怎么画

duilib vs2015 安装_DuiLib(1)——简单的win32窗口-程序员宅基地

文章浏览阅读169次。资源下载https://yunpan.cn/cqF6icWRN5CTc 访问密码 92e3 注:DUILIB库.7z 是vs2015下编译好的动态库及静态库,如上图所示一、新建一个win32工程项目设置中选择:debug,常规中:全程无优化-全程无优化,多线程调试 (/MTd);我的项目选择的是静态编译,使用的是静态库,就不需要带duilib.dll文件了代码如下:#include #inclu..._vs2015使用duilib

OpenGL: 渲染管线理论详解_通过此次实验你对固定渲染管线的opengl编程有什么了解。-程序员宅基地

文章浏览阅读5k次,点赞4次,收藏13次。学习着色器,并理解着色器的工作机制,就要对OpenGL的固定功能管线有深入的了解。首先要知道几个OpenGL的术语:渲染(rendering):计算机根据模型(model)创建图像的过程。模型(model):根据几何图元创建的物体(object)。几何图元:包括点、直线和多边形等,它是通过顶点(vertex)指定的。 最终完成了渲染的图像是由在屏幕上绘制的像素组成的。在内存中,和像素有关的信息(如像素的颜色)组织成位平面的形式,位平面是一块内存区域,保存了屏幕上每个像素的一个位的信息。_通过此次实验你对固定渲染管线的opengl编程有什么了解。

Android MPAndroidChart:动态添加统计数据线【8】_android 动态统计-程序员宅基地

文章浏览阅读3.9k次。Android MPAndroidChart:动态添加统计数据线【8】本文在附录相关文章6的基础上,动态的依次增加若干条统计折线(相当于批量增加数据点)。布局文件:

vmware中的linux虚拟机如何增加磁盘容量_linux虚拟机磁盘空间不足-程序员宅基地

文章浏览阅读6.3k次。vmware中 centos的磁盘大小 20G->30G现象:fdisk -l可以看到增大后的磁盘总量,但是需要增加分区并格式化然后挂载才能使用.一、vmware中的设置先关闭虚拟机vm->settings->hard disk->utilities->expand->输入大小(增加后的大小)二、启动虚拟机,进入命令行1、 fdisk /dev/sda进入命令行Comman_linux虚拟机磁盘空间不足

Hadoop2.7.3下Mysql8.0下Hive2.3.8的安装_hive2.3.8安装-程序员宅基地

文章浏览阅读927次。hive安装前提:1.基于hadoop2.7的完全分布式集群搭建完成hadoop2.7集群搭建2.MySQL8.0安装完成 安装centos7上MySQL8.0Hive2.3.8的安装下载链接:https://mirrors.tuna.tsinghua.edu.cn/apache/下滑找到hive点击进去点击hive2.3.9(hive2.3.9和hive2.3.8差别不大)下载画红线的也就是bin.tar.gz后缀的hive解压安装下载完成后通过xftp传到虚拟机上(基操不在赘述)_hive2.3.8安装

推荐文章

热门文章

相关标签