自動化測試,讓你上班擁有一杯咖啡的時間 | Day 6 — 使用 Custom Commands

史卯郁
Sep 20, 2021

--

此系列文章會同步發文到13th鐵人賽,有興趣的讀者可以前往觀看喔。

你有沒有遇到這種狀況,在網站上幾乎都需要先登入,才能操作功能,因此測試腳本需要寫重複的登入程式碼。

這時可以把登入當作公共方法,寫在 command.js,就能減少重複的程式碼了。

custom commands 介紹

custom command 可以自定義 commands 或是 覆寫現有的 commands。

語法:

Cypress.Commands.add(name, callbackFn)
Cypress.Commands.add(name, options, callbackFn)
Cypress.Commands.overwrite(name, callbackFn)

自定義 commands

  1. 在執行腳本前,會先跑 cypress/support/commands.js 檔案,因此可以在這裡寫登入的腳本。

2. 到測試腳本寫上 cy.login

3. 執行腳本後,可以看到登入成功,但在 log 上會看到密碼。

覆寫 custom commands:

當用 cy.type() 時,執行腳本會將輸入的內容顯示出來,但當輸入的內容有機密如密碼時,可以覆寫 cy.type 的方法。

  1. 以登入為例,在 cypress/support/command.js 加上
cy.get('#account').type("account"); //輸入帳號      cy.get('#password').type('secret1234567890', { sensitive: true }); //輸入密碼

2. 執行腳本後,在 log 上這時輸入的密碼會用********呈現。

參考資料

--

--

No responses yet