当前位置 博文首页 > davieyang:自动化测试框架[Cypress自定义测试报告详解]

    davieyang:自动化测试框架[Cypress自定义测试报告详解]

    作者:[db:作者] 时间:2021-06-03 08:51

    前提

    • 已经熟练掌握了Cypress的基本知识,请参考自动化测试框架[Cypress概述]和自动化测试框架[各自动化测试框架比较]
    • 已经熟练掌握Cypress环境配置,请参考自动化测试框架[Cypress环境搭建与配置详解]
      和自动化测试框架[Cypress测试实例凸显其优势]
    • 已经熟练掌握Cypress框架结构,请参考自动化测试框架[Cypress框架拆解]
      和自动化测试框架[Cypress重试机制]
    • 已经熟练掌握Cypress内置测试报告,请参考自动化测试框架[Cypress自定义测试报告详解]

    自定义测试报告

    Machawesome是与JavaScript测试框架Mocha一起使用的自定义报告,运行在Node.js8以上,并与mochawesome-report-generator结合使用从而生成独立的HTML/CSS报告

    安装Mocha和Mochawesome

    命令行执行npm install --save-dev@5.2.0npm install --save-dev mochawesome

    C:\Users\Administrator>npm install --save-dev mocha@5.2.0
    npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
    npm WARN saveError ENOENT: no such file or directory, open 'C:\Users\Administrator\package.json'
    npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\Administrator\package.json'
    npm WARN Administrator No description
    npm WARN Administrator No repository field.
    npm WARN Administrator No README data
    npm WARN Administrator No license field.
    
    + mocha@5.2.0
    added 13 packages from 435 contributors and audited 380 packages in 7.501s
    
    12 packages are looking for funding
      run `npm fund` for details
    
    found 5 low severity vulnerabilities
      run `npm audit fix` to fix them, or `npm audit` for details
    
    C:\Users\Administrator>npm install --save-dev mochawesome
    npm WARN saveError ENOENT: no such file or directory, open 'C:\Users\Administrator\package.json'
    npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\Administrator\package.json'
    npm WARN mochawesome@6.2.1 requires a peer of mocha@>=7 but none is installed. You must install peer dependencies yourself.
    npm WARN Administrator No description
    npm WARN Administrator No repository field.
    npm WARN Administrator No README data
    npm WARN Administrator No license field.
    
    + mochawesome@6.2.1
    added 61 packages from 29 contributors and audited 441 packages in 14.105s
    
    13 packages are looking for funding
      run `npm fund` for details
    
    found 5 low severity vulnerabilities
      run `npm audit fix` to fix them, or `npm audit` for details
    
    

    执行测试生成报告

    使用yarn执行测试生成mochawesome报告

    首先在cypress.json文件中有如下配置

    {
    
      "reporter": "junit",
      "reporterOptions": {
        "mochaFile": "results/test_report_[hash].xml", 
        "toConsole": true
      }
    }
    

    在命令函执行命令yarn cypress:run --reporter=mochawesome

    D:\Cypress>yarn cypress:run --reporter=mochawesome
    yarn run v1.22.10
    $ cypress run --reporter=mochawesome
    
    
    ====================================================================================================
    
      (Run Starting)
    
      ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
      │ Cypress:    6.2.0                                                                              │
      │ Browser:    Electron 87 (headless)                                                             │
      │ Specs:      1 found (examples\actions.spec.js)                                                 │
      └────────────────────────────────────────────────────────────────────────────────────────────────┘
    
    
    ────────────────────────────────────────────────────────────────────────────────────────────────────
    
      Running:  examples\actions.spec.js                                                        (1 of 1)
    
    
      Actions
        √ .type() - type into a DOM element (27538ms)
        √ .focus() - focus on a DOM element (20193ms)
        √ .blur() - blur off a DOM element (853ms)
        √ .clear() - clears an input or textarea element (1918ms)
        √ .submit() - submit a form (684ms)
        √ .click() - click on a DOM element (3405ms)
        √ .dblclick() - double click on a DOM element (946ms)
        √ .rightclick() - right click on a DOM element (472ms)
        √ .check() - check a checkbox or radio element (1618ms)
        √ .uncheck() - uncheck a checkbox element (1593ms)
        √ .select() - select an option in a <select> element (1304ms)
        √ .scrollIntoView() - scroll an element into view (1123ms)
        √ .trigger() - trigger an event on a DOM element (452ms)
        √ cy.scrollTo() - scroll the window or element to a position (2549ms)
    
    
      14 passing (1m)
    
    [mochawesome] Report JSON saved to D:\Cypress\mochawesome-report\mochawesome.json
    
    [mochawesome] Report HTML saved to D:\Cypress\mochawesome-report\mochawesome.html
    
    
      (Results)
    
      ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
      │ Tests:        14                                                                               │
      │ Passing:      14                                                                               │
      │ Failing:      0                                                                                │
      │ Pending:      0                                                                                │
      │ Skipped:      0                                                                                │
      │ Screenshots:  0                                                                                │
      │ Video:        true                                                                             │
      │ Duration:     1 minute, 8 seconds                                                              │
      │ Spec Ran:     examples\actions.spec.js                                                         │
      └────────────────────────────────────────────────────────────────────────────────────────────────┘
    
    
      (Video)
    
      -  Started processing:  Compressing to 32 CRF
        Compression progress:  63%
      -  Finished processing: D:\Cypress\cypress\videos\examples\actions.spec.js.mp4        (17 seconds)
    
    
    ====================================================================================================
    
      (Run Finished)
    
    
           Spec                                              Tests  Passing  Failing  Pending  Skipped
      ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
      │ √  examples\actions.spec.js                 01:08       14       14        -        -        - │
      └────────────────────────────────────────────────────────────────────────────────────────────────┘
        √  All specs passed!                        01:08       14       14        -        -        -
    
    Done in 106.32s.
    

    执行结果中已经打印出[mochawesome] Report JSON saved to D:\Cypress\mochawesome-report\mochawesome.json[mochawesome] Report HTML saved to D:\Cypress\mochawesome-report\mochawesome.html
    在这里插入图片描述

    使用Cypress执行测试生成mochawesome报告

    执行命令cypress run --reporter=mochawesome,结果如下

    
    C:\Users\Administrator\node_modules\.bin>cypress run --reporter=mochawesome
    
    
    ====================================================================================================
    
      (Run Starting)
    
      ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
      │ Cypress:    6.1.0                                                                              │
      │ Browser:    Electron 87 (headless)                                                             │
      │ Specs:      20 found (examples\actions.spec.js, examples\aliasing.spec.js, examples\assertions │
      │             .spec.js, examples\connectors.spec.js, examples\cookies.spec.js, examples\cypress_ │
      │             api.spec.js, examples\files.spec.js, examples\local_storage.spec.js, examples\loca │
      │             tion.spec.j...)                                                                    │
      └────────────────────────────────────────────────────────────────────────────────────────────────┘
    
    
    ────────────────────────────────────────────────────────────────────────────────────────────────────
    
      Running:  examples\actions.spec.js                                                       (1 of 20)
    
    
      Actions
        √ .type() - type into a DOM element (6374ms)
        √ .focus() - focus on a DOM element (920ms)
        √ .blur() - blur off a DOM element (706ms)
        √ .clear() - clears an input or textarea element (901ms)
        √ .submit() - submit a form (883ms)
        √ .click() - click on a DOM element (2353ms)
        √ .dblclick() - double click on a DOM element (628ms)
        √ .rightclick() - right click on a DOM element (747ms)
        √ .check() - check a checkbox or radio element (1422ms)
        √ .uncheck() - uncheck a checkbox element (1473ms)
        √ .select() - select an option in a <select> element (1144ms)
        √ .scrollIntoView() - scroll an element into view (565ms)
        √ .trigger() - trigger an event on a DOM element (513ms)
        √ cy.scrollTo() - scroll the window or element to a position (2511ms)
    
    
      14 passing (24s)
    
    [mochawesome] Report JSON saved to C:\Users\Administrator\node_modules\.bin\mochawesome-report\mochawesome.json
    
    [mochawesome] Report HTML saved to C:\Users\Administrator\node_modules\.bin\mochawesome-report\mochawesome.html
    
    
      (Results)
    
      ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
      │ Tests:        14                                                                               │
      │ Passing:      14                                                                               │
      │ Failing:      0                                                                                │
      │ Pending:      0                                                                                │
      │ Skipped:      0                                                                                │
      │ Screenshots:  0                                                                                │
      │ Video:        true                                                                             │
      │ Duration:     24 seconds                                                                       │
      │ Spec Ran:     examples\actions.spec.js                                                         │
      └────────────────────────────────────────────────────────────────────────────────────────────────┘
    
    
      (Video)
    
      -  Started processing:  Compressing to 32 CRF
      -  Finished processing: C:\Users\Administrator\node_modules\.bin\cypress\videos\exa    (5 seconds)
                              mples\actions.spec.js.mp4
    
    
    ────────────────────────────────────────────────────────────────────────────────────────────────────
    
      Running:  examples\aliasing.spec.js                                                      (2 of 20)
    
    
      Aliasing
        √ .as() - alias a DOM element for later use (1511ms)
        √ .as() - alias a route for later use (1827ms)
    
    
      2 passing (5s)
    
    [mochawesome] Report JSON saved to C:\Users\Administrator\node_modules\.bin\mochawesome-report\mochawesome.json
    
    [mochawesome] Report HTML saved to C:\Users\Administrator\node_modules\.bin\mochawesome-report\mochawesome.html
    
    
      (Results)
    
      ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
      │ Tests:        2                                                                                │
      │ Passing:      2                                                                                │
      │ Failing:      0                                                                                │
      │ Pending:      0                                                                                │
      │ Skipped:      0                                                                                │
      │ Screenshots:  0                                                                                │
      │ Video:        
    
    下一篇:没有了