调试 Cypress的测试代码和被测试程序在同一生命周期中的浏览器中,也就是意味着,可以使用浏览器的开发者工具直接参与调试。Cypress提供了几种调试方法,分别为:debugger、debug、pause和开发者工具 1 使用debugger 我们先来看看一份代码: - <font size="3">describe('验证测试Debugger', () => {
- it('测试debugger调试', () => {
- cy.visit("http://www.baidu.com/")
- cy.get("#kw")
- debugger // 这里的调试不会运行
- });
- });
- </font>
复制代码以上代码并没有满足你的期望,因为Cypress的命令是异步执行,所以并不会立即执行。针对这种情况,我们只需要将debugger命令和放入then命令中就可以了。示例代码如下所示: - <font size="3">/// <reference types="cypress" />
- describe('验证测试Debugger', () => {
- it('测试debugger调试', () => {
- cy.visit("https://www.baidu.com/")
- cy.get("#kw").type("Surpass").then((item)=>{
- debugger // 这里的调试会运行
- })
- });
- });
- </font>
复制代码运行结果如下所示: 在运行测试脚本时,需要打开开发者工具窗口,否则遇到dubugger时不会暂停 2 使用debug 除了使用dubugger之外,Cypress还提供另一个调试方法debug。示例代码如下所示: - <font size="3">/// <reference types="cypress" />
- describe('验证测试Debugger', () => {
- it('测试debugger调试', () => {
- cy.visit("https://www.baidu.com/")
- cy.get("#kw").type("Surpass").debug();
- });
- });
- </font>
复制代码运行结果如下所示: 3 使用pause 使用pause可以实现逐步执行命令,示例代码如下所示: - <font size="3">/// <reference types="cypress" />
- describe('验证测试Debugger', () => {
- it('测试debugger调试', () => {
- cy.visit("https://www.baidu.com/")
- cy.get("#kw").type("Surpass").pause();
- });
- });
- </font>
复制代码运行结果如下所示: 4 使用开发者工具 在调试的过程,我们也可以借助开发者工具选项,通过控制台输入一些命令,来达到调试的效果,如下所示: 也可以直接在Console直接输入相应的Cypress命令
|