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

看到那個”Add Commands to Tests“這個“仙女棒”了沒?點擊它, 你會看到:

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

我們在頁面上隨便點擊幾下試試,然后在Test Runner里,左下角STUDIO COMMANDS下,就會生成新的代碼。

這個時候你點擊”Save Commands“,Cypress就會彈出一個對話框讓你保存。

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