一篇超详细的vue项目前端自动化测试教学!(三)

简介: 一篇超详细的vue项目前端自动化测试教学!

这时我们如果想让他通过的话就得改代码了,让其正确了才能提交,这样才是安全可靠的一份代码。


修改操作:

1.注释掉tests目录下e2e中的test.js,e2e我们后面讲

6f6a0a647d1b4908ab4ea04a0e78aedd.png

2.example.spec.js中的3修改为’12’

3.zhifeiji.spec.js的aftermounted1恢复为aftermounted


经过这三步操作,我们就算是解决了测试的报错,然后commit:

4720b78e577146ff8700792a7ab7875c.png

代码提交成功!

E2E测试

e2e针对应用,站在测试人员的角度,没有什么mount 加载,只有按钮 页面,输入框,文本等

借⽤浏览器器的能力,站在⽤户测试⼈员的角度,输⼊框,点击按钮等,完全模拟用户,这个和具体的框架关系不大,完全模拟浏览器行为

将views下的Home组件的:

<HelloWorld msg="Welcome to Your Vue.js App"></HelloWorld>

相关代码恢复。

看看tests目录下e2e目录下的spec下的test.js,有这么一段:

// https://docs.cypress.io/api/introduction/api.html
describe('My First Test', () => {
  it('Visits the app root url', () => {
    // cy.visit('/')
    // cy.contains('h1', 'Welcome to Your Vue.js App')
  })
})

将cy注释的那块恢复。

describe('My First Test', () => {
  it('Visits the app root url', () => {
    cy.visit('/')
    cy.contains('h1', 'Welcome to Your Vue.js App')
  })
})

这是测试代码,如果我们不做前面的恢复操作的话,测试肯定是不通过的

执行npm run test:e2e,进行测试

项目会启动,并且会弹出一个有ok的弹窗,我们直接确定,还会有测试文件的js,选择对应的测试文件点进去:

0cc2f65830754cd9a0e974943ae9ae15.png

这样代表测试通过了!

再来测试一个about页:

// https://docs.cypress.io/api/introduction/api.html
describe('My First Test', () => {
  it('Visits the app root url', () => {
    cy.visit('/')
    cy.contains('h1', 'Welcome to Your Vue.js App')
  })
  it('测试about页', () => {
    //访问about
    cy.visit('about')
    cy.contains('h1', 'This is an about page')
  })
})

acb045018c0745a6adea62cd38d84376.png

Tip:about页面测试不通过的,请将路由模式改为history或者将测试文件test.js中的cy.visit(‘about’)改为cy.visit(’#/about’)


后测的about,就最后打开了about页,也停留在了about页面


这些都是页面某个元素的文本的测试,那么我们再来个交互试试,在我们的zhifeiji组件上有个点击事件,我们来试试:

describe('My First Test', () => {
  it('Visits the app root url', () => {
    cy.visit('/')
    cy.contains('h1', 'Welcome to Your Vue.js App')
  })
  it('测试about页', () => {
    //访问about
    cy.visit('#/about')
    cy.contains('h1', 'This is an about page')
  })
  it('zhifeiji组件',() => {
    //访问根目录
    cy.visit('/')
    cy.contains('#msg','aftermounted')
    cy.get('button').click()//点击button元素
    cy.contains('#msg','click over')
  })
})

15dc0bca9e9144e58843f9c8b8e93a29.png

左边那一条条可以点击,点击不同的项,也会进入不同的事件状态,例如我点了CONTAINS,文本变成了click over。


题外话:测试页面前后差异,或者两个页面的差异可以用page-monitor;地址:https://github.com/fouber/page-monitor


好了,今天的前端自动化测试就讲到这里。



目录
相关文章
|
7月前
|
前端开发 测试技术 API
测试金字塔:别再只盯着UI自动化了
测试金字塔:别再只盯着UI自动化了
692 116
|
7月前
|
敏捷开发 测试技术 API
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
576 116
|
7月前
|
设计模式 前端开发 测试技术
告别脆弱:构建稳定UI自动化测试的3个核心策略
告别脆弱:构建稳定UI自动化测试的3个核心策略
753 113
|
7月前
|
人工智能 自然语言处理 测试技术
从人工到AI驱动:天猫测试全流程自动化变革实践
天猫技术质量团队探索AI在测试全流程的落地应用,覆盖需求解析、用例生成、数据构造、执行验证等核心环节。通过AI+自然语言驱动,实现测试自动化、可溯化与可管理化,在用例生成、数据构造和执行校验中显著提效,推动测试体系从人工迈向AI全流程自动化,提升效率40%以上,用例覆盖超70%,并构建行业级知识资产沉淀平台。
从人工到AI驱动:天猫测试全流程自动化变革实践
|
7月前
|
人工智能 自然语言处理 JavaScript
利用MCP Server革新软件测试:更智能、更高效的自动化
MCP Server革新软件测试:通过标准化协议让AI实时感知页面结构,实现自然语言驱动、自适应维护的自动化测试,大幅提升效率,降低脚本开发与维护成本,推动测试左移与持续测试落地。
|
8月前
|
存储 关系型数据库 测试技术
玩转n8n测试自动化:核心节点详解与测试实战指南
n8n中节点是自动化测试的核心,涵盖触发器、数据操作、逻辑控制和工具节点。通过组合节点,测试工程师可构建高效、智能的测试流程,提升测试自动化能力。
|
7月前
|
测试技术 API 数据库
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
613 114
|
8月前
|
人工智能 测试技术 项目管理
测试不再碎片化:AI智能体平台「项目资料套件」功能上线!
在实际项目中,需求文档分散、整理费时、测试遗漏等问题常困扰测试工作。霍格沃兹推出AI智能体测试平台全新功能——项目资料套件,可将多个关联文档打包管理,并一键生成测试用例,提升测试完整性与效率。支持套件创建、文档关联、编辑删除及用例生成,适用于复杂项目、版本迭代等场景,助力实现智能化测试协作,让测试更高效、更专业。
|
9月前
|
存储 人工智能 算法
AI测试平台实战:深入解析自动化评分和多模型对比评测
在AI技术迅猛发展的今天,测试工程师面临着如何高效评估大模型性能的全新挑战。本文将深入探讨AI测试平台中自动化评分与多模型对比评测的关键技术与实践方法,为测试工程师提供可落地的解决方案。