1. [Cypress最新版本]Cypress10.x版本安裝、使用指南

        共 5755字,需瀏覽 12分鐘

         ·

        2022-06-13 17:09

        一個人到底要走多少彎路,才能成為一名合格的測試開發(fā)工程師?

        轉眼之間,Cypress又又又更新啦!我將講解Cypress最新Release的10.x版本,包括新版本的安裝使用、老版本的遷移。今天是第一篇, Cypress10.x新版本安裝使用(買了書的同學們,公眾號回復你的微信號,拉你到Cypress中國群)。

        最近兩年測試界最火的測試工具莫過于Cypress,作為測試工程師道超車必備、下一代UI自動化測試利器,Cypress開發(fā)團隊也一直在拼命做事,這不,Cypress10.x重磅發(fā)布,將“Component Testing”重磅引入到了測試團隊。測試人員又可以將自己的勢力版圖向開發(fā)側移動一下啦 :)

        Cypress10.x是迄今為止Cypress最大一次改版,如果你是Cypress老用戶,靜待幾天,我將再出一篇Cypress開發(fā)遷移至南。今天先服務新用戶。為新接觸Cypress的同學講解Cypress 10.x的安裝使用。

        如果你買了書,你會發(fā)現(xiàn)書上安裝好的界面截圖跟你看到的不一致,不要緊,底層沒變。

        安裝

        安裝一點沒變。推薦你用VS Code創(chuàng)建項目根目錄,然后,在項目根目錄下執(zhí)行如下命令

        # 兩種方式你隨意挑選即可
        # npm和yarn的安裝我不講了,你自己看書或者網(wǎng)上找
        npm install cypress --save-dev

        yarn add cypress@latest

        安裝好后,你會發(fā)現(xiàn)項目根目錄(本例為ITESTINGDEMO)下多了如下文件/文件夾。


        這個時候你還什么也看不到, 沒關系,繼續(xù)在項目根目錄下執(zhí)行如下命令:

        // 關注iTesting, 加入萬人測試社群
        npx cypress open

        然后奇跡出現(xiàn)了:)你將會看到如下頁面。 (這個就是Cypress10.x的新界面了,其中E2E Testing,是我們之前用Cyprres做的所有的測試統(tǒng)稱, Component Testing是Cypress10.x版本才引進的,組件測試,怎么樣,看名字想到了啥?UT->Componment Testing->Contract Testing/API Testing->UI Testing),測試人員的版圖是不是又要擴展了?:)

        我們稍安勿躁,先選擇E2E Testing, 你會看到Cypress會引導你創(chuàng)建一些文件。


        你可以直接點Continue繼續(xù),Cypress會自動為你創(chuàng)建這些文件。

        這里為老用戶解釋下:在新版本中,Cypress有意區(qū)分了2種類型的測試。E2E測試和Componment Testing?,F(xiàn)在我們配置的是E2E測試的選項,其中:

        cypress.config.js 就相當于以往cyprss.json的功效。

        cypress/support/e2e.js,就相當于以往cypress/support/index.js。

        cypress/support/commands.js  ,這個文件沒變,還是原來的作用。

        cypress/fixtures/example.json,這個是數(shù)據(jù)驅動文件,放測試數(shù)據(jù)的,但是看過書的最大,一般我們都不用,我們自己會放在頁面文件下。


        你點擊過Continue后,Cypress會讓你選擇執(zhí)行的瀏覽器,注意這里的瀏覽器只能是Cypress支持的瀏覽器,你些瀏覽器你安裝了幾個,這里就顯示幾個。

        我們選擇Chrome,然后點擊那個“Start E2E Testing in Chrome”,這個時候你能看到下面這個類似于Cypress DashBoard的東東(這個也是Cypress的雞賊支持,新版本直接把交互式運行器和DashBoard做了集成了。)


        因為我們什么測試用例都沒建呢,所以我們選擇上圖的第一個“Scaffold example specs”,這個就是給你的一些現(xiàn)成的測試腳手架,讓你快速了解下通過Cypress創(chuàng)建出來的測試用例是什么樣子的。不得不說,前端開發(fā)就是比后端開發(fā)講究。

        你選擇這個后,會看到這個圖:


        繼續(xù)點擊“Okey”, 可以看到很多測試用例就生成好了。以后你寫的新的測試用例,也會一并顯示在這里。


        這個時候,你切換到你項目根目錄下,就會發(fā)現(xiàn)多了很多文件,這些文件就是運行一個Cypress測試的必要文件。

        在這些文件中,注意:

        e2e文件夾,就是以前我們的IntegrationTest文件夾。

        下面1, 2 這些就是測試文件夾,注意這些文件夾下的測試文件后綴名,現(xiàn)在都叫**.cy.js了。

        然后你隨便找個.cy.js文件打開看:


          describe('關注iTesting, 學好Cypress', () => {
            it(() => {
              // 老配方老味道,這里不多講
              // 看過書的知道,這個代碼組織方式不是最佳實踐,最佳實踐在書上:)
              cy.contains('Pay electric bill')
                .parent()
                .find('input[type=checkbox]')
                .check()
            })

        我們隨便在Cypress最新的交互式運行器上(不確定Cypress官方還叫不叫這個名了,這個更像一個dashboard),選擇一個測試用例運行下。

        這樣你這條Case的運行結果都顯示在這里了,這個跟以前的交互式運行器比起來,炫酷了一點,功能沒有變。

        看左邊的菜單,現(xiàn)在Cypress提供了你幾個選項??梢宰屇銓ypress進行一些配置,其中Runs是直達Cypress的收費功能DashBoard了。集成的挺好的,大家自行研究這塊,我就不講了,除了入口不一樣,其他功能都一樣。

        編寫新測試用例

        除了用第一種方式搞清楚Cypress的測試用例長什么樣外,你還可以直接創(chuàng)建,在交互式運行器上,點擊Specs->New Spec,

        你會看到:

        這次我們選擇第2個“Create new empty spec”:

        你會看到彈出一個文件讓你命名,你可以更改這個文件的地址,name和后綴名,這里我們命名為itesting.spec.cy.js

        點擊“Create Spec”,

        你會看到下面這個圖,這個圖里幫你預先寫出了Cypress的一個測試用例結構,你只要生成后去更改就行了,不必從頭開始寫。(再次表揚下前端開發(fā))


        點擊“Okey”,然后去你的項目目錄下看,一個測試用例就生成了。


        這個時候,你就可以更改你的測試用例。最后運行了。

        運行測試用例

        測試用例的運行基本不變,你可以直接:

        npx cypress run

        但是你也知道我不推薦。我們去更改項目根目錄下的package.json文件。給它添加下如下scripts部分。最后,你的package.json看起來像這樣:


        然后你就可以在命令行里如此運行:

        yarn debug

        然后,你就可以愉快的編寫執(zhí)行Cyprss用例了。 



        Cypress有很多奇淫巧技, 我已經總結超過百篇

        別走開,下一篇更精彩!


        往期回看:

                            你不知道的Cypress系列(1) --雞肋的BDD

                            你不知道的Cypress系列(2) -- ”該死"的PO模型!

                            你不知道的Cypress系列(3) -- 是時候重構自己的思維了!

                            你不知道的Cypress系列(4) -- “PO”已死,App Action當立?

                            你不知道的Cypress系列(5) -- "眼瞎"的TestRunner

                            你不知道的Cypress系列(6) -- 多Tab的小秘密

                           你不知道的Cypress系列(7) -- 當iFrame遇見彈出框          

                            你不知道的Cypress系列(8) -- “可視化”測試你知多少

                            你不知道的Cypress系列(9) -- 代碼“自動生成”術

                            你不知道的Cypress系列(10) -- CypressHelper

                           你不知道的Cypress系列(11) -- 使用cy.session()加速鑒權。  

                           你不知道的Cypress系列(12) -- 測試報告Allure    

                            你不知道的Cypress系列(13) -- 你真的需要多瀏覽器測試嗎?  

                            你不知道的Cypress系列(14) -- 一文說透元素定位  

                            你不知道的Cypress系列(15) -- 支持跨域訪問了!    

        為了更好的支持我創(chuàng)作,麻煩同學們動動小手,點贊 + 在看 + 轉發(fā)一鍵三聯(lián)。


        技術討論

        公眾號里直接回復 666, 帶你入圈



         -   -  時人莫小池中水, 淺處不妨有臥龍  -  -

        作者:

        Kevin Cai, 江湖人稱蔡老師。

        兩性情感專家,非著名測試開發(fā)。

        技術路線的堅定支持者,始終相信 Nobody can be somebody。      

        · 猜你喜歡的文章 ·


        功能測試進階系列直播(免費)

        前端測試框架Cypress從入門到精通

        自研測試框架ktest介紹(適用于UI和API)

        測試開發(fā)入門與實戰(zhàn)

        瀏覽 311
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 俺也去俺来也www色官网 | 国产91福利在线 | 五月天性爱视频 | 国产 无码黄又爽又刺激网站老师 | 玖玖免费 |