Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Предварительные версии функций не предназначены для использования в производственной среде, а их функциональность может быть ограничена. Они доступны перед официальным выпуском, чтобы клиенты могли досрочно получить доступ и предоставить отзывы.
Вы можете использовать Учебную площадку , чтобы опробовать функции, описанные в этом руководстве.
Что такое Power Fx?
Microsoft Power Fx — это малокодовый язык программирования общего назначения, основанный на формулах, подобных электронным таблицам. Это типизированный, декларативный, функциональный язык с императивной логикой и управлением состоянием, доступными по мере необходимости. Его история, связанная с Excel, делает его доступным для широкого круга пользователей: от новичков до опытных разработчиков.
Расширенные Power Fx сценарии
Если вы уже знакомы с Power Fx, изучение расширенных сценариев может значительно расширить возможности и эффективность ваших приложений. Вот некоторые продвинутые сценарии и почему они могут быть интересны:
Создание пользовательских функций: Создание пользовательских функций позволяет разработчикам инкапсулировать сложную логику в повторно используемые компоненты. Такой подход не только упрощает процесс разработки, но и обеспечивает единообразие и снижает вероятность ошибок. Пользовательские функции можно адаптировать к конкретным бизнес-потребностям, что сделает ваш тест более мощным и гибким.
Интеграция с внешними источниками данных: Интеграция Power Fx с внешними источниками данных позволяет вашим тестам взаимодействовать с широким спектром данных, от баз данных до веб-сервисов. Такая интеграция может улучшить функциональность ваших приложений, обеспечивая доступ к данным и обновлениям в режиме реального времени. Он также позволяет проводить более динамичные и гибкие тесты, способные адаптироваться к изменяющимся данным.
Оптимизация производительности для крупномасштабных тестов: по мере роста сложности и масштаба ваших тестов оптимизация производительности становится важной. Эти оптимизации могут включать производительность, такую как эффективная обработка данных и использование встроенных функций Power Fx для повышения производительности. Эти оптимизации гарантируют, что ваши тесты останутся отзывчивыми и эффективными даже при работе с большими наборами данных и сложной логикой.
Модель расширяемости
Модель Power Fxрасширяемости Test Engines является одной из ее многочисленных привлекательных особенностей. Вы можете расширить язык пользовательскими функциями и действиями, что делает его легко адаптируемым к различным сценариям. Вот некоторые ключевые аспекты модели расширяемости:
Повторно используйте уже имеющиеся у вас навыки: модель расширяемости Power Fx позволяет вам использовать имеющиеся у вас навыки в Power Fx и других языках программирования, таких как C#. Используя этот подход, вы можете применить свои знания и опыт в Power Fx базовых тестах, что упрощает создание мощных и индивидуальных решений.
Разрешить повторное использование существующих библиотек и функций: Модель расширяемости позволяет интегрировать существующие библиотеки и функции в Power Fx. Повторное использование позволяет разработчикам повторно использовать проверенный код и сокращает время разработки, повышая надежность. Включая существующие библиотеки, вы можете улучшить функциональность своих Power Fx приложений, не изобретая велосипед.
Предоставить модель для инкапсуляции сложности для пользователей функций: Одним из существенных преимуществ модели расширяемости является ее способность инкапсулировать сложность. Создатели и разработчики могут создавать собственные функции, скрывающие сложные детали базовой логики, предоставляя конечным пользователям простой и удобный интерфейс. Абстракция позволяет каждому человеку с легкостью использовать и извлекать пользу из расширенных функциональных возможностей, не вникая в их сложность.
Улучшение совместной работы и согласованности: команды могут создавать согласованный набор пользовательских функций и действий, которые можно совместно использовать и повторно использовать в различных проектах. Использование общего
testSettings.yamlфайла может способствовать совместной работе и гарантировать соблюдение передовых практик, что приводит к созданию более надежных и удобных в обслуживании приложений.Упрощение интеграции с внешними системами: модель расширяемости обеспечивает бесшовную интеграцию с внешними системами и службами. Это означает, что вы можете подключать свои Power Fx приложения к широкому спектру источников данных и API, расширяя их возможности и обеспечивая доступ к данным в режиме реального времени.
Поддержка расширенных сценариев: Модель расширяемости предназначена для поддержки расширенных сценариев, таких как создание доменно-ориентированных языков и пользовательских рабочих процессов. Такая гибкость гарантирует, что Power Fx можно адаптировать решение под уникальные потребности различных отраслей и вариантов использования.
Будучи разработчиком или продвинутым производителем, понимая и используя модель расширяемости, разработчики могут создавать более мощные, гибкие и удобные для пользователя приложения Power Fx. Эта модель не только расширяет возможности языка, но и делает его более доступным и ценным для более широкого круга пользователей.
Пользовательские типы
Пользовательские типы данных (UDT) в Power Apps Test Engine позволяют вам определять пользовательские структуры данных, которые можно использовать в ваших планах тестирования. Эта функция повышает гибкость и возможность повторного использования ваших тестовых случаев, позволяя создавать сложные типы данных, соответствующие вашим конкретным потребностям тестирования.
Пример UDT
В этом примере показано, как определять и использовать UDT в файле: testSettings.yaml
powerFxTestTypes:
- name: ControlName
value: |
{ControlName: Text}
- name: Options
value: |
[{Name: Text, Value: Number}]
Пояснение примера UDT
В разделе powerFxTestTypes определяются два новых типа: ControlName и Options.
-
ControlName— это простой тип с единственным свойствомControlNameтипаText. -
Optionsявляются более сложным типом, представляющим собой список объектов, каждый из которых имеетName(типаText) иValue(типаNumber).
Вы можете использовать эти типы в своих тестовых случаях для определения переменных и проверки их свойств. Например, вы можете задать переменную типа Options и проверить, что она содержит ожидаемые пары Name и Value .
Пользовательские функции
Пользовательские функции (UDF) в Power Apps Test Engine позволяют вам определять пользовательские функции, которые можно использовать в ваших планах тестирования. Эта функция повышает гибкость и возможность повторного использования ваших тестовых случаев, позволяя создавать сложные функции, соответствующие вашим конкретным потребностям тестирования.
Преимущества UDF
- Повторное использование: UDF позволяют вам определить сложные функции один раз и повторно использовать их в нескольких тестовых случаях. Это снижает избыточность и обеспечивает согласованность ваших планов тестирования.
- Удобочитаемость: использование пользовательских функций делает ваши планы тестирования более удобочитаемыми и простыми в обслуживании. Определяя пользовательские функции, вы можете инкапсулировать сложную логику и сделать ваши тестовые случаи более понятными.
- Гибкость: пользовательские функции обеспечивают гибкость для создания пользовательских функций, соответствующих вашим конкретным требованиям к тестированию. Используйте этот подход, чтобы адаптировать тестовые случаи для лучшего соответствия потребностям вашего приложения.
- Поддерживаемость: с помощью пользовательских функций изменения функций можно вносить в одном месте, что сокращает усилия, необходимые для обновления нескольких тестовых случаев. Это улучшает удобство поддержки ваших планов тестирования.
Пример UDF
В этом примере показано, как определять и использовать пользовательские функции в testSettings.yaml файле:
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принимаетcontrolпараметр типаTextи ждет, пока указанный элемент управления не станет видимым с помощью селектора DOM. -
GetOptionsпринимаетcontrolпараметр типаControlNameи возвращает параметры для указанного элемента управления, используя Power Fx из приложения, управляемого моделью (MDA).
Используйте эти функции в тестовых случаях для выполнения определенных действий или извлечения данных. Например, можно использовать WaitUntilVisible для обеспечения видимости элемента управления перед взаимодействием с ним и GetOptions для извлечения и проверки доступных для элемента управления параметров.