Cypress

Cypress

技术雷达 2018 底推的工具:https://www.thoughtworks.com/cn/radar

What:

    前端网络,cypress是在mocha式API基础上构建的一套开箱可用的E2E(端到端即黑盒测试)测试框架,对比其他测试框架,它提供一套自己的最佳实践方案,无需其他测试工具库,配置方便简单但功能异常强大,可以使用webpack项目配置,还提供了一个强大的GUI图形工具。入门简单,上手方便,怎么舒服怎么来呀

cypressGUI方式的测试使用真实浏览器,非GUI方式使用chrome-headless,不是用模拟方式进行测试,更真实的展现实际环境中的测试过程和结果。

完整的端到端测试体验。

Why:

    带GUI工具,想测啥就点啥,还可以查看整个测试过程,想录屏还可以录屏哟

测试的每一步都有snapshot,可以通过GUI工具查看每个过程的页面状态,不是截图而是真是的页面DOM环境哟!

自带数据mock和请求拦截机制,还原线上数据引起的bug别提有多轻松了

和wepbakc配置,实现无论修改测试文件还是被测试代码都可以自动重测

可以给测试用例加上only或者skip来避免重测测试文件里的所有用例: it.only('只测试这个哟); it.skip('不要测这个');

Build:

    先安装node,npm install cypress --save-dev,会安装在选定的路径下

Use:

    cmd 运行 node_modules.bincypress open npx cypress run 启动

建测试用例:

   新开cmd

     touch {your_project}/cypress/integration/sample_spec.js

    your_project :C:Usersyingqinyicypressintegrationexamples

  1. cypress.json 在cypress文件夹外

  2. Package.json 写cypress命令

    1. {“scripts”:{

      "cypress:run": "node_modules/.bin/cypress run",(运行cypress里的js)

      “cypress:open”:“node_modules/.bin/cypress open”(打开cypress)

      }
      }

    2. cmd :npm run cypress:open

      1. npx cypress run

  3. 运行单个spec文件


    1. npm run cy:run -- --record --spec "cypress/integration/my-spec.js"
  4. 编写:


    1. describe('test API',()=>{

      it('MTNY web',()=>{

      cy.visit('/')

      cy.

      })

      })

6.cypress reporter


1.运行cypress 在安装路径内运行
D:171Cypress-toolscypress 在Cypress-tools 路径下运行
2.获取projectId,key
1.运行 npx cypress open
2.打开 runs 获取projectId,key
3.复制projectId到cypress.json里
3.运行有reporter的项目
1.
运行cmd在cypress路径下:npx cypress run --record --key 1112fd2f-6e74-4bfe-bb69-2b994f3fa8a8
2.运行结束有网址   https://dashboard.cypress.io/#/projects/pfjcjn/runs/5


7.cypress-docker


1.系统安装docker
2.建本地images
git clone https://github.com/mtlynch/hello-world-cypress.git
cd hello-world-cypress
docker build --tag sentimentalyzer .
3.本地项目移植
将js,package.json,cypress.json移入e2e中
4.启动脚本
docker-compose up


原文地址:https://www.cnblogs.com/pangdaxingyyy/p/10967767.html