12 除錯
? ? Cypress的測驗代碼和被測驗程式在同一生命周期中的瀏覽器中,也就是意味著,可以使用瀏覽器的開發者工具直接參與除錯,Cypress提供了幾種除錯方法,分別為:debugger、debug、pause和開發者工具
12.1 使用debugger
? ? 我們先來看看一份代碼:
describe('驗證測驗Debugger', () => {
it('測驗debugger除錯', () => {
cy.visit("http://www.baidu.com/")
cy.get("#kw")
debugger // 這里的除錯不會運行
});
});
? ? 以上代碼并沒有滿足你的期望,因為Cypress的命令是異步執行,所以并不會立即執行,針對這種情況,我們只需要將debugger命令和放入then命令中就可以了,示例代碼如下所示:
/// <reference types="cypress" />
describe('驗證測驗Debugger', () => {
it('測驗debugger除錯', () => {
cy.visit("https://www.baidu.com/")
cy.get("#kw").type("Surpass").then((item)=>{
debugger // 這里的除錯會運行
})
});
});
? ? 運行結果如下所示:

在運行測驗腳本時,需要打開開發者工具視窗,否則遇到dubugger時不會暫停
12.2 使用debug
? ? 除了使用dubugger之外,Cypress還提供另一個除錯方法debug,示例代碼如下所示:
/// <reference types="cypress" />
describe('驗證測驗Debugger', () => {
it('測驗debugger除錯', () => {
cy.visit("https://www.baidu.com/")
cy.get("#kw").type("Surpass").debug();
});
});
? ? 運行結果如下所示:

12.3 使用pause
? ? 使用pause可以實作逐步執行命令,示例代碼如下所示:
/// <reference types="cypress" />
describe('驗證測驗Debugger', () => {
it('測驗debugger除錯', () => {
cy.visit("https://www.baidu.com/")
cy.get("#kw").type("Surpass").pause();
});
});
? ? 運行結果如下所示:

12.4 使用開發者工具
? ? 在除錯的程序,我們也可以借助開發者工具選項,通過控制臺輸入一些命令,來達到除錯的效果,如下所示:

也可以直接在Console直接輸入相應的Cypress命令
原文地址:https://www.jianshu.com/p/6214b31404dd
本文同步在微信訂閱號上發布,如各位小伙伴們喜歡我的文章,也可以關注我的微信訂閱號:woaitest,或掃描下面的二維碼添加關注:

作者: Surpassme
來源: http://www.jianshu.com/u/28161b7c9995/
http://www.cnblogs.com/surpassme/
宣告:本文著作權歸作者所有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出 原文鏈接 ,否則保留追究法律責任的權利,如有問題,可發送郵件 聯系,讓我們尊重原創者著作權,共同營造良好的IT朋友圈,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/510722.html
標籤:其他
