原創(chuàng)|使用教程|編輯:鄭恭琳|2021-03-10 14:03:26.407|閱讀 125 次
概述:在上一篇文章中,我提供了一些使用Selenium測(cè)試Salesforce應(yīng)用程序的技巧。 Salesforce提供了一個(gè)靈活的開(kāi)發(fā)環(huán)境,允許開(kāi)發(fā)人員以抽象的方式定義其業(yè)務(wù)邏輯和UI元素,以便Salesforce可以在頁(yè)面上實(shí)現(xiàn)這些元素。 這種靈活性是以犧牲UI測(cè)試自動(dòng)化為代價(jià)的,因?yàn)殚_(kāi)發(fā)人員無(wú)法直接控制瀏覽器中的最終內(nèi)容。眾所周知,使用諸如Selenium之類的開(kāi)源自動(dòng)化框架很難測(cè)試Salesforce企業(yè)應(yīng)用程序。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在上一篇文章中,我提供了一些使用Selenium測(cè)試Salesforce應(yīng)用程序的技巧。 Salesforce提供了一個(gè)靈活的開(kāi)發(fā)環(huán)境,允許開(kāi)發(fā)人員以抽象的方式定義其業(yè)務(wù)邏輯和UI元素,以便Salesforce可以在頁(yè)面上實(shí)現(xiàn)這些元素。
這種靈活性是以犧牲UI測(cè)試自動(dòng)化為代價(jià)的,因?yàn)殚_(kāi)發(fā)人員無(wú)法直接控制瀏覽器中的最終內(nèi)容。眾所周知,使用諸如Selenium之類的開(kāi)源自動(dòng)化框架很難測(cè)試Salesforce企業(yè)應(yīng)用程序。
總結(jié)一下我在上一篇文章中討論的問(wèn)題,這是測(cè)試Salesforce應(yīng)用程序難以使用Selenium自動(dòng)化的一些原因。
動(dòng)態(tài)元素標(biāo)識(shí)符
Salesforce應(yīng)用程序中的元素標(biāo)識(shí)符看起來(lái)很奇怪,例如id=”940:1376;a”。更糟糕的是,標(biāo)識(shí)符在頁(yè)面訪問(wèn)之間隨機(jī)變化。這使得標(biāo)識(shí)符對(duì)于測(cè)試自動(dòng)化毫無(wú)用處。
慢速云托管企業(yè)應(yīng)用程序
盡管名稱為“Lightning”,但是Salesforce的云托管企業(yè)應(yīng)用程序有時(shí)可能會(huì)非常慢。測(cè)試自動(dòng)化工程師熟悉響應(yīng)速度可能很慢的應(yīng)用程序所帶來(lái)的挑戰(zhàn)。如果測(cè)試腳本嘗試在應(yīng)用程序準(zhǔn)備就緒之前執(zhí)行下一步,則它將失敗。
記住并重新初始化Lightning UI組件
UI測(cè)試自動(dòng)化方面的另一個(gè)棘手問(wèn)題是,Salesforce會(huì)記住上次打開(kāi)哪個(gè)Lightning UI組件,并在登錄時(shí)重新初始化上一個(gè)已知狀態(tài)。這意味著可用于測(cè)試的初始頁(yè)面布局可能會(huì)根據(jù)保存的歷史記錄進(jìn)行更改。
Salesforce軟件頻繁更新
Salesforce Lightning UI每年都有多個(gè)更新。每次更新都可能導(dǎo)致UI測(cè)試自動(dòng)化中斷。在這種情況下,需要使用AI驅(qū)動(dòng)的自我修復(fù)功能,以使測(cè)試自動(dòng)化在如此頻繁的更新時(shí)間表上正常工作。
我提供了技巧和竅門來(lái)應(yīng)對(duì)這些挑戰(zhàn)。盡管它們有助于讓Selenium與Salesforce應(yīng)用程序一起使用,但仍然需要大量工作。幸運(yùn)的是,有工具可以提供幫助。
有效地自動(dòng)化了Selenium測(cè)試的創(chuàng)建,并簡(jiǎn)化了測(cè)試維護(hù)。使用,您可以在瀏覽器中記錄與Salesforce企業(yè)應(yīng)用程序的交互。然后輕松創(chuàng)建利用所有這些相同技術(shù)的Selenium測(cè)試類。
的集成Recorder提供了一個(gè)應(yīng)用程序選擇,因此您可以選擇在記錄UI操作時(shí)收集Salesforce特定的屬性。然后,在創(chuàng)建Selenium UI測(cè)試時(shí)會(huì)合并這些屬性,并使用AI技術(shù)對(duì)由于定位器或等待條件的更改而損壞的測(cè)試進(jìn)行自我修復(fù)(觀看視頻)。
可是等等。還有更多!
您還可以利用API測(cè)試和服務(wù)虛擬化來(lái)幫助您更好,更快和更便宜地進(jìn)行Salesforce測(cè)試。讓我們看看Parasoft如何幫助您實(shí)現(xiàn)這三個(gè)目標(biāo)。
通常,在Salesforce應(yīng)用程序中使用自動(dòng)化的困難可能會(huì)導(dǎo)致測(cè)試不佳。測(cè)試覆蓋率可能很低,要增加測(cè)試覆蓋率,則需要進(jìn)行大量工作。為了更好地測(cè)試這些應(yīng)用程序,測(cè)試自動(dòng)化解決方案需要使測(cè)試更易于創(chuàng)建和維護(hù)。
記錄應(yīng)用程序執(zhí)行期間的UI交互,并因此創(chuàng)建可重復(fù)使用的Selenium測(cè)試。通過(guò)使用Chrome的錄制插件,可以在應(yīng)用程序執(zhí)行過(guò)程中攔截所有UI交互,并使用Selenium頁(yè)面對(duì)象模型來(lái)標(biāo)識(shí)元素,從而提高了唯一標(biāo)識(shí)定位器的能力,盡管在Salesforce應(yīng)用程序中使用了非典型標(biāo)識(shí)符。
下面說(shuō)明了使用創(chuàng)建測(cè)試的工作流程。應(yīng)用程序交互與關(guān)聯(lián)的API調(diào)用一起記錄在瀏覽器中(稍后會(huì)詳細(xì)介紹),并在您的IDE中轉(zhuǎn)換為Selenium Java項(xiàng)目。
通過(guò)現(xiàn)有的測(cè)試場(chǎng)景可以快速輕松地創(chuàng)建測(cè)試,并在您的IDE中將其轉(zhuǎn)換為Selenium測(cè)試。
當(dāng)事情改變時(shí)會(huì)發(fā)生什么?
Selenium測(cè)試有些脆弱,在更改應(yīng)用程序后會(huì)很快停止工作。通過(guò)為這些損壞的測(cè)試提供自我修復(fù)功能來(lái)提供幫助。
會(huì)繼續(xù)記錄后續(xù)測(cè)試運(yùn)行期間的交互,以檢測(cè)自先前測(cè)試版本以來(lái)的更改,并根據(jù)檢測(cè)到的差異(例如定位器失敗和等待條件)更新測(cè)試。
還在錄制過(guò)程中跟蹤性能指標(biāo),這可以幫助對(duì)性能問(wèn)題進(jìn)行基準(zhǔn)測(cè)試和調(diào)試。自我修復(fù)的一般工作流程如下所示。
的AI啟發(fā)式技術(shù)可診斷測(cè)試失敗并自動(dòng)調(diào)整缺失的元素以“修復(fù)”測(cè)試。如此處所示,它可以直接在IDE中工作,并且在CI/CD管道中也可以工作。可以將觀察到的測(cè)試中提出的建議導(dǎo)入到IDE中,然后單擊即可更新。
自動(dòng)化生成與自我修復(fù)相結(jié)合,確保針對(duì)Salesforce應(yīng)用程序的Selenium測(cè)試不那么脆弱,并且更易于維護(hù)。這應(yīng)該可以幫助團(tuán)隊(duì)顯著改善自動(dòng)化測(cè)試,因?yàn)樗麄兛梢钥煽康赜涗浾麄€(gè)測(cè)試套件并重用它們,而不會(huì)遇到困擾Selenium測(cè)試的傳統(tǒng)問(wèn)題。這些測(cè)試不太可能由于UI的更改而中斷,并且在整個(gè)開(kāi)發(fā)生命周期中都易于維護(hù)。
加速UI測(cè)試非常有用,并且在UI級(jí)別進(jìn)行Selenium測(cè)試方面的投資回報(bào)率很有價(jià)值。即使有了這些改進(jìn),在UI上的測(cè)試仍然是瓶頸,并且在API級(jí)別上測(cè)試業(yè)務(wù)邏輯更加有效。
幸運(yùn)的是,在使用記錄UI測(cè)試場(chǎng)景時(shí),還可以記錄使用Parasoft SOAtest進(jìn)行的API交互。與UI交互一樣,這些記錄也被重用,參數(shù)化和修改以創(chuàng)建API測(cè)試方案。
SOAtest使用AI技術(shù)來(lái)分析復(fù)雜的數(shù)據(jù)流量模式和定位器,并將它們合并為有組織的API測(cè)試。然后可以將這些API測(cè)試應(yīng)用于應(yīng)用程序以測(cè)試相同的邏輯,但無(wú)需UI交互。這大大減少了測(cè)試的開(kāi)銷,并且通過(guò)一些調(diào)整,可以將API測(cè)試縮減為測(cè)試特定用例所需的最少交互。下面顯示了將SOAtest與Salesforce應(yīng)用程序API測(cè)試結(jié)合使用的典型工作流程。
測(cè)試API級(jí)別以與原始UI測(cè)試用例相同的方式驗(yàn)證業(yè)務(wù)邏輯,但是執(zhí)行時(shí)間大大減少。高達(dá)97%。這意味著測(cè)試套件所花費(fèi)的時(shí)間要少得多,并且還為擴(kuò)展測(cè)試以驗(yàn)證在UI級(jí)別上遺漏的部分業(yè)務(wù)邏輯提供了可能性。
SOAtest API測(cè)試旨在根據(jù)需要進(jìn)行重用和參數(shù)化。根據(jù)原始記錄創(chuàng)建新方案,并添加測(cè)試人員創(chuàng)建的數(shù)據(jù)集和根據(jù)需要自動(dòng)生成的數(shù)據(jù)。現(xiàn)在,通過(guò)擴(kuò)展測(cè)試數(shù)據(jù)集,可以通過(guò)一次簡(jiǎn)單的記錄就可以進(jìn)行一整套API測(cè)試。
通過(guò)利用這些靈活的API測(cè)試,可以測(cè)試更多的應(yīng)用程序,因?yàn)槲覀円呀?jīng)在很多測(cè)試中有效地消除了對(duì)UI的依賴。這種獨(dú)立性意味著測(cè)試可以在開(kāi)發(fā)計(jì)劃中更快,更迅速地?cái)U(kuò)展。
當(dāng)然,API測(cè)試很棒,但是仍然存在測(cè)試執(zhí)行環(huán)境的問(wèn)題。沒(méi)有任何企業(yè)系統(tǒng)不依賴于外部服務(wù)和舊系統(tǒng)。這些通常是測(cè)試人員的禍根,因?yàn)樗麄円赐耆懦松a(chǎn)系統(tǒng)測(cè)試(需要在實(shí)驗(yàn)室中提供合理的傳真),要么使集成測(cè)試極具風(fēng)險(xiǎn)。在這里,服務(wù)虛擬化對(duì)于分離這些生產(chǎn)系統(tǒng)上的依賴關(guān)系至關(guān)重要。
由諸如Parasoft Virtualize之類的工具提供的虛擬化服務(wù)對(duì)于將被測(cè)應(yīng)用程序與復(fù)雜的生產(chǎn)環(huán)境脫鉤至關(guān)重要。模擬依賴關(guān)系意味著被測(cè)應(yīng)用程序已與生產(chǎn)環(huán)境分離。
這提供了對(duì)數(shù)據(jù)的完全控制,按需部署以及極大地并行化和加速測(cè)試的能力,而無(wú)需付費(fèi)使用的API,測(cè)試實(shí)驗(yàn)室或干擾生產(chǎn)系統(tǒng)的成本。
借助的環(huán)境管理器,可以為被測(cè)應(yīng)用程序繪制測(cè)試環(huán)境,并根據(jù)需要設(shè)置模擬服務(wù)。這些服務(wù)可以提供逼真的響應(yīng)并支持模擬現(xiàn)實(shí)世界服務(wù)的數(shù)據(jù)模型。
為虛擬化服務(wù)提供了數(shù)據(jù)模型,并提供了管理與數(shù)據(jù)模型關(guān)聯(lián)的數(shù)據(jù)集的能力。虛擬化服務(wù)的復(fù)雜性取決于要測(cè)試的應(yīng)用程序的需求。
服務(wù)虛擬化使集成測(cè)試更容易,更便宜。而且還意味著要更快地進(jìn)行測(cè)試。您可以將API和集成測(cè)試比以往任何時(shí)候都更向左移動(dòng)。
測(cè)試自動(dòng)化的主要好處是能夠在測(cè)試執(zhí)行期間收集數(shù)據(jù)和結(jié)果。 Parasoft DTP會(huì)匯總和分析團(tuán)隊(duì)使用的各種測(cè)試實(shí)踐中的數(shù)據(jù),以創(chuàng)建質(zhì)量的集中視圖。此外,它可以在需求管理工具(例如Jira)中將這些測(cè)試結(jié)果與您的用戶案例相關(guān)聯(lián)。
在用例,測(cè)試結(jié)果,代碼覆蓋率和總體狀態(tài)之間“連接各個(gè)點(diǎn)”的能力對(duì)于做出明智的決定至關(guān)重要。團(tuán)隊(duì)協(xié)作得到了改善,因?yàn)槊總€(gè)人都可以在應(yīng)用程序狀態(tài)上看到相同的事實(shí)來(lái)源,并且可以根據(jù)需要對(duì)相同的信息采取行動(dòng)。
Salesforce應(yīng)用程序的測(cè)試自動(dòng)化可能很麻煩。使用Selenium進(jìn)行UI測(cè)試是可能的,但是如果沒(méi)有其他工具幫助,則很耗時(shí)。提供所需的正確協(xié)助,以使Salesforce應(yīng)用程序的Selenium測(cè)試切實(shí)可行并改善基于UI的測(cè)試結(jié)果。
基于UI的測(cè)試很重要,但這是測(cè)試應(yīng)用程序所有業(yè)務(wù)邏輯的低效率方法。API測(cè)試加快了應(yīng)用程序測(cè)試的速度,同時(shí)還提高了測(cè)試范圍。
與UI測(cè)試相比,可以在更短的時(shí)間內(nèi)進(jìn)行更多測(cè)試。服務(wù)測(cè)試虛擬化進(jìn)一步改善了API測(cè)試的影響,該服務(wù)虛擬化使您的Salesforce應(yīng)用程序與其復(fù)雜而昂貴的生產(chǎn)環(huán)境脫鉤。Parasoft SOAtest,Virtualize和的強(qiáng)大組合意味著測(cè)試更加全面,可以在開(kāi)發(fā)周期的早期開(kāi)始。
最后,團(tuán)隊(duì)協(xié)作可以通過(guò)集中化質(zhì)量視圖來(lái)改善,這些視圖來(lái)自應(yīng)用程序各個(gè)級(jí)別的測(cè)試自動(dòng)化。Parasoft DTP為合理的決策提供了有意義的見(jiàn)解,并提高了組織專注于創(chuàng)新的能力。
使用AI技術(shù)增強(qiáng)Selenium自動(dòng)化的UI測(cè)試
更好地測(cè)試您的Salesforce應(yīng)用程序
更快地測(cè)試您的Salesforce應(yīng)用程序
便宜地測(cè)試您的Salesforce應(yīng)用程序
最重要的是:改善跨團(tuán)隊(duì)合作
概括
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn