前言
當我們測試一個web網站的時候,一般最好設定一個baseUrl位址,這樣友善維護。
一旦部署環境發生了改變,就不需要去基本裡面去查找,秩序更改cypress.json檔案即可
cypress.json檔案
如果我的web服務部署環境是
http://49.235.x.x:8080
于是在項目的根目錄找到cypress.json檔案 {
"baseUrl": "http://49.235.x.x:8080"
}
設定視窗大小
也可以設定浏覽器的預設寬和高,如果沒設定果,浏覽器預設的寬高是 660*1000
可以在 cypress.json 檔案中改變這個值
{
"baseUrl": "http://49.235.x.x:8080",
"viewportWidth": 1280,
"viewportHeight": 600
}
後面測試用例如果需要指定特定大小視窗,也可以用cy.viewport()指令去設定
參考前面這篇https://blog.51cto.com/u_15249893/2852019
查找測試檔案
cypress 預設查找 cypress/integration 下的 js 檔案測試用例,查找項目目錄也可以自己定義,測試檔案比對規則也可以修改
{
"baseUrl": "http://49.235.x.x:8080",
"viewportWidth": 1280,
"viewportHeight": 600,
"integrationFolder": "cypress/integration",
"testFiles": "**/*.spec.js"
}
如果testFiles 設定比對規則
**/*.spec.js
,這樣就隻能比對到 cypress/integration 目錄下的 .spec.js 字尾的檔案了
跨域問題
解決chrome 下的跨域問題:在 cypress.json 中添加:
"chromeWebSecurity": false
添加上面的配置,可以解決點a标簽跨域的問題
或者點submit後重定向到另外一個跨域連結,也可以解決。
但是還是無法一個用例裡面通路兩個不同域名網址
describe('跨域問題', function() {
it("test case:跨域 ", ()=>{
cy.visit('https://www.baidu.com/');
cy.visit("https://www.cnblogs.com/yoyoketang/")
})
})
這段運作會報錯,如果你要通路2個不同域名網址,建議使用2個it用例分開。
檢視配置
打開 cypress 視窗,setting>Configuration