1. 程式人生 > 實用技巧 >Cypress系列(51)- its() 命令詳解

Cypress系列(51)- its() 命令詳解

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

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

作用

獲取上一條命令結果的屬性值

語法格式

.its(propertyName)
.its(propertyName, options)

引數說明

propertyName:索引、屬性名、要獲取的巢狀屬性名稱

options:log、timeout

命令返回結果

屬性值

正確寫法

cy.wrap({ width: '50' }).its('width') // 獲取寬度屬性
cy.window().its('sessionStorage')     //
獲取 sessionStorage 屬性

錯誤寫法

cy.its('window')                // 不能連結在 cy 後面
cy.clearCookies().its('length') // clearCookies 並不返回物件

各種栗子

獲取字典物件的屬性值

cy.wrap({age: 52}).its('age').should('eq', 52) // true

陣列物件,根據索引取值

cy.wrap(['polo', 'yy']).its(1).should('eq', 'yy')

獲取元素的屬性值

cy
.get(
'ul li') .its('length') .should(
'be.gt',4)

獲取字串物件的屬性值

cy
.url()
.its('length')
.should('be.gt', 20)

屬性值是函式

const fn = () => {
      return 42
}

cy.wrap({getNum: fn}).its('getNum').should('be.a', 'function')

返回的是函式物件本身,而不是 return 的值

獲取巢狀屬性值

const user = {
  contacts: {
    work: {
      name: 'Kamil'
    }
  }
}

cy.wrap(user).its(
'contacts.work.name').should('eq', 'Kamil') // true