注意
預覽功能不供生產時使用,而且可能功能受限。 這些功能是在正式發行前先行推出,讓客戶能夠搶先體驗並提供意見反應。
你可以利用 Learning Playground 來 動手並試用本指南中記錄的功能。
什麼 Power Fx?
Microsoft Power Fx 是一種基於類似電子錶格的公式的低代碼通用程式設計語言。 它是一種類型化、聲明性、函數式語言,可根據需要提供命令式邏輯和狀態管理。 它來自 Excel 的歷史使其可供廣泛的使用者使用,從初學者到經驗豐富的開發人員。
高級 Power Fx 方案
如果您已經熟悉 Power Fx,深入研究高級場景可以顯著增強應用程式的功能和效率。 以下是一些高級方案以及它們可能感興趣的原因:
創建自定義函數:創建自定義函數允許開發人員將複雜的邏輯封裝到可重用的元件中。 這種方法不僅簡化了開發過程,還確保了一致性並減少了出錯的可能性。 自定義功能可以根據特定的業務需求進行定製,使您的測試更加強大和靈活。
與外部數據源集成:與外部數據源集成使您的 Power Fx 測試能夠與從資料庫到 Web 服務的各種資料進行交互。 這種集成可以通過提供即時數據訪問和更新來增強應用程式的功能。 它還允許進行更動態和回應更迅速的測試,以適應不斷變化的數據。
優化大規模測試的性能:隨著測試的複雜性和規模的增加,性能優化變得很重要。 這些優化可能包括性能,例如高效的數據處理和使用 Power Fx內置函數以獲得更好的性能。 這些優化可確保您的測試保持回應和高效,即使使用大型數據集和複雜的邏輯也是如此。
可擴展性模型
Test Engines Power Fx 的 可擴充性模型 是其眾多引人注目的功能之一。 您可以通過自定義函數和作來擴展語言,使其高度適應各種場景。 下面是可擴充性模型的一些關鍵方面:
重用已有的技能: Power Fx的可擴充性模型允許你使用其他程式設計語言 (如 C#) 的 Power Fx 現有技能。 使用這種方法意味著您可以將您的知識和經驗帶入 Power Fx 基於測試中,從而更輕鬆地創建強大的定製解決方案。
允許重複使用現有庫和功能:擴展性模型支援將現有庫和功能集成到。 Power Fx 重用允許開發人員重用久經考驗的代碼,並縮短開發時間以提高可靠性。 通過合併現有庫,您可以增強應用程式的功能 Power Fx ,而無需重新發明輪子。
為函數使用者提供封裝複雜性的模型:可擴充性模型的顯著優勢之一是它能夠封裝複雜性。 製作者和開發人員可以創建自定義函數來隱藏底層邏輯的複雜細節,為最終使用者提供簡單且使用者友好的介面。 抽象使每個人都可以更輕鬆地使用高級功能並從中受益,而無需瞭解其背後的複雜性。
增強協作和一致性:團隊可以創建一組一致的自定義功能和作,這些功能和作可以在不同項目之間共用和重複使用。 使用通用
testSettings.yaml檔可以促進協作並確保遵循最佳實踐,從而產生更強大和可維護的應用程式。促進與外部系統的集成:可擴充性模型允許與外部系統和服務無縫集成。 這意味著您可以將 Power Fx 應用程式連接到各種數據源和 API,從而增強其功能並提供即時資料訪問。
支援高級方案:擴展性模型旨在支援高級方案,例如創建特定於域的語言和自定義工作流。 這種靈活性確保 Power Fx 可以進行調整以滿足不同行業和用例的獨特需求。
作為開發人員或高級製作者,瞭解和使用可擴充性模型,開發人員可以使用以下方式創建更強大、更靈活和使用者友好的應用程式 Power Fx。 該模型不僅增強了語言的功能,還使其更容易被更廣泛的用戶訪問和有價值。
使用者定義類型
測試引擎中的 Power Apps 使用者定義類型 (UTT) 允許您定義可在測試計劃中使用的自訂數據結構。 此功能使您能夠創建適合特定測試需求的複雜數據類型,從而增強測試用例的靈活性和可重用性。
UDT 範例
此範例演示如何在檔案中 testSettings.yaml 定義和使用 UDT:
powerFxTestTypes:
- name: ControlName
value: |
{ControlName: Text}
- name: Options
value: |
[{Name: Text, Value: Number}]
UDT 示例說明
該 powerFxTestTypes 部分定義了兩種新類型: ControlName and Options。
-
ControlName是一個簡單類型,具有 type 的單個屬性ControlNameText。 -
Options是一種更複雜的類型,表示物件清單,每個物件都有Name(類型Text)和Value(類型Number)。
您可以在測試案例中使用這些類型來定義變數並驗證其屬性。 例如,您可以設置類型 Options 變數,並驗證它是否包含預期 Name 的和 Value 對。
用戶定義函數
測試引擎中的 Power Apps 使用者定義函數 (UDF) 允許您定義可在測試計劃中使用的自定義函數。 此功能使您能夠創建適合特定測試需求的複雜函數,從而增強測試用例的靈活性和可重用性。
UDF 的好處
- 可重用性:UDF 允許您定義一次複雜函數,並在多個測試用例中重用它們。 這減少了冗餘並確保測試計劃的一致性。
- 可讀性:使用 UDF 使您的測試計劃更具可讀性和更易於維護。 通過定義自定義函數,您可以封裝複雜的邏輯並使您的測試用例更易於理解。
- 靈活性:UDF 提供了創建適合您特定測試要求的自定義函數的靈活性。 使用此方法可以定製測試用例,以更好地滿足應用程式的需求。
- 可維護性:使用 UDF,可以在一個地方對函數進行更改,從而減少更新多個測試用例所需的工作量。 這提高了測試計劃的可維護性。
UDF 範例
此範例演示如何在檔案中 testSettings.yaml 定義和使用 UDF:
testFunctions:
- description: Wait until control is visible using Document Object Model (DOM) selector
code: |
WaitUntilVisible(control: Text): Void =
Preview.PlaywrightAction(Concatenate("//div[@data-id='", control, "']"), "wait");
- description: Get the options for a control using Power Fx control from Model Driven App (MDA)
code: |
GetOptions(control: ControlName): Options =
Preview.GetOptions(control);
UDF 示例說明
該 testFunctions 部分定義了兩個新函數:
-
WaitUntilVisible接受controltypeText的參數,並使用 DOM 選擇器等待指定的控件可見。 -
GetOptions採用controltypeControlName的參數,並返回從模型驅動應用 (MDA) 使用指定 Power Fx 控件的選項。
在測試用例中使用這些函數來執行特定作或檢索數據。 例如,可用於 WaitUntilVisible 確保控制件在與控制項交互之前可見,並 GetOptions 檢索和驗證可用於控件的選項。