自動化功能測試TestComplete使用教程:如何測試Electron應(yīng)用程序
TestComplete是一款具有人工智能的自動UI測試工具,利用自動化測試工具和人工智能支持的混合對象識別引擎,輕松檢測和測試每個桌面,Web和移動應(yīng)用程序。使用TestComplete,可以提高測試覆蓋率并幫助提供經(jīng)過實戰(zhàn)考驗的高質(zhì)量軟件。本文介紹了如何使用TestComplete測試Electron應(yīng)用程序。
在開發(fā)軟件應(yīng)用程序時,新的語言和框架總是在挑戰(zhàn)極限。盡管較舊的技術(shù)可能具有完善的測試自動化工具,但是較新的語言和框架可能缺少其中一些功能,這使開發(fā)人員要趕上敏捷最佳實踐的步伐非常困難。
Electron是平臺的一個很好的例子,該平臺可以通過合并Web和桌面范例來使測試變得困難。盡管有許多JavaScript測試框架,但是將它們連接到桌面環(huán)境是一項挑戰(zhàn)。幸運的是,新的測試框架使得處理這些新場景比以往任何時候都要容易,包括像TestComplete之類的工具。
讓我們看看如何常規(guī)測試Electron應(yīng)用程序,以及如何使用TestComplete對其進行測試。
什么是Electron?
是一個使用JavaScript、HTML和CSS構(gòu)建跨平臺桌面應(yīng)用程序的平臺。該平臺使用Chromium和Node.js,使用每個瀏覽器窗口的渲染器進程啟動主進程。渲染器過程獲取網(wǎng)頁并將其渲染到具有自然感覺并且與標準的兼容性非常高的窗口中。
此外,主進程可以通過一系列Electron模塊訪問本機圖形用戶界面,從而可以與基礎(chǔ)操作系統(tǒng)進行交互。唯一的缺點是,與純本機應(yīng)用程序相比,這些應(yīng)用程序涉及更多的開銷,這意味著它們的性能可能會有所降低,并存在其他一些限制。
許多流行的桌面應(yīng)用程序都使用Electron,包括GitHub桌面(GitHub創(chuàng)建的Electron)、Slack、Skype、Mailspring、Visual Studio Code和Atom。這些公司和許多其他開發(fā)人員因其易用性,跨平臺部署的能力以及對JavaScript、HTML和CSS的熟悉使用來創(chuàng)建用戶界面而受到該框架的吸引。
用Spectron測試
Electron最受歡迎的測試框架是內(nèi)置的Spectron,它是用ChromeDriver和WebDriverIO構(gòu)建的。該測試平臺可以設(shè)置和拆卸您的Electron應(yīng)用程序,并允許其在完全支持Electron API的情況下進行遠程測試驅(qū)動,并與Mocha、Jasmine、AVA和Chai等測試庫兼容。
可以用與常規(guī)JavaScript集成測試相同的方式編寫Spectron測試。例如,您可以使用標準Promises輕松地將異步操作和聲明鏈接在一起,并使用常見的測試庫(例如Mocha)。使用命令API,您甚至可以添加特定于您的應(yīng)用的其他幫助程序,以最大程度地減少代碼重復。
持續(xù)集成更具挑戰(zhàn)性,因為它需要顯示驅(qū)動程序,必須將其安裝并配置為啟動應(yīng)用程序。例如,Jenkins CI用戶必須安裝Xvfb插件來添加顯示驅(qū)動程序,才能使測試成功運行。但是,CircleCI和其他一些默認情況下已經(jīng)設(shè)置了顯示驅(qū)動程序。
使用Spectron進行的典型電子測試工作流程可能涉及開發(fā)人員以常規(guī)TDD方式編寫單元測試,然后編寫集成測試以驗證是否滿足接受條件,然后再批準部署功能。持續(xù)集成服務(wù)器可能會在將所有這些測試部署到生產(chǎn)中之前驗證它們是否通過。
考慮的替代方案
對開發(fā)人員來說,Spectron、Mocha、Jasmine和其他基于代碼的測試框架非常適合好,但它們很快就會變得復雜起來。不熟悉特定語言(例如JavaScript)或框架(例如Mocha)的測試工程師可能難以適應(yīng)最新技術(shù),而這些學習曲線可能會縮短測試和開發(fā)時間。
SmartBear的TestComplete是一種自動化的UI測試工具,可以快速、輕松地在桌面,Web和移動應(yīng)用程序中創(chuàng)建,維護和執(zhí)行功能測試。借助我們的AI驅(qū)動的對象識別引擎,TestComplete可以快速、輕松、準確地自動查找動態(tài)UI元素,從而無需進行基于代碼的測試。
TestComplete的動態(tài)性質(zhì)轉(zhuǎn)換為可靠的測試,當用戶界面更改時,測試不會中斷。當不容易檢測到應(yīng)用程序?qū)傩詴r,TestComplete會自動切換其對象識別以利用AI,從而使測試工程師能夠在上下文級別捕獲UI元素并輕松地操縱復雜的用戶操作。
如果需要測試高級功能,則可以輕松地將腳本添加到JavaScript、VBScript、Python和其他流行語言的功能GUI測試中。您還可以輕松地將TestComplete連接到您的持續(xù)集成生態(tài)系統(tǒng),包括帶有內(nèi)置插件的Jenkins、Git和Jira之類的工具,這些插件使整個過程變得輕而易舉。
TestComplete甚至可以輕松地將行為驅(qū)動的開發(fā)(BDD)集成到您的工作流中。用Gherkin語法設(shè)計和編寫的測試用例可以輕松轉(zhuǎn)換為自動化的UI功能測試,并使用對象識別以及記錄和重放技術(shù)進行維護,而無需其他插件或集成。
如何開始
由于TestComplete自動識別實現(xiàn)應(yīng)用程序界面的網(wǎng)頁以及這些頁面上的各個Web元素,因此可以輕松為Electron應(yīng)用程序創(chuàng)建自動化測試。受支持的Electron版本包括1.8.2、2.0.2、3.0.2、4.0.2和5.0.0以及6.0.0,盡管其他版本也可以在框架中使用。
有幾個簡單的步驟可以開始:
- 選擇“文件”>“新建”>“新建項目”,然后打開“創(chuàng)建新項目”向?qū)А?/span>
- 指定項目的名稱和位置。
- 在項目資源管理器中,雙擊“testedApps”節(jié)點,右鍵單擊,然后選擇“添加應(yīng)用程序”。
- 選擇“通用Windows應(yīng)用程序”,然后指定Windows二進制文件的路徑。
- 通過轉(zhuǎn)到“測試”>“記錄”>“記錄關(guān)鍵字測試”開始記錄測試。
- 展開“記錄”工具欄,單擊“運行應(yīng)用程序”,然后選擇“電子”應(yīng)用程序。
- 通過單擊添加檢查來創(chuàng)建屬性檢查點。檢查點驗證正在測試的應(yīng)用程序中的對象和值。
- 完成后,單擊“錄制”工具欄上的“停止”。
- 單擊“關(guān)鍵字測試”編輯器工具欄上的“運行測試”以運行每個測試。
由于TestComplete自動識別Electron應(yīng)用程序中的網(wǎng)頁和組件,因此整個測試過程與任何其他Web應(yīng)用程序相同。除了基本的關(guān)鍵字測試之外,您還可以運行更高級的數(shù)據(jù)驅(qū)動測試,這些測試可以模擬具有不同輸入數(shù)據(jù)的用戶操作,以提供更大的測試范圍。
您可以查看完整的教程以及演示應(yīng)用程序,以在TestComplete中進行測試。或者,下載 TestComplete 的免費試用版,看看以動手方式開始測試Electron應(yīng)用程序有多么容易。
最后
測試最先進的新技術(shù)(例如Electron)可能是具有挑戰(zhàn)性的,但是TestComplete等平臺可以通過更高級別的工作來簡化流程,并以更易于測試工程師和其他非開發(fā)人員使用的方式進行工作。通過使測試更容易實現(xiàn),許多開發(fā)團隊發(fā)現(xiàn)更容易獲得更完整的測試覆蓋率。
相關(guān)內(nèi)容推薦: