翻譯|使用教程|編輯:莫成敏|2020-01-10 13:44:07.647|閱讀 2198 次
概述:TestComplete是一款具有人工智能的自動UI測試工具,利用自動化測試工具和人工智能支持的混合對象識別引擎,輕松檢測和測試每個(gè)桌面,Web和移動應(yīng)用程序。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在開發(fā)軟件應(yīng)用程序時(shí),新的語言和框架總是在挑戰(zhàn)極限。盡管較舊的技術(shù)可能具有完善的測試自動化工具,但是較新的語言和框架可能缺少其中一些功能,這使開發(fā)人員要趕上敏捷最佳實(shí)踐的步伐非常困難。
Electron是平臺的一個(gè)很好的例子,該平臺可以通過合并Web和桌面范例來使測試變得困難。盡管有許多JavaScript測試框架,但是將它們連接到桌面環(huán)境是一項(xiàng)挑戰(zhàn)。幸運(yùn)的是,新的測試框架使得處理這些新場景比以往任何時(shí)候都要容易,包括像TestComplete之類的工具。
讓我們看看如何常規(guī)測試Electron應(yīng)用程序,以及如何使用TestComplete對其進(jìn)行測試。
什么是Electron?
是一個(gè)使用JavaScript、HTML和CSS構(gòu)建跨平臺桌面應(yīng)用程序的平臺。該平臺使用Chromium和Node.js,使用每個(gè)瀏覽器窗口的渲染器進(jìn)程啟動主進(jìn)程。渲染器過程獲取網(wǎng)頁并將其渲染到具有自然感覺并且與標(biāo)準(zhǔn)的兼容性非常高的窗口中。
此外,主進(jìn)程可以通過一系列Electron模塊訪問本機(jī)圖形用戶界面,從而可以與基礎(chǔ)操作系統(tǒng)進(jìn)行交互。唯一的缺點(diǎn)是,與純本機(jī)應(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的情況下進(jìn)行遠(yuǎn)程測試驅(qū)動,并與Mocha、Jasmine、AVA和Chai等測試庫兼容。
可以用與常規(guī)JavaScript集成測試相同的方式編寫Spectron測試。例如,您可以使用標(biāo)準(zhǔn)Promises輕松地將異步操作和聲明鏈接在一起,并使用常見的測試庫(例如Mocha)。使用命令A(yù)PI,您甚至可以添加特定于您的應(yīng)用的其他幫助程序,以最大程度地減少代碼重復(fù)。
持續(xù)集成更具挑戰(zhàn)性,因?yàn)樗枰@示驅(qū)動程序,必須將其安裝并配置為啟動應(yīng)用程序。例如,Jenkins CI用戶必須安裝Xvfb插件來添加顯示驅(qū)動程序,才能使測試成功運(yùn)行。但是,CircleCI和其他一些默認(rèn)情況下已經(jīng)設(shè)置了顯示驅(qū)動程序。
使用Spectron進(jìn)行的典型電子測試工作流程可能涉及開發(fā)人員以常規(guī)TDD方式編寫單元測試,然后編寫集成測試以驗(yàn)證是否滿足接受條件,然后再批準(zhǔn)部署功能。持續(xù)集成服務(wù)器可能會在將所有這些測試部署到生產(chǎn)中之前驗(yàn)證它們是否通過。
考慮的替代方案
對開發(fā)人員來說,Spectron、Mocha、Jasmine和其他基于代碼的測試框架非常適合好,但它們很快就會變得復(fù)雜起來。不熟悉特定語言(例如JavaScript)或框架(例如Mocha)的測試工程師可能難以適應(yīng)最新技術(shù),而這些學(xué)習(xí)曲線可能會縮短測試和開發(fā)時(shí)間。
SmartBear的TestComplete是一種自動化的UI測試工具,可以快速、輕松地在桌面,Web和移動應(yīng)用程序中創(chuàng)建,維護(hù)和執(zhí)行功能測試。借助我們的AI驅(qū)動的對象識別引擎,TestComplete可以快速、輕松、準(zhǔn)確地自動查找動態(tài)UI元素,從而無需進(jìn)行基于代碼的測試。
TestComplete的動態(tài)性質(zhì)轉(zhuǎn)換為可靠的測試,當(dāng)用戶界面更改時(shí),測試不會中斷。當(dāng)不容易檢測到應(yīng)用程序?qū)傩詴r(shí),TestComplete會自動切換其對象識別以利用AI,從而使測試工程師能夠在上下文級別捕獲UI元素并輕松地操縱復(fù)雜的用戶操作。
如果需要測試高級功能,則可以輕松地將腳本添加到JavaScript、VBScript、Python和其他流行語言的功能GUI測試中。您還可以輕松地將TestComplete連接到您的持續(xù)集成生態(tài)系統(tǒng),包括帶有內(nèi)置插件的Jenkins、Git和Jira之類的工具,這些插件使整個(gè)過程變得輕而易舉。
TestComplete甚至可以輕松地將行為驅(qū)動的開發(fā)(BDD)集成到您的工作流中。用Gherkin語法設(shè)計(jì)和編寫的測試用例可以輕松轉(zhuǎn)換為自動化的UI功能測試,并使用對象識別以及記錄和重放技術(shù)進(jìn)行維護(hù),而無需其他插件或集成。
如何開始
由于TestComplete自動識別實(shí)現(xiàn)應(yīng)用程序界面的網(wǎng)頁以及這些頁面上的各個(gè)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,盡管其他版本也可以在框架中使用。
有幾個(gè)簡單的步驟可以開始:
由于TestComplete自動識別Electron應(yīng)用程序中的網(wǎng)頁和組件,因此整個(gè)測試過程與任何其他Web應(yīng)用程序相同。除了基本的關(guān)鍵字測試之外,您還可以運(yùn)行更高級的數(shù)據(jù)驅(qū)動測試,這些測試可以模擬具有不同輸入數(shù)據(jù)的用戶操作,以提供更大的測試范圍。
您可以查看完整的教程以及演示應(yīng)用程序,以在TestComplete中進(jìn)行測試。或者,下載 TestComplete 的免費(fèi)試用版,看看以動手方式開始測試Electron應(yīng)用程序有多么容易。
最后
測試最先進(jìn)的新技術(shù)(例如Electron)可能是具有挑戰(zhàn)性的,但是TestComplete等平臺可以通過更高級別的工作來簡化流程,并以更易于測試工程師和其他非開發(fā)人員使用的方式進(jìn)行工作。通過使測試更容易實(shí)現(xiàn),許多開發(fā)團(tuán)隊(duì)發(fā)現(xiàn)更容易獲得更完整的測試覆蓋率。
相關(guān)內(nèi)容推薦:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: