摘要:閱讀原文目前測(cè)試工具有哪些項(xiàng)目不需要不需要端到端測(cè)試一般都需要一個(gè)容器,來運(yùn)行前端應(yīng)用。向快速,一致和可靠的無剝落測(cè)試問好。
閱讀原文
1. 目前E2E測(cè)試工具有哪些?項(xiàng)目 | Web | Star |
---|---|---|
puppeteer | Chromium (~170Mb Mac, ~282Mb Linux, ~280Mb Win) | 31906 |
nightmare | Electron | 15502 |
nightwatch | WebDriver | 8135 |
protractor | selenium | 7532 |
casperjs | PhantomJS | 7180 |
cypress | Electron | 5303 |
Zombie | 不需要 | 4880 |
testcafe | 不需要 | 4645 |
CodeceptJS | webdriverio | 1665 |
端到端測(cè)試一般都需要一個(gè)Web容器,來運(yùn)行前端應(yīng)用。例如Chromium, Electron, PhantomJS, WebDriver等等。
從體積角度考慮,這些Web容器體積一般都很大。
從速度的角度考慮:PhantomJS, WebDriver < Electon, Chromium。
而且每個(gè)工具的側(cè)重點(diǎn)也不同,建議按照需要去選擇。
2. 優(yōu)秀的端到端測(cè)試工具應(yīng)該有哪些特點(diǎn)?安裝簡(jiǎn)易:我希望它非常容易安裝,最好可以一行命令就可以安裝完畢
依賴較少:我只想做個(gè)E2E測(cè)試,不想安裝jdk, python之類的東西
速度很快:運(yùn)行測(cè)試用例的速度要快
報(bào)錯(cuò)詳細(xì):詳細(xì)的報(bào)錯(cuò)
API完備:鼠標(biāo)鍵盤操作接口,DOM查詢接口等
Debug方便:出錯(cuò)了可以很方便的調(diào)試,而不是去猜
3. 為什么要用Cypress?Cypress基本上擁有了上面的特點(diǎn)之外,還有以下特點(diǎn)。
時(shí)光穿梭 測(cè)試運(yùn)行時(shí),Cypress會(huì)自動(dòng)截圖,你可以輕易的查看每個(gè)時(shí)間的截圖
Debug友好 不需要再去猜測(cè)為什么測(cè)試有失敗了,Cypress提供Chrome DevTools, 所以Debug是非常方便的。
實(shí)時(shí)刷新 Cypress檢測(cè)測(cè)試用例改變后,會(huì)自動(dòng)刷新
自動(dòng)等待 不需要在使用wait類似的方法等待某個(gè)DOM出現(xiàn),Cypress會(huì)自動(dòng)幫你做這些
Spies, stubs, and clocks Verify and control the behavior of functions, server responses, or timers. The same functionality you love from unit testing is right at your fingertips.
網(wǎng)絡(luò)流量控制 在不涉及服務(wù)器的情況下輕松控制,存根和測(cè)試邊緣案例。無論你喜歡,你都可以存儲(chǔ)網(wǎng)絡(luò)流量。
一致的結(jié)果 我們的架構(gòu)不使用Selenium或WebDriver。向快速,一致和可靠的無剝落測(cè)試問好。
截圖和視頻 查看失敗時(shí)自動(dòng)截取的截圖,或無條件運(yùn)行時(shí)整個(gè)測(cè)試套件的視頻。
4. 安裝cypress 4.1. 使用npm方法安裝注意這個(gè)方法需要下載壓縮過Electron, 所以可能會(huì)花費(fèi)幾分鐘時(shí)間,請(qǐng)耐心等待。
npm i cypress -D4.2. 直接下載Cypress客戶端
你可以把Cypress想想成一個(gè)瀏覽器,可以多帶帶把它下載下來,安裝到電腦上,當(dāng)做一個(gè)客戶端軟件來用。
打開之后就是這個(gè)樣子,可以手動(dòng)去打開項(xiàng)目,運(yùn)行測(cè)試用例。
5. 初始化CypressCypress初始化,會(huì)在項(xiàng)目根目錄自動(dòng)生成cypress文件夾,并且里面有些測(cè)試用例模板,可以很方便的學(xué)習(xí)。
初始化的方法有兩種。
如果你下載的客戶端,那么你用客戶端打開項(xiàng)目時(shí),它會(huì)檢測(cè)項(xiàng)目目錄下有沒有Cypress目錄,如果沒有,就自動(dòng)幫你生成模板。
如果你使用npm安裝的Cypress,可以使用命令node_modules/.bin/cypress open去初始化
6. 編寫測(cè)試用例// hacker-news.js describe("Hacker News登錄測(cè)試", () => { it("登錄頁面", () => { cy.visit("https://news.ycombinator.com/login?goto=news") cy.get("input[name="acct"]").eq(0).type("test") cy.get("input[name="pw"]").eq(0).type("123456") cy.get("input[value="login"]").click() cy.contains("Bad login") }) })7. 查看結(jié)果
打開Cypress客戶端,選擇要測(cè)試項(xiàng)目的根目錄,點(diǎn)擊hacker-news.js后,測(cè)試用例就會(huì)自動(dòng)運(yùn)行
運(yùn)行結(jié)束后,左側(cè)欄目鼠標(biāo)移動(dòng)上去,右側(cè)欄都會(huì)顯示出該步驟的截圖,所以叫做時(shí)光穿梭功能。
從截圖也可以看出來,Cypress的步驟描述很詳細(xì)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/95054.html
摘要:前言官方文檔目前只支持英文,好處是官方入門視頻很多,對(duì)于英文水平不好的也很容易入手優(yōu)缺點(diǎn)優(yōu)點(diǎn)只要你學(xué)好語法上應(yīng)該不是很大問題獲取類似,對(duì)前端同學(xué)來說是好處缺點(diǎn)內(nèi)置的工具集成了谷歌內(nèi)核,決定你只能是在谷歌瀏覽器上測(cè)試,但隨著新版的內(nèi)核采用內(nèi)核 前言 官方文檔:https://docs.cypress.io 目前只支持英文,好處是官方入門視頻很多,對(duì)于英文水平不好的也很容易入手; 優(yōu)缺點(diǎn) ...
摘要:我之前寫過關(guān)于的文章,,最近在工作中用到比較多了,頓時(shí)覺得確實(shí)是比較優(yōu)秀的一個(gè)。 我之前寫過關(guān)于cypress的文章,https://segmentfault.com/a/11...,最近在工作中用到cypress比較多了,頓時(shí)覺得cypress確實(shí)是比較優(yōu)秀的一個(gè)。 1. 軟件安裝. 2. 安裝cypress 安裝cypress客戶端:http://download.cypress...
摘要:使用可以快速生成一個(gè)項(xiàng)目,其中包含了和以及覆蓋率統(tǒng)計(jì)的配置參考一個(gè)創(chuàng)建測(cè)試腳本的快速方法其他參考資料前端自動(dòng)化測(cè)試概覽測(cè)試之使用對(duì)項(xiàng)目進(jìn)行單元測(cè)試 showImg(https://segmentfault.com/img/bVbjfXr?w=600&h=317); 前言 測(cè)試可以提供快速反饋,根據(jù)測(cè)試用例覆蓋代碼,從而提升代碼開發(fā)效率和質(zhì)量。根據(jù)投入產(chǎn)出價(jià)值,通常迭代較快的業(yè)務(wù)邏輯不做...
摘要:使用可以快速生成一個(gè)項(xiàng)目,其中包含了和以及覆蓋率統(tǒng)計(jì)的配置參考一個(gè)創(chuàng)建測(cè)試腳本的快速方法其他參考資料前端自動(dòng)化測(cè)試概覽測(cè)試之使用對(duì)項(xiàng)目進(jìn)行單元測(cè)試 showImg(https://segmentfault.com/img/bVbjfXr?w=600&h=317); 前言 測(cè)試可以提供快速反饋,根據(jù)測(cè)試用例覆蓋代碼,從而提升代碼開發(fā)效率和質(zhì)量。根據(jù)投入產(chǎn)出價(jià)值,通常迭代較快的業(yè)務(wù)邏輯不做...
閱讀 2615·2021-11-22 15:25
閱讀 1444·2021-11-15 17:59
閱讀 1146·2021-09-29 09:34
閱讀 1554·2021-09-26 09:46
閱讀 3038·2021-09-02 15:40
閱讀 1197·2019-08-30 15:56
閱讀 3290·2019-08-30 15:55
閱讀 701·2019-08-29 17:08