你不知道的Cypress系列(9) -- 代碼“自動(dòng)生成”術(shù)?
iTesting,愛測(cè)試,愛分享
轉(zhuǎn)眼之間,你不知道的Cypress系列已經(jīng)到第9篇了。在Cypress中國(guó)群內(nèi)、在公眾號(hào)iTesting里,我每天都能看到大量關(guān)于Cypress的使用討論和私下問詢。這讓我感到無比榮幸(買了書的同學(xué)們,公眾號(hào)回復(fù)你的微信號(hào),拉你到Cypress中國(guó)群)。
今天是. 你不知道的Cypress系列(9) -- 代碼“自動(dòng)生成”術(shù)。
本標(biāo)題有嘩眾取寵之嫌,不過也側(cè)面說明了測(cè)試行業(yè)內(nèi)卷的程度。如果你有關(guān)注最新測(cè)試技術(shù)的習(xí)慣,你會(huì)發(fā)現(xiàn),很多多年前就有的技術(shù),最近幾年又換了個(gè)皮卷土重來,比如,Codeless, BPA。本篇所介紹的代碼 “自動(dòng)生成”術(shù),可以叫做Codeless,但既然已經(jīng)在裝X了,干脆叫代碼”自動(dòng)生成“術(shù)好了。
解密”代碼自動(dòng)生成“
從來沒有什么無中生有,如果有,一定是別人在你看不見的地方做了什么。”代碼自動(dòng)生成“也是如此。當(dāng)前很多自動(dòng)生成測(cè)試代碼的技術(shù),都被稱為Codeless,都號(hào)稱可以用不用寫代碼的方式寫代碼,這話說出來聽的你一愣一愣的。那感覺就跟你問隔壁二狗子為什么不在工位上搬磚時(shí),他回答:”我剛才在研究碳水化合物的高級(jí)組成形態(tài)與有機(jī)高分子材料密封的液態(tài)氫氧化氫的交互來著“。
怎么樣,聽不懂了吧?聽不懂就對(duì)了,因?yàn)槎纷記]說人話嘛。
代碼自動(dòng)生成也是如此。
Cypress在其新版本中Release了一項(xiàng)新功能"Cypress Studio", 其作用可以讓你通過頁面點(diǎn)擊,拖拽的方式生成測(cè)試代碼,說人話就是他們提供了一個(gè)”錄制回放“的功能。
下面一起來看下"Cypress Studio"如何使用。
Cypress Studio配置
當(dāng)前使用Cypress Studio需要事先在cyprese.json中進(jìn)行配置:
"experimentalStudio": true
配置好后,就可以使用了。
Cypress Studio示例
直接上代碼吧,假設(shè)我當(dāng)前的代碼如下:
describe('iTesting demo', () => {
// 關(guān)注微信公眾號(hào)iTesting,加入萬人測(cè)試社群
it('Cypress Studio', () => {
cy.visit('https://www.baidu.com')
cy.get('#kw').type('iTesting')
cy.get('#su').click()
})
})我打開百度,并搜索”iTesting“,運(yùn)行這個(gè)腳本,腳本運(yùn)行結(jié)束后,你會(huì)在Test Runner里看到如下標(biāo)記:

看到那個(gè)”Add Commands to Tests“這個(gè)“仙女棒”了沒?點(diǎn)擊它, 你會(huì)看到:

點(diǎn)擊”Get Started“,你的測(cè)試代碼會(huì)重新運(yùn)行,并且在結(jié)束后,你可以在瀏覽器上分看到如下標(biāo)記”STUDIO“,這個(gè)時(shí)候,你在頁面上的任何操作,Cypress都會(huì)記錄下來把它變成測(cè)試代碼。

我們?cè)陧撁嫔想S便點(diǎn)擊幾下試試,然后在Test Runner里,左下角STUDIO COMMANDS下,就會(huì)生成新的代碼。

這個(gè)時(shí)候你點(diǎn)擊”Save Commands“,Cypress就會(huì)彈出一個(gè)對(duì)話框讓你保存。

一旦你保存后,Cypress會(huì)立刻重新運(yùn)行你的測(cè)試文件。如果你去檢查你測(cè)試文件所在的位置,你會(huì)發(fā)現(xiàn),新的代碼已經(jīng)生成了。
一些問題
Cypess Studio這個(gè)功能,目前出于試驗(yàn)階段,我試驗(yàn)下來有如下Bug:
點(diǎn)擊Save Test會(huì)出錯(cuò),并且出錯(cuò)信息一閃而過。
很大幾率復(fù)現(xiàn),我感覺跟你要訪問的網(wǎng)站有關(guān),比如百度是100%能重現(xiàn)。
生成的代碼,可閱讀行不好,還需要再次處理。
比如你之前的代碼應(yīng)用了PageObject模型,或者Action 模型。那么錄制回放就不太合適。
綜上,我個(gè)人認(rèn)為,Cypress Studio這個(gè)功能,適用于代碼更改非常頻繁的小型項(xiàng)目,或者那種一次性的自動(dòng)化測(cè)試。當(dāng)前,大規(guī)模使用的成本還是太高。
Cypress有很多奇淫巧技, 我已經(jīng)總結(jié)超過百篇
別走開,下一篇更精彩!
往期回看:
你不知道的Cypress系列(1) --雞肋的BDD
你不知道的Cypress系列(2) -- ”該死"的PO模型!
你不知道的Cypress系列(3) -- 是時(shí)候重構(gòu)自己的思維了!
你不知道的Cypress系列(4) -- “PO”已死,App Action當(dāng)立?
你不知道的Cypress系列(5) -- "眼瞎"的TestRunner
你不知道的Cypress系列(6) -- 多Tab的小秘密
你不知道的Cypress系列(7) -- 當(dāng)iFrame遇見彈出框
你不知道的Cypress系列(8) -- “可視化”測(cè)試你知多少
為了更好的支持我創(chuàng)作,麻煩同學(xué)們動(dòng)動(dòng)小手,點(diǎn)贊 + 在看 + 轉(zhuǎn)發(fā)一鍵三聯(lián):)
技術(shù)討論
公眾號(hào)里直接回復(fù) 666, 帶你入圈
- - 時(shí)人莫小池中水, 淺處不妨有臥龍 - -
作者:
Kevin Cai, 江湖人稱蔡老師。
兩性情感專家,非著名測(cè)試開發(fā)。
技術(shù)路線的堅(jiān)定支持者,始終相信Nobody can be somebody。
· 猜你喜歡的文章 ·
