cypress自用中文文檔(一)

Commands

  • should()同.and()喷市,創(chuàng)建一個斷言,斷言會自動重試直到它們通過或超時。

.and(chainers)
.and(chainers, value)
.and(chainers, method, value)
.and(callbackFn)

使用案例

cy.get('.err').should('be.empty').and('be.hidden') // Assert '.err' is empty & hidden
cy.contains('Login').and('be.visible')             // Assert el is visible
cy.wrap({ foo: 'bar' })
  .should('have.property', 'foo')                  // Assert 'foo' property exists
  .and('eq', 'bar')                                // Assert 'foo' property is 'bar'
  • as() 作用為分配別名以供以后使用崔兴,可在帶有@前綴的cy.get()或cy.wait()命令中引用別名五督。在匹配多個相同名稱的class和屬性中很好用藏否。

.as(aliasName)

使用方法

cy.get('.main-nav').find('li').first().as('firstNav') // Alias first 'li' as @firstNav
cy.route('PUT', 'users', 'fx:user').as('putUser')     // Alias that route as @putUser
cy.stub(api, 'onUnauth').as('unauth')                 // Alias that stub as @unauth
cy.spy(win, 'fetch').as('winFetch')                   // Alias that spy as @winFetch

案例

it('disables on click', () => {
  cy.get('button[type=submit]').as('submitBtn')
  cy.get('@submitBtn').click().should('be.disabled')
})

通過和cy.fixture()配合使用,可以使用this來訪問和獲取到別名

beforeEach(() => {
  cy.fixture('users-admins.json').as('admins')
})

it('the users fixture is bound to this.admins', function () {
  cy.log(`There are ${this.admins.length} administrators.`)
})

另外充包,可以通過fixture()和as()給所有的路由命名

cy.route(/company/, 'fixture:company').as('companyGet')
cy.route(/roles/, 'fixture:roles').as('rolesGet')
cy.route(/teams/, 'fixture:teams').as('teamsGet')
cy.route(/users\/\d+/, 'fixture:user').as('userGet')
cy.route('PUT', /^\/users\/\d+/, 'fixture:user').as('userPut')
  • blur()和focus(),這就跟js的blur類似副签,就是從一個焦點的focus出來時,多值輸入框基矮,光標(biāo)離開輸入框的時候

使用案例

cy.get('[type="email"]').type('me@email.com').blur() // Blur email input
cy.get('[tabindex="1"]').focus().blur()              // Blur el with tabindex
  • check(),在頁面中用于chekbox(es)多選和radio(s)單選

使用案例

cy.get('[type="checkbox"]').check()       // Check checkbox element
cy.get('[type="radio"]').first().check()  // Check first radio element
cy.get('form input').check(['subscribe', 'accept'])//指定value="subscribe"和value="accept"的選中
cy.get('[type="radio"]').check('US') //指定value="US的radio選中
  • children()獲取一組dom元素下所有的子元素

使用案例

cy.get('nav').children()     // Yield children of nav
cy.get('ul.secondary-nav').children()
cy.get('ul').children('.active')
cy.get('.left-nav>.nav').children().should('have.length', 8)
  • clear() 清除value的值淆储,用于inputtextarea

使用案例:

cy.get('[type="text"]').clear()        // Clear text input
cy.get('textarea').type('Hi!').clear() // Clear textarea
cy.focused().clear()                   // Clear focused input/textarea
cy.get('textarea').clear().type('Hello, World')
  • click()點擊一個dom元素

使用方法

.click()
.click(options)
.click(position)
.click(position, options)
.click(x, y)
.click(x, y, options)

使用案例

cy.get('.btn').click()          // Click on button
cy.focused().click()            // Click on el with focus
cy.contains('Welcome').click()  // Click on first el containing 'Welcome'
cy.get('.nav > a').click()
cy.get('img').click('topRight')
cy.get('#top-banner').click(15, 40)
cy.get('#collapse-sidebar').click('bottomLeft', { force: true })
cy.get('#footer .next').click(5, 60, { force: true })

.click()命令還可以與.type()命令結(jié)合使用鍵修飾符來觸發(fā),以便在單擊時模擬字符序列家浇,例如ALT + click遏考。 為了使修飾鍵保持活動狀態(tài),應(yīng)將{release:false}傳遞給.type()命令的選項蓝谨。

// execute a SHIFT + click on the first <li>
// { release: false } is necessary so that
// SHIFT will not be released after the type command
cy.get('body').type('{shift}', { release: false })
cy.get('li:first').click()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末灌具,一起剝皮案震驚了整個濱河市青团,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌咖楣,老刑警劉巖督笆,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異诱贿,居然都是意外死亡娃肿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門珠十,熙熙樓的掌柜王于貴愁眉苦臉地迎上來料扰,“玉大人,你說我怎么就攤上這事焙蹭∩硅荆” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵孔厉,是天一觀的道長拯钻。 經(jīng)常有香客問我,道長撰豺,這世上最難降的妖魔是什么粪般? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮污桦,結(jié)果婚禮上亩歹,老公的妹妹穿的比我還像新娘。我一直安慰自己凡橱,他們只是感情好捆憎,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著梭纹,像睡著了一般躲惰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上变抽,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天础拨,我揣著相機與錄音,去河邊找鬼绍载。 笑死诡宗,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的击儡。 我是一名探鬼主播塔沃,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼阳谍!你這毒婦竟也來了蛀柴?” 一聲冷哼從身側(cè)響起螃概,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鸽疾,沒想到半個月后吊洼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡制肮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年冒窍,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片豺鼻。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡综液,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出儒飒,到底是詐尸還是另有隱情谬莹,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布约素,位于F島的核電站届良,受9級特大地震影響笆凌,放射性物質(zhì)發(fā)生泄漏圣猎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一乞而、第九天 我趴在偏房一處隱蔽的房頂上張望送悔。 院中可真熱鬧,春花似錦爪模、人聲如沸欠啤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽洁段。三九已至,卻和暖如春共郭,著一層夾襖步出監(jiān)牢的瞬間祠丝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工除嘹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留写半,地道東北人。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓尉咕,卻偏偏與公主長得像叠蝇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子年缎,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345