天天看點

Cypress web自動化18-cypress.json檔案配置baseUrl

前言

當我們測試一個web網站的時候,一般最好設定一個baseUrl位址,這樣友善維護。

一旦部署環境發生了改變,就不需要去基本裡面去查找,秩序更改cypress.json檔案即可

cypress.json檔案

如果我的web服務部署環境是 ​

​http://49.235.x.x:8080​

​ 于是在項目的根目錄找到cypress.json檔案

{
  "baseUrl": "http://49.235.x.x:8080"
}      
Cypress web自動化18-cypress.json檔案配置baseUrl

設定視窗大小

也可以設定浏覽器的預設寬和高,如果沒設定果,浏覽器預設的寬高是 660*1000

Cypress web自動化18-cypress.json檔案配置baseUrl

可以在 cypress.json 檔案中改變這個值

{
  "baseUrl": "http://49.235.x.x:8080",
  "viewportWidth": 1280,
  "viewportHeight": 600
}      

後面測試用例如果需要指定特定大小視窗,也可以用cy.viewport()指令去設定

參考前面這篇​​https://blog.51cto.com/u_15249893/2852019​​​

Cypress web自動化18-cypress.json檔案配置baseUrl

查找測試檔案

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

Cypress web自動化18-cypress.json檔案配置baseUrl

繼續閱讀