Cypress系列(42)- visit() 命令詳解


如果想從頭學起Cypress,可以看下面的系列文章哦

https://www.cnblogs.com/poloyy/category/1768839.html

 

作用

訪問遠程 URL

 

語法格式

cy.visit(url)
cy.visit(url, options)
cy.visit(options)

 

參數講解

url

兩種值

  1. 需要直接訪問的 URL,可以是一個完整的 URL,比如:https://www.cnblogs.com/poloyy/
  2. html 文件的相對路徑,路徑是相對於 Cypress 的安裝目錄,不需要 file:// 前綴

 

Cypress 關於 url 的最佳實踐

  • 建議在使用 cy.visit() 時,在  cypress.json 里設置一個baseUrl
  • baseUrl 相當於一個全局共享的 host,在使用 visit() 和 request() 等命令時自動將 baseUrl 傳遞進去
  • 優勢:首次啟動 Cypress 測試時,添加 baseUrl 還可以節省一些時間

 

不添加 baseUrl 的影響

一旦遇到 cy.visit() ,Cypress 便將主窗口的 URL 切換到訪問指定的 URL,首次開始測試時,可能會導致刷新或重新加載

 

添加 baseUrl 的優勢

  • 通過設置 baseUrl,可以完全避免重新加載
  • 測試開始后,Cypress 會將主窗口加載到您指定的 baseUrl 中

 

添加 baseUrl

 

baseUrl 未運行

如果在 cypress 打開期間,指定了 baseUrl ,但服務器未運行,則會看到錯誤

 

如果在 cypress 運行期間幾次重試后,服務器未在指定的 baseUrl 上運行,也會顯示錯誤 

 

其他參數 options

參數

默認

作用

method

GET

請求方法,GET或POST

body

null

l 與POST請求一起發送的數據體

l 如果是字符串,則將其原封不動地傳遞

l 如果是一個對象,它將被URL編碼為字符串,並加上Content-Type:application / x-www-urlencoded

headers

{}

請求頭

qs

null

Url的請求參數

log

true

是否打印日志

auth

null

添加基本授權標頭

failOnStatusCode

true

是否在2xx和3xx以外的響應代碼上標識為失敗

onBeforeLoad

function

在頁面加載所有資源之前調用指定的方法

onLoad

function

頁面觸發加載事件后調用

retryOnStatusCodeFailure

false

當狀態碼是錯誤碼時,Cypress是否自動重試,最多重試4次

retryOnNetworkFailure

true

當網絡錯誤時,Cypress是否自動重試,最多重試4次

timeout

pageLoadTimeout

最長等待 .visit() 完成的時間

 

正確寫法

// 在新的窗口打開 URL
cy.visit('http://localhost:3000')  
cy.visit('./pages/hello.html')

 

具體的栗子

直接訪問

 

加上 timeout 參數

 

加上 auth

 

加上 onBeforeLoad

 

加上 onLoad

 

加上 qs

 

加上 method 和 body

 

使用 window 對象

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM