如果想從頭學起Cypress,可以看下面的系列文章哦
https://www.cnblogs.com/poloyy/category/1768839.html
作用
訪問遠程 URL
語法格式
cy.visit(url)
cy.visit(url, options)
cy.visit(options)
參數講解
url
兩種值
- 需要直接訪問的 URL,可以是一個完整的 URL,比如:https://www.cnblogs.com/poloyy/
- 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 對象