如何调试cypress脚本?

简介: 如何调试cypress脚本?

大家好,我是阿萨。昨天我们学习了Cypress默认文件结构。了解了一个cypress 自动化测试项目主要的文件结构,知道了什么内容应该放到什么位置了。也学会了写第一条测试脚本。但是实际的测试过程中,经常会写脚本的时候无法一次完成脚本。写脚本很简单,但是调试脚本让其达到自己的想要的效果,也非常重要,它比我们怎么写脚本更重要。类似我们会用工具很重要,但是工具没有按照我们期待的方式工作时,会调试工具,让其为我们服务才是更关键的本领。今天就给大家讲解下如何调试我们的脚本。今天主要给大家讲解2个关键字 pause 和debug.


一.pause


还是使用我们之前的login 页面。如果脚本老是失败,我们想看下提交之前用户名和密码都输入了吗,怎么办?先添加下pause

 describe('Login', function(){
const username='Sarah'
const password ='changeme_123'
    context('Test HTML Login Form',function(){
        it('Login success',function(){
            cy.visit('http://localhost:7077/login')
            cy.get('input[name=username]').type(username)
            cy.get('input[name=password]').type(password)
//pause
            cy.pause()
            cy.get('form').submit()
            cy.url().should('include','/dashboard')
            cy.get('h1').should('contain',username)
        })
    })
})    context('Test HTML Login Form',function(){        it('Login success',function(){            cy.visit('http://localhost:7077/login')            cy.get('input[name=username]').type(username)            cy.get('input[name=password]').type(password)//pause            cy.pause()            cy.get('form').submit()            cy.url().should('include','/dashboard')            cy.get('h1').should('contain',username)        })    })})

然后运行下Runner. 右上角上显示 Resume 和Next

image.png

Resume就是 执行完后续的所有脚本。

Next 类似单步调试,一步一步地去执行所有脚本。可以单独调用pause。

cy.pause()

也可以命令行后面调用。

cy.get('form').pause().submit()


二. debug


我们还是拿之前的login的脚本来看。比如我们写的脚本,想要打印login 信息。

 describe('Login', function(){
    const username='Sarah'
    const password ='changeme_123'
     context('Test HTML Login Form',function(){
        it('Login success',function(){
            cy.visit('http://localhost:7077/login')
            cy.get('input[name=username]').type(username)
            cy.get('input[name=password]').type(password)
            //debug
            cy.debug()
            cy.get('form').submit()
             cy.url().should('include','/dashboard')
            cy.get('h1').should('contain',username)
        })
     })
})

打开console,可以看到下方有debug Info

image.png

运行前打开 Console ,可以直接debug 我们的程序。

image.png

可以单独调用

cy.debug()

也可以在某一个命令之后写。

cy.get('a').debug().should('have.attr', 'href')

昨天的思考题答案:

  1. 在Support 文件夹里
  2. 在Fixture 的json 文件里。

今天的思考题:

  1. 单步执行脚本该怎么操作?
  2. 调试脚本该如何操作?

你学会了吗?如果觉得阿萨的内容对你有帮助,欢迎围观点赞。


相关文章
|
7月前
|
测试技术
如何用命令行执行cypress?
如何用命令行执行cypress?
121 0
|
测试技术 C++ Python
【pytest】pytest的几种运行方式,尤其最后一种调试很方便
【pytest】pytest的几种运行方式,尤其最后一种调试很方便
|
资源调度
Cypress 本身启动过程的调试(1)
Cypress 本身启动过程的调试
|
JSON 测试技术 数据安全/隐私保护
如何调试cypress脚本?
大家好,我是阿萨。昨天我们学习了[Cypress默认文件结构]了解了一个cypress 自动化测试项目主要的文件结构,知道了什么内容应该放到什么位置了。也学会了写第一条测试脚本。但是实际的测试过程中,经常会写脚本的时候无法一次完成脚本。写脚本很简单,但是调试脚本让其达到自己的想要的效果,也非常重要,它比我们怎么写脚本更重要。类似我们会用工具很重要,但是工具没有按照我们期待的方式工作时,会调试工具,让其为我们服务才是更关键的本领。今天就给大家讲解下如何调试我们的脚本。
210 0
如何调试cypress脚本?
|
测试技术
如何在命令行里运行cypress的用例
大家好,我是阿萨。 昨天我们学习了[cypress 和allure 集成生成测试报告]。完整的自动化框架基本内容就学习完了。如果想要学习这个框架更熟练,就必须日常工作多多练习,只有多多练习才能更熟练的掌握这个框架。
309 0
如何在命令行里运行cypress的用例
|
JavaScript 前端开发 Ubuntu
【cypress】2. 安装Cypress(windows系统),以及cypress open报错解决。
【cypress】2. 安装Cypress(windows系统),以及cypress open报错解决。
【cypress】2. 安装Cypress(windows系统),以及cypress open报错解决。
|
Web App开发 资源调度 测试技术
Cypress系列(44)- 命令行运行 Cypress
Cypress系列(44)- 命令行运行 Cypress
683 0
Cypress系列(44)- 命令行运行 Cypress
|
XML JSON 资源调度
Cypress系列(41)- Cypress 的测试报告
Cypress系列(41)- Cypress 的测试报告
564 0
Cypress系列(41)- Cypress 的测试报告
Cypress系列(83)- Cypress API 命令大全
Cypress系列(83)- Cypress API 命令大全
119 0