VUE項目的e2e自動化測試超詳細安裝過程(保姆級)


一、創建測試項目

首先通過@vue/cli創建一個基於nightwatch的測試項目。(我這里使用的是@vue/cli 3.x的版本)

vue create your_project(你的項目名)

​因為我們要選擇e2e功能所以不采用第一種的默認預設,通過方向鍵選擇: Manually select features(手動選擇功能),然后回車

這里選擇項目所需的功能特性,空格鍵確定。

其他功能我這里隨便選擇一下,大家可按需勾選,但重點要勾選:E2E Testing。然后回車

第一個問題:是否使用路由的history模式?

第二個問題:選擇端到端測試解決方案。

這里我們選擇第二個:Nightwatch (Selenium-based)

第三個問題:將Babel, PostCSS, ESLint等配置放在哪里?

第四個問題:將此保存為未來項目的預設?

​最后回車,等待項目創建。

二、配置Nightwatch(以chrome為演示)

打開剛剛創建好的項目,首先測試下剛創建的項目能否直接進行e2e測試,在終端里輸入 package.json配置文件里設定的測試命令:npm run test:e2e。然后回車

直接報錯,這是因為vue-cli默認使用的nightwatch的0.9+的版本,其適用的chrome的版本很低,我們目前的瀏覽器都90+了,默認的還適用70+,所以我們這里不采用默認的。

在node_modules文件夾內找到nightwatch以及chromedriver的文件夾將其刪除(或使用命令行刪除),然后重新安裝

npm install nightwatch

npm install chromedriver

如果失敗報錯請使用cnpm,建議使用cnpm。

如果chromedriver安裝失敗,可使用如下命令:

cnpm install chromedriver --ignore-scripts

安裝成功后可看到nightwatch的版本為2+(nightwatch版本1.0之后就不在需要額外安裝selenium server),chromedriver的版本為98+

 這里我們查看我們的chrome版本:

“幫助” -> “關於Google Chrome”

注:一定確保chrome是chromedriver所對應的版本,最好都是最新版本

我們再測試下是否可以進行e2e測試

結果還是報錯了,根據錯誤日志,我們查看node_modules/selenium-server/lib/runner路徑下的selenium-server-standalone-3.141.59.jar是否存在及正常。

 結果顯示文件損壞,我們重新去下載對應版本

http://selenium-release.storage.googleapis.com/index.html

下載完成后將下載文件替換原有文件

再重新測試能否進行e2e測試

結果還是報錯了 ,再看錯誤日志,查看node_modules/_chromedriver@98.0.1@chromedriver/lib路徑下的chromedriver文件夾里的chromedriver.exe

 結果發現該目錄下並無對應的chromedriver文件夾,所以我們去下載對應版本的chromedriver.exe

谷歌瀏覽器ChromeDriver下載地址:

http://npm.taobao.org/mirrors/chromedriver/

 找到與我們瀏覽器版本相一致的文件點擊下載(可通過notes.txt文件查看chromedriver所對應chrome版本),下載完成后將下載的壓縮包解壓改名后放在node_modules/_chromedriver@98.0.1@chromedriver/lib路徑下

 完成后,再再再再一次重新測試能否進行e2e測試

 最終在我們不懈努力下終於運行成功!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM