簡體   English   中英

我應該為簡單的 HTML5 + jQuery 應用程序使用什么 JavaScript UI 測試框架?

[英]What JavaScript UI testing framework should I use for a simple HTML5 + jQuery app?

我將在業余時間編寫一個簡單的 HTML5 + JavaScript (jQuery) 應用程序,以跟上最新的 Web 技術(在工作中它是更高級的 C# 后端內容)。

我想以過去十年左右的相同方式進行開發,即 TDD 風格。

作為 HTML/JavaScript 中 TDD/BDD/AcceptanceTDD 世界的新手,我的問題是:是否有一個很好的框架或類似的框架來針對瀏覽器中的網頁編寫測試(對許多瀏覽器的開箱即用支持)一個明確的加分)?

我想使用 JavaScript 的原因有兩個。 1. 我想學習更多的 JavaScript,以及 2. 我想使用與開發相同的語言進行測試。

否則,我可以簡單地使用我的 C# 技能並使用 Selenium、WatiN 或類似的框架。

在 MSDN 上找到了JasmineQUnit使用 jQuery的本土解決方案,但對流程和復雜性沒有感覺,因此非常歡迎推薦和第一手經驗。

JS Test Driver是O'Reilly的Javascript TDD書推薦的框架,我現在正在閱讀。 我實際上還沒有機會玩它,但是:

  • 一個寫了一本關於JS測試的書的老兄推薦了它
  • 它有一個非常好的功能集(跨多個瀏覽器運行的自動測試是關鍵)
  • 它來自谷歌(愛他們或恨他們,他們有很多聰明的JS人在那里工作)

所以至少我認為值得一試。

此時,我推薦Jasmine 我在一些項目中成功使用它。 我並沒有真正遇到太多令人沮喪的情況,我無法完成任務(與其他工具不同)。 它可以根據您的喜好設置不同的配置 - 它可以像在瀏覽器中打開頁面一樣簡單,也可以動態“提供”。

一般用法中有許多工具 - 到目前為止 - 沒有明顯的贏家。 我已經嘗試過其中的一些,並且 - 正如John Resig所指出的那樣 - 創建一個簡單的測試框架並不復雜。 但添加一些工具以使其更方便很重要。 茉莉花是我用過的最完整的茉莉花,但它並不臃腫。

重要注意事項

  • 設置:不要采用不易開箱的工具
  • style:在其他測試工具的上下文中使用對您有意義的工具。 例如,如果您使用BDD工具,請查找BDD Javascript框架。 這可能是框架中最大的差異 - 可能選擇一個有你喜歡的語法。
  • 跨瀏覽器:測試應該適用於各種瀏覽器
  • 自動化:您應該能夠在一個或多個瀏覽器中編寫測試運行的腳本
  • 測試基於時間的代碼 - 如果你的Javascript具有與時鍾相關的行為(如在動畫中),有一個測試框架,這很方便
  • 嘲笑:茉莉有一個很好的嘲弄支持,真的有幫助

你真的不需要使用Selenium進行簡單的單元tests--它配置復雜,是一個比較困難的編程模型不是一個簡單的單元測試框架。

我經常為此苦苦掙扎。 我認為Selenium是你最好的選擇,特別是因為它聽起來像你之前使用過它。 JS的其他內容主要是單元測試。

為了不減少機器人的答案,JS Test Driver撼動了單元測試。

我最終使用了QUnit,因為我發現在<iframe>插入PUT(測試頁面)非常簡單,並使用jQuery從單元測試中訪問它。

這樣我不需要除瀏覽器本身之外的任何其他外部依賴(邏輯在客戶端中100%駐留)和任何文本編輯器。

Turboframework 使用 javascript、jasmine、selenium 並與 node.js 一起運行。 您實際上可以在 10 分鍾內創建一個測試項目並運行 Web 自動化測試 為避免重復已有的文檔,以下是快速入門指南的鏈接:

https://turboframework.org/en/blog/2021-03-03/automate-your-web-application-tests-in-less-than-十分鍾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM