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