• 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


  • 相关阅读:
    DataTable.AcceptChanges方法有何用处
    ItemArray DataRow对象的RowState和DataRowVersion属性特点
    C#中MessageBox用法大全(附效果图)
    tp5数据库操作 模型层
    07-11 Linux命令操作
    Thinkphp模板标签if和eq的区别和比较
    TP3.2单字母函数
    0629-TP整理四(create(),success(),error(),U())
    0627-TP整理三(对表的操作,数据的显示)
    0626-TP整理二(调试模式,空操作,跨控制器调用,跨方法跳转--redirect(),框架语法,创建model模型)
  • 原文地址:https://www.cnblogs.com/pangdaxingyyy/p/10967767.html
Copyright © 2020-2023  润新知