{"id":70047,"date":"2025-03-20T22:50:20","date_gmt":"2025-03-21T06:50:20","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/devops\/?p=70047"},"modified":"2025-12-02T07:54:47","modified_gmt":"2025-12-02T15:54:47","slug":"introducing-java-javascript-and-python-support-in-azuredevops-test-plans","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/devops\/introducing-java-javascript-and-python-support-in-azuredevops-test-plans\/","title":{"rendered":"Introducing Java, JS and Python support in Test Plans"},"content":{"rendered":"<h1>Update &#8211; December 1, 2025<\/h1>\n<p>The feature is Generally Available.<\/p>\n<h1>Support for additional languages in Test Plans<\/h1>\n<p>We are excited to announce new capabilities in Azure Test Plans that will enhance your testing workflows.<\/p>\n<p>With this latest release, we are introducing the ability to associate automated tests written in Java\/JUnit (Maven and Gradle), JS (Jest) and Python (PyTest) with test cases and then run those tests with the new Azure Test Plan task. This is an addition to the ability to associate tests written in the majority of the .NET supported frameworks, which was until now only supported via Visual Studio Code.<\/p>\n<p>Consequently, this should improve the overall manageability of your software testing processes and the ability to run automated tests directly from the Test Plans, either separately or in combination with manual tests. Here\u2019s how you can take advantage of these new features.<\/p>\n<h1>Associate your automated test from a Build Pipeline Run<\/h1>\n<ol>\n<li>First, navigate to Pipelines and choose a pipeline. <\/li>\n<li>Next, select a build. <\/li>\n<li>In the &#8220;Tests&#8221; tab, find the automated test that you want to associate with a test case.<\/li>\n<li>Select the test and from the command bar, click on &#8220;Associate Test Case&#8221;. <\/li>\n<li>Finally, the side panel, find the test case to which the automated test needs to be associated and click on &#8220;Associate&#8221;.<\/li>\n<\/ol>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2025\/01\/Screenshot-2025-01-07-at-11.33.48.png\" alt=\"Associating automated test to a test case in Azure DevOps.\" width=\"2500\" height=\"1397\" class=\"alignleft size-full wp-image-70059\" srcset=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2025\/01\/Screenshot-2025-01-07-at-11.33.48.png 2500w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2025\/01\/Screenshot-2025-01-07-at-11.33.48-300x168.png 300w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2025\/01\/Screenshot-2025-01-07-at-11.33.48-1024x572.png 1024w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2025\/01\/Screenshot-2025-01-07-at-11.33.48-768x429.png 768w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2025\/01\/Screenshot-2025-01-07-at-11.33.48-1536x858.png 1536w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2025\/01\/Screenshot-2025-01-07-at-11.33.48-2048x1144.png 2048w\" sizes=\"(max-width: 2500px) 100vw, 2500px\" \/><\/p>\n<h1>Associate your automated test from within a test case.<\/h1>\n<ol>\n<li>To start, you can open any test case and navigate to the &#8220;Associated Automation&#8221; tab. <\/li>\n<li>Then, click on the Browse button. <\/li>\n<li>From the side panel, choose the pipeline and the specific run where the test was previously executed.<\/li>\n<li>Next, choose the test you want to associate to the work item.<\/li>\n<\/ol>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2025\/10\/associate-automated-test-to-test-case-work-item-scaled.png\" alt=\"Image associate automated test to test case\" width=\"2928\" height=\"1848\" class=\"alignleft size-full wp-image-70146\" \/><\/p>\n<h1>Run your automated tests with the new Pipeline task<\/h1>\n<p>Imagine you have a Test Plan that contains several suites with automated tests for your e-commerce website. One of the test suites contains test cases covering the checkout page of your website. The checkout page might be considered a core part of your site as it is the last step between you and the customer\u2019s cash. Given its importance, you might consider running this suite as part of a pipeline to ensure stable checkout functionality.<\/p>\n<p>Now, you can do this with the newly introduced pipelines task: <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devops\/pipelines\/tasks\/reference\/azure-test-plan-v0?view=azure-pipelines\" target=\"_blank\">Azure Test Plan<\/a>. Add this task to your pipelines and pass a Test Suite as an input variable, which contains all the test cases that have automation associated with them. You can also use a combination of automated and manual tests with this task. The pipeline won\u2019t block until manual tests execute, allowing testers to run them at their convenience. Use the task to run unit and functional tests using the JUnit (Maven and Gradle) and Python (PyTest) frameworks.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2025\/01\/Screenshot-2025-01-07-at-11.51.45.png\" alt=\"Pipeline task: Azure Test Plans\" width=\"2500\" height=\"1333\" class=\"size-full wp-image-70069\" srcset=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2025\/01\/Screenshot-2025-01-07-at-11.51.45.png 2500w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2025\/01\/Screenshot-2025-01-07-at-11.51.45-300x160.png 300w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2025\/01\/Screenshot-2025-01-07-at-11.51.45-1024x546.png 1024w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2025\/01\/Screenshot-2025-01-07-at-11.51.45-768x409.png 768w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2025\/01\/Screenshot-2025-01-07-at-11.51.45-1536x819.png 1536w, https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2025\/01\/Screenshot-2025-01-07-at-11.51.45-2048x1092.png 2048w\" sizes=\"(max-width: 2500px) 100vw, 2500px\" \/><\/p>\n<p>Worth noting that, for tests written in C#, you can still leverage the existing, <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devops\/pipelines\/tasks\/reference\/vstest-v3?view=azure-pipelines\" target=\"_blank\">VSTest@3<\/a> task.<\/p>\n<p>If you need to execute the tests on an ad hoc basis, outside your regular pipeline runs, you can do this from the test plans. Check out this doc that will walk you through how to <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devops\/test\/run-automated-tests-from-test-hub?view=azure-devops\" target=\"_blank\">run automated tests from test plans<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Update &#8211; December 1, 2025 The feature is Generally Available. Support for additional languages in Test Plans We are excited to announce new capabilities in Azure Test Plans that will enhance your testing workflows. With this latest release, we are introducing the ability to associate automated tests written in Java\/JUnit (Maven and Gradle), JS (Jest) [&hellip;]<\/p>\n","protected":false},"author":176848,"featured_media":70056,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,252],"tags":[],"class_list":["post-70047","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","category-testing"],"acf":[],"blog_post_summary":"<p>Update &#8211; December 1, 2025 The feature is Generally Available. Support for additional languages in Test Plans We are excited to announce new capabilities in Azure Test Plans that will enhance your testing workflows. With this latest release, we are introducing the ability to associate automated tests written in Java\/JUnit (Maven and Gradle), JS (Jest) [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/70047","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/users\/176848"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/comments?post=70047"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/70047\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media\/70056"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media?parent=70047"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/categories?post=70047"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/tags?post=70047"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}