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