{"id":21681,"date":"2022-10-05T14:27:41","date_gmt":"2022-10-05T21:27:41","guid":{"rendered":""},"modified":"2025-06-11T07:48:05","modified_gmt":"2025-06-11T14:48:05","slug":"introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps","status":"publish","type":"post","link":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/power-apps\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/","title":{"rendered":"Introducing Test Engine: An open platform for automated testing of canvas apps"},"content":{"rendered":"\n<p class=\"has-small-font-size wp-block-paragraph\">Testing is an important part of the software development life cycle. Adequate functional testing of applications helps to ensure that business processes stay unblocked, helps to reduce support costs, and helps to build trust in your applications. And as apps grow and become more complex, the ability to ensure that changes do not break or alter the app experience becomes more and more critical. Our mission is to empower all makers of Power Apps to easily create robust tests that can be seamlessly integrated into your organization\u2019s application lifecycle management (ALM) practices.<\/p>\n\n\n<h3 class=\"wp-block-heading\"><strong>Introducing Test Engine<\/strong><\/h3>\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">We\u2019re excited to announce the initial preview of <a href=\"https:\/\/github.com\/microsoft\/PowerApps-TestEngine\">Test Engine<\/a>, an evolution of our Power Apps testing tools. Test Engine builds upon the key use cases of Test Studio, but takes it in a new, powerful direction through open source collaboration and use of the Playwright browser testing platform. The goals of Test Engine are to provide customers with a robust testing platform for all types of Power Apps, and to make it super easy to integrate automated testing into your app development processes.<\/p>\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Today\u2019s announcement is the first step towards those goals. The project is provided as an <a href=\"https:\/\/github.com\/microsoft\/PowerApps-TestEngine\">Open Source project on GitHub<\/a> that, when built, will create a local executable that you can use to execute tests.<\/p>\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">This initial release supports the ability to author tests for Power Apps canvas applications. We plan to continue to iterate on this project, adding support for all types of Power Apps, as well as enhanced tooling to facilitate integration into your CI\/CD systems like <a href=\"https:\/\/github.com\/features\/actions\">GitHub<\/a> and <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devops\/pipelines\/tasks\/?view=azure-devops\">Azure DevOps<\/a>. For now, we welcome you to exercise this tool and give us feedback as we continue to build out the platform.<\/p>\n\n\n<h3 class=\"wp-block-heading\"><strong>Power Fx test authoring<\/strong><\/h3>\n\n\n<p class=\"has-small-font-size wp-block-paragraph\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/power-platform\/power-fx\/overview\">Power Fx<\/a> is the low-code language for Power Platform, and that includes Test Engine. There is no need to write any C#, JavaScript, or any complex code to define your tests. Tests are defined in easy-to-read YAML files using the familiar Power Fx language. Using a few Power Fx functions that you already know from Test Studio like <a href=\"https:\/\/github.com\/microsoft\/PowerApps-TestEngine\/blob\/main\/docs\/PowerFX\/Select.md\">Select<\/a>, <a href=\"https:\/\/github.com\/microsoft\/PowerApps-TestEngine\/blob\/main\/docs\/PowerFX\/Assert.md\">Assert<\/a>, <a href=\"https:\/\/github.com\/microsoft\/PowerApps-TestEngine\/blob\/main\/docs\/PowerFX\/SetProperty.md\">SetProperty<\/a>, and <a href=\"https:\/\/learn.microsoft.com\/en-us\/power-platform\/power-fx\/reference\/function-first-last\">Index<\/a>, you can define the sequence of steps your test should run. Here is an example of a Test Engine test case:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" alt=\"text\" class=\"wp-image-21823 webp-format\" src=\"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2022\/10\/image-5.webp\" srcset=\"\" data-orig-src=\"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2022\/10\/image-5.webp\"><\/figure>\n\n\n<h3 class=\"wp-block-heading\"><strong>Connector mocking<\/strong><\/h3>\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Test Engine allows you to define <a href=\"https:\/\/github.com\/microsoft\/PowerApps-TestEngine\/blob\/main\/docs\/Yaml\/test.md#networkrequestmocks\">mock responses for connectors<\/a>.\u00a0 This technique lets makers continue testing of Power Apps while isolating it from the remote APIs that the app connects to.\u00a0 This can be useful your apps hit endpoints that have side effects, like inserting rows into Dataverse tables.<\/p>\n\n\n<h3 class=\"wp-block-heading\"><strong>Screenshot function and video recording<\/strong><\/h3>\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Test Engine introduces the new Power Fx function <a href=\"https:\/\/github.com\/microsoft\/PowerApps-TestEngine\/blob\/main\/docs\/PowerFX\/Screenshot.md\">Screenshot()<\/a> that allows you to take a screenshot of the app state at any point during the test run. \u00a0For example, you may want to take a screenshot at the beginning and the end of your test suite to capture what the end user sees.\u00a0 In this example, a screenshot is captured at the beginning of each test case, and upon completion of the test suite:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" alt=\"\" class=\"wp-image-21824 webp-format\" src=\"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2022\/10\/image-1-1.webp\" srcset=\"\" data-orig-src=\"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2022\/10\/image-1-1.webp\"><\/figure>\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Test Engine can also automatically record a video of the entire test run.\u00a0 Simply set <a href=\"https:\/\/github.com\/microsoft\/PowerApps-TestEngine\/blob\/main\/docs\/Yaml\/testSettings.md\">the recordVideo setting<\/a> to true.\u00a0 You can use the captured video to observe exactly what the end user is seeing during the test run.\u00a0 This can be very useful when diagnosing and investigating failed tests.<\/p>\n\n\n<h3 class=\"wp-block-heading\"><strong>Only update tests when you update your app<\/strong><\/h3>\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">We have heard from customers that using traditional browser automation tools to test Power Apps apps is difficult to get right and frequently breaks, requiring lots of updates to tests when the maker hasn\u2019t made any changes to the app.\u00a0 This is because traditional testing methods require the test author to interact with the browser document object model (DOM) of the app as its UI is rendered in the web player.\u00a0 With Test Engine, all of this is handled by the platform.\u00a0 Your tests are written using Power Fx and referencing the names of the controls that you define at design-time.\u00a0 You will only need to update your test plans if you make changes to the app itself.<\/p>\n\n\n<h3 class=\"wp-block-heading\"><strong>Coming Soon: Reuse tests recorded in Test Studio with Test Engine<\/strong><\/h3>\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">If you are a user of <a href=\"https:\/\/learn.microsoft.com\/en-us\/power-apps\/maker\/canvas-apps\/test-studio\">Test Studio<\/a> and already have tests recorded using that tool, we are providing a way that you can reuse them directly in Test Engine.\u00a0 The ability to download test suites from Test Studio will start rolling out to customer tenants towards the end of October 2022.\u00a0 The downloaded test suite can be used in Test Engine without any modification to the test plan file.\u00a0 Watch the Power Apps Studio release notes for information about when the rollout starts.\u00a0<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" alt=\"graphical user interface, application\" class=\"wp-image-21826 webp-format\" src=\"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2022\/10\/image-3-1.webp\" srcset=\"\" data-orig-src=\"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2022\/10\/image-3-1.webp\"><\/figure>\n\n\n<h3 class=\"wp-block-heading\"><strong>Next steps<\/strong><\/h3>\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Visit <a href=\"https:\/\/github.com\/microsoft\/PowerApps-TestEngine#getting-started\">Test Engine on GitHub<\/a> and try it out. You can build the solution with a couple commands.\u00a0 Once you\u2019ve done that, the Test Engine repo has a <a href=\"https:\/\/github.com\/microsoft\/PowerApps-TestEngine#using-the-provided-samples\">library of sample test plans and solutions<\/a> you can use to get started.\u00a0 To use the samples, import the provided solutions into your tenant and run the corresponding test plan.\u00a0 Since it\u2019s open source, we welcome contributions to both code and documentation.\u00a0 <a href=\"https:\/\/github.com\/microsoft\/PowerApps-TestEngine#how-to-report-issues\">Let us know about any bugs, feedback, and feature requests<\/a> using the Issues list within the GitHub project.<\/p>\n\n\n<p class=\"has-small-font-size wp-block-paragraph\"><strong>Happy testing!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We\u2019re excited to announce the initial preview of Test Engine, an evolution of our Power Apps testing tools. Test Engine builds upon the key use cases of Test Studio, but takes it in a new, powerful direction through open source collaboration and use of the Playwright browser testing platform. The goals of Test Engine are to provide customers with a robust testing platform for all types of Power Apps, and to make it super easy to integrate automated testing into your app development processes.<\/p>\n","protected":false},"author":270,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","ms-ems-related-posts":[],"footnotes":""},"audience":[3378],"content-type":[],"job-role":[],"product":[3473],"property":[],"topic":[3421,3422],"coauthors":[2231],"class_list":["post-21681","post","type-post","status-publish","format-standard","hentry","audience-it-professional","product-power-apps","topic-application-modernization","topic-hyperautomation"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Introducing Test Engine: An open platform for automated testing of canvas apps - Microsoft Power Platform Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/2022\/10\/05\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing Test Engine: An open platform for automated testing of canvas apps - Microsoft Power Platform Blog\" \/>\n<meta property=\"og:description\" content=\"We\u2019re excited to announce the initial preview of Test Engine, an evolution of our Power Apps testing tools. Test Engine builds upon the key use cases of Test Studio, but takes it in a new, powerful direction through open source collaboration and use of the Playwright browser testing platform. The goals of Test Engine are to provide customers with a robust testing platform for all types of Power Apps, and to make it super easy to integrate automated testing into your app development processes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/power-apps\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Power Platform Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-05T21:27:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-11T14:48:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2022\/10\/image-5.png\" \/>\n<meta name=\"author\" content=\"Chris Baldwin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Chris Baldwin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/2022\\\/10\\\/05\\\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/2022\\\/10\\\/05\\\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\\\/\"},\"author\":[{\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/author\\\/chris-baldwin\\\/\",\"@type\":\"Person\",\"@name\":\"Chris Baldwin\"}],\"headline\":\"Introducing Test Engine: An open platform for automated testing of canvas apps\",\"datePublished\":\"2022-10-05T21:27:41+00:00\",\"dateModified\":\"2025-06-11T14:48:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/2022\\\/10\\\/05\\\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\\\/\"},\"wordCount\":882,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/2022\\\/10\\\/05\\\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/image-5.png\",\"keywords\":[\"Power Fx\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/2022\\\/10\\\/05\\\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/2022\\\/10\\\/05\\\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\\\/\",\"url\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/2022\\\/10\\\/05\\\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\\\/\",\"name\":\"Introducing Test Engine: An open platform for automated testing of canvas apps - Microsoft Power Platform Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/2022\\\/10\\\/05\\\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/2022\\\/10\\\/05\\\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/image-5.png\",\"datePublished\":\"2022-10-05T21:27:41+00:00\",\"dateModified\":\"2025-06-11T14:48:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/2022\\\/10\\\/05\\\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/2022\\\/10\\\/05\\\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/2022\\\/10\\\/05\\\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\\\/#primaryimage\",\"url\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/image-5.webp\",\"contentUrl\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/image-5.webp\",\"width\":975,\"height\":332,\"caption\":\"text\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/2022\\\/10\\\/05\\\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing Test Engine: An open platform for automated testing of canvas apps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/\",\"name\":\"Microsoft Power Platform Blog\",\"description\":\"Innovate with Business Apps\",\"publisher\":{\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/#organization\",\"name\":\"Microsoft Power Platform Blog\",\"url\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/Microsoft-Logo-e1685482038800.png\",\"contentUrl\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/Microsoft-Logo-e1685482038800.png\",\"width\":194,\"height\":145,\"caption\":\"Microsoft Power Platform Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/#\\\/schema\\\/person\\\/8ceb1ed67d32f0f42d44e3eae703ea2d\",\"name\":\"Chris Baldwin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/df83572caa79ffb43fc7ad00bfd04651cc8b63a99b52d0fdf151de155e63d8fc?s=96&d=mm&r=gcf23aa4b31af75d697697d2c8988b38a\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/df83572caa79ffb43fc7ad00bfd04651cc8b63a99b52d0fdf151de155e63d8fc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/df83572caa79ffb43fc7ad00bfd04651cc8b63a99b52d0fdf151de155e63d8fc?s=96&d=mm&r=g\",\"caption\":\"Chris Baldwin\"},\"url\":\"https:\\\/\\\/new-cm-edgedigital.pages.dev\\\/en-us\\\/power-platform\\\/blog\\\/author\\\/chrisbal\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Introducing Test Engine: An open platform for automated testing of canvas apps - Microsoft Power Platform Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/2022\/10\/05\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/","og_locale":"en_US","og_type":"article","og_title":"Introducing Test Engine: An open platform for automated testing of canvas apps - Microsoft Power Platform Blog","og_description":"We\u2019re excited to announce the initial preview of Test Engine, an evolution of our Power Apps testing tools. Test Engine builds upon the key use cases of Test Studio, but takes it in a new, powerful direction through open source collaboration and use of the Playwright browser testing platform. The goals of Test Engine are to provide customers with a robust testing platform for all types of Power Apps, and to make it super easy to integrate automated testing into your app development processes.","og_url":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/power-apps\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/","og_site_name":"Microsoft Power Platform Blog","article_published_time":"2022-10-05T21:27:41+00:00","article_modified_time":"2025-06-11T14:48:05+00:00","og_image":[{"url":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2022\/10\/image-5.png","type":"","width":"","height":""}],"author":"Chris Baldwin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Chris Baldwin","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/2022\/10\/05\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/#article","isPartOf":{"@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/2022\/10\/05\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/"},"author":[{"@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/author\/chris-baldwin\/","@type":"Person","@name":"Chris Baldwin"}],"headline":"Introducing Test Engine: An open platform for automated testing of canvas apps","datePublished":"2022-10-05T21:27:41+00:00","dateModified":"2025-06-11T14:48:05+00:00","mainEntityOfPage":{"@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/2022\/10\/05\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/"},"wordCount":882,"commentCount":0,"publisher":{"@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/#organization"},"image":{"@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/2022\/10\/05\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/#primaryimage"},"thumbnailUrl":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2022\/10\/image-5.png","keywords":["Power Fx"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/2022\/10\/05\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/2022\/10\/05\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/","url":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/2022\/10\/05\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/","name":"Introducing Test Engine: An open platform for automated testing of canvas apps - Microsoft Power Platform Blog","isPartOf":{"@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/2022\/10\/05\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/#primaryimage"},"image":{"@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/2022\/10\/05\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/#primaryimage"},"thumbnailUrl":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2022\/10\/image-5.png","datePublished":"2022-10-05T21:27:41+00:00","dateModified":"2025-06-11T14:48:05+00:00","breadcrumb":{"@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/2022\/10\/05\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/2022\/10\/05\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/2022\/10\/05\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/#primaryimage","url":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2022\/10\/image-5.webp","contentUrl":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2022\/10\/image-5.webp","width":975,"height":332,"caption":"text"},{"@type":"BreadcrumbList","@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/2022\/10\/05\/introducing-test-engine-an-open-platform-for-automated-testing-of-canvas-apps\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing Test Engine: An open platform for automated testing of canvas apps"}]},{"@type":"WebSite","@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/#website","url":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/","name":"Microsoft Power Platform Blog","description":"Innovate with Business Apps","publisher":{"@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/#organization","name":"Microsoft Power Platform Blog","url":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png","contentUrl":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png","width":194,"height":145,"caption":"Microsoft Power Platform Blog"},"image":{"@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/#\/schema\/person\/8ceb1ed67d32f0f42d44e3eae703ea2d","name":"Chris Baldwin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/df83572caa79ffb43fc7ad00bfd04651cc8b63a99b52d0fdf151de155e63d8fc?s=96&d=mm&r=gcf23aa4b31af75d697697d2c8988b38a","url":"https:\/\/secure.gravatar.com\/avatar\/df83572caa79ffb43fc7ad00bfd04651cc8b63a99b52d0fdf151de155e63d8fc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/df83572caa79ffb43fc7ad00bfd04651cc8b63a99b52d0fdf151de155e63d8fc?s=96&d=mm&r=g","caption":"Chris Baldwin"},"url":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/author\/chrisbal\/"}]}},"bloginabox_animated_featured_image":null,"bloginabox_display_generated_audio":false,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Power Platform Blog","distributor_original_site_url":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/21681","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/users\/270"}],"replies":[{"embeddable":true,"href":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/comments?post=21681"}],"version-history":[{"count":1,"href":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/21681\/revisions"}],"predecessor-version":[{"id":130059,"href":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/21681\/revisions\/130059"}],"wp:attachment":[{"href":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/media?parent=21681"}],"wp:term":[{"taxonomy":"audience","embeddable":true,"href":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/audience?post=21681"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/content-type?post=21681"},{"taxonomy":"job-role","embeddable":true,"href":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/job-role?post=21681"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/product?post=21681"},{"taxonomy":"property","embeddable":true,"href":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/property?post=21681"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/topic?post=21681"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/new-cm-edgedigital.pages.dev\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/coauthors?post=21681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}