摘要:是一個自動化測試框架,被深度整合進來。這篇文章就來帶著大家入門搭建這么一個測試框架。項目配置默認使用項目根目錄的作為配置文件。官網也有另外一種配置文件的格式就是。
nightwatch.js是一個web-ui自動化測試框架,被vue-cli深度整合進來。如果一個項目是基于vue-cli搭建的,基本可以做到開箱即用。
但是我們不可能一直都使用vue-cli。因為它很多時候不能夠滿足我們的定制化需求。我們很多時候會對構建框架進行定制,或者完全重新搭建。這個時候整合進來nightwatch就會很困難。這篇文章就來帶著大家入門搭建這么一個測試框架。
所需環境首先在項目里面安裝nightwatch,切換到項目目錄
npm intall nightwatch -D
安裝這個還不夠,還需要安裝selenium-server,同樣可以使用npm安裝
npm install selenium-server -D
selenium-server是基于Java開發的,作用是用來連接瀏覽器的。所以安裝selenium-server之前需要安裝java。如何安裝Java?
除此之外還需要安裝一個瀏覽器驅動器,一般我們使用chrome做測試
npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedrive -D
直接安裝chromedriver會提示安裝不成功,需要手動指定鏡像地址
至此需要下載的部分已經下載完成。
項目配置nightwatch默認使用項目根目錄的nightwatch.conf.js作為配置文件。官網也有另外一種配置文件的格式就是nightwatch.json。這里我們使用js的配置方式,因為格式更靈活。
下面這個就是一個簡單的配置文件。
module.exports = { "src_folders": [ "e2e/case" ], "output_folder": "reports", "custom_commands_path": "", "custom_assertions_path": "", "page_objects_path": "", "globals_path": require("./e2e/config/global.config").path, "selenium": { "start_process": true, "server_path": require("selenium-server").path, "log_path": "", "host": "127.0.0.1", "port": 4444, "cli_args": { "webdriver.chrome.driver": require("chromedriver").path } }, "test_settings": { "default": { "launch_url": "http://localhost", "selenium_port": 4444, "selenium_host": "localhost", "silent": true, "screenshots": { "enabled": false, "path": "" }, "desiredCapabilities": { "browserName": "chrome", "marionette": true } }, "chrome": { "desiredCapabilities": { "browserName": "chrome" } }, "edge": { "desiredCapabilities": { "browserName": "MicrosoftEdge" } } } }
src_folders:表示的就是case所在的文件夾
output_folder:代表的是報告輸出的文件夾
selenium下面的server_path:代表的是selenium-server的安裝路徑
selenium下面的start_process:代表的是是否自動啟動selenium——server,入股設為false,不會自動啟動server。
"cli_args" : { "webdriver.chrome.driver" : "", "webdriver.gecko.driver" : "", "webdriver.edge.driver" : "" }
cli_args下面的driver表示幾個driver的安裝路徑,分別安裝成功就可以了
test_settings是傳給nightwatch實例的數據,這里面可以配置多個環境,default是必須有的,其他環境可以自行配制。
nightwatch --env default
然后我們在項目里運行以上命令。
在windows發現報錯了,運行不起來的。我們需要在package.json下面配置一下
"scripts": { "e2e": "nightwatch --env default", },
這就可以正常運行了。
如果需要看到真實的效果,我們在case文件夾下面創建一些case就可以了
比如:
module.exports = { "Test login": function (browser) { browser .windowMaximize() .url("https://trans.qa.17u.cn/saas") .waitForElementVisible(".login", 3000) .assert.urlContains("/saas/login") } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/98418.html
摘要:建立的配置信息。在此我們安裝的以便使用進行測試。如果您在搭建過程中遇到困難,您可以從獲取在下已經搭建好的接下來接下來就是專心寫測試用例了,距離成功越來越近了不過今天就到這里結束,我們下一章見下一篇搭建自己的前端自動化測試腳手架三 上一篇:搭建自己的前端自動化測試腳手架(一)By LancerComet at 18:38, 2016.07.17. 歡迎轉載,轉載時還請保留作者署名。 嗨,...
摘要:本身項目也是使用來測試的。一個簡易的模式的配置如下的分為四個部分在實例上以開頭的行為驅動測試風格的接口,及以上版本可用。例如以開頭的兩套相同的方法庫,區別是如果斷言失敗則退出整個測試用例所有步,則打印后繼續進行。 E2E測試 E2E(end to end)測試是指端到端測試又叫功能測試,站在用戶視角,使用各種功能、各種交互,是用戶的真實使用場景的仿真。在產品高速迭代的現在,有個自動化測...
摘要:是一個易于使用的,基于平臺的瀏覽器自動化測試解決方案。它使用強大的來在元素上執行命令和斷言。只需使用和選擇器,不需要初始化其他對象和類,您只需要編寫測試規范。項目地址在安裝安裝然后運行測試的測試使用了測試框架寫成,運行編撰 showImg(http://segmentfault.com/img/bVbXaE); Nightwatch.js Nightwatch.js 是一個易于使用...
摘要:我們將用集成測試來結束我們的測試部分。作為對集成測試的一個提醒它是自動化我們的實際用戶在使用我們的應用時體驗到的體驗的過程。出于我們的目的我們將只使用上面的基本配置因為它已經足夠讓集成測試繼續進行。 本文轉載自:眾成翻譯譯者:iOSDevLog鏈接:http://www.zcfy.cc/article/3808原文:https://www.fullstackreact.com/30-d...
摘要:如果您在進行模擬鼠標的測試,您的鼠標指針可能會干擾您的測試,因此建議運行測試后將您的指針移動至屏幕外部,以避免干擾到瀏覽器測試。 上一篇:搭建自己的前端自動化測試腳手架(二)By LancerComet at 23:47, 2016.07.22. 歡迎轉載,轉載時還請保留作者署名。 這是最后一章了!(???)之前我們配置好了我們的腳手架工具,現在可以編寫測試用例了! 開始編寫測試用例 ...
閱讀 2604·2021-11-02 14:39
閱讀 4321·2021-10-11 10:58
閱讀 1446·2021-09-06 15:12
閱讀 1837·2021-09-01 10:49
閱讀 1326·2019-08-29 18:31
閱讀 1882·2019-08-29 16:10
閱讀 3331·2019-08-28 18:21
閱讀 864·2019-08-26 10:42