Describe the bug
When running ALOps App Test using extensionId, the task fails with the error:
Run-Test-Exception: You cannot specify testSuite and extensionId at the same time
This happens even though the testsuite parameter is left blank and not intended to be used.
From the logs, it appears that ALOps still treats testsuite as active and passes it to the Business Central test runner, causing a conflict with extensionId.
the used yaml
- task: Hodor.hodor-alops.alopsapptest.ALOpsAppTest@1
displayName: ALOps App Test
inputs:
usedocker: true
nav_serverinstance: BC140
import_testtoolkit: false
import_action: Skip
testpage: 130455
testsuite: ''
extensionid: b6e75432-5745-4440-8bda-a29be9a00bc1
failed_test_action: Error
the output
2026-05-22T12:09:18.8768738Z ##[section]Starting: ALOps App Test
2026-05-22T12:09:18.8847950Z ==============================================================================
2026-05-22T12:09:18.8848074Z Task : ALOps App Test
2026-05-22T12:09:18.8848585Z Description : Run AL-TestSuite for Business Central
2026-05-22T12:09:18.8848670Z Version : 1.477.11305
2026-05-22T12:09:18.8848731Z Author : Hodor
2026-05-22T12:09:18.8848793Z Help : Run Business Central Test-Suite and collect results.
2026-05-22T12:09:18.8848877Z ==============================================================================
2026-05-22T12:09:19.3535705Z *** Validate configuration
2026-05-22T12:09:19.3802365Z *** Task Inputs:
2026-05-22T12:09:19.3828090Z
2026-05-22T12:09:19.3886586Z name value
2026-05-22T12:09:19.3888695Z ---- -----
2026-05-22T12:09:19.3890641Z usedocker True
2026-05-22T12:09:19.3891125Z fixed_tag
2026-05-22T12:09:19.3892585Z nav_serverinstance BC140
2026-05-22T12:09:19.3892935Z tenant default
2026-05-22T12:09:19.3894737Z companyname
2026-05-22T12:09:19.3895072Z profile
2026-05-22T12:09:19.3897049Z bc_username
2026-05-22T12:09:19.3898307Z bc_password
2026-05-22T12:09:19.3899611Z bc_authentication NavUserPassword
2026-05-22T12:09:19.3900907Z bc_webclient_url
2026-05-22T12:09:19.3902146Z testfilter
2026-05-22T12:09:19.3903136Z disabledtests
2026-05-22T12:09:19.3903936Z show_available_tests True
2026-05-22T12:09:19.3904245Z import_testtoolkit False
2026-05-22T12:09:19.3904491Z import_action Skip
2026-05-22T12:09:19.3904730Z testpage 130455
2026-05-22T12:09:19.3905101Z testsuite
2026-05-22T12:09:19.3906911Z extensionid a5727ce6-368c-49e2-84cb-1a6052f0551c
2026-05-22T12:09:19.3907245Z installaltesttool False
2026-05-22T12:09:19.3908755Z failed_test_action Error
2026-05-22T12:09:19.3909048Z override_finsql_path
2026-05-22T12:09:19.3910207Z resultfilename TestResults.xml
2026-05-22T12:09:19.3911371Z testrunnercodeunitid
2026-05-22T12:09:19.3913017Z allow_zero_tests False
2026-05-22T12:09:19.3913167Z
2026-05-22T12:09:19.3923711Z
2026-05-22T12:09:19.3928927Z
2026-05-22T12:09:19.4051416Z True
2026-05-22T12:09:19.4124661Z *** For documentation, please visit : https://www.alops.be/documentation
2026-05-22T12:09:19.4127443Z
2026-05-22T12:09:19.8674778Z *** Importing required PS-Functions
2026-05-22T12:09:19.8887895Z *** Working folder: C:\vsts-agent-win-x64-2.217.2\_work\80\s
2026-05-22T12:09:19.8892340Z ***
2026-05-22T12:09:19.8896584Z *** Prepare Docker Session
2026-05-22T12:09:20.0926665Z *** Connect Docker Session
2026-05-22T12:09:20.0995836Z *** Initiate Docker Session
2026-05-22T12:09:20.2551253Z *** Set Docker Container ErrorActionPreference = Stop
2026-05-22T12:09:20.2632860Z *** Container Session Powershell Version
2026-05-22T12:09:20.3131914Z
2026-05-22T12:09:20.3132219Z
2026-05-22T12:09:20.3132780Z Name : PSVersion
2026-05-22T12:09:20.3134126Z Value : 5.1.20348.4294
2026-05-22T12:09:20.3134276Z
2026-05-22T12:09:20.3134476Z Name : PSEdition
2026-05-22T12:09:20.3134681Z Value : Desktop
2026-05-22T12:09:20.3134926Z
2026-05-22T12:09:20.3135138Z Name : PSCompatibleVersions
2026-05-22T12:09:20.3135379Z Value : {1.0, 2.0, 3.0, 4.0...}
2026-05-22T12:09:20.3135491Z
2026-05-22T12:09:20.3135683Z Name : BuildVersion
2026-05-22T12:09:20.3135906Z Value : 10.0.20348.4294
2026-05-22T12:09:20.3136003Z
2026-05-22T12:09:20.3136201Z Name : CLRVersion
2026-05-22T12:09:20.3136419Z Value : 4.0.30319.42000
2026-05-22T12:09:20.3136516Z
2026-05-22T12:09:20.3136716Z Name : WSManStackVersion
2026-05-22T12:09:20.3136934Z Value : 3.0
2026-05-22T12:09:20.3137017Z
2026-05-22T12:09:20.3137224Z Name : PSRemotingProtocolVersion
2026-05-22T12:09:20.3137442Z Value : 2.3
2026-05-22T12:09:20.3137532Z
2026-05-22T12:09:20.3137731Z Name : SerializationVersion
2026-05-22T12:09:20.3137949Z Value : 1.1.0.1
2026-05-22T12:09:20.3138051Z
2026-05-22T12:09:20.3138118Z
2026-05-22T12:09:20.3138192Z
2026-05-22T12:09:20.3138259Z
2026-05-22T12:09:20.5896020Z *** Copy Modules to Docker
2026-05-22T12:09:21.3777900Z *** Setup Docker Session
2026-05-22T12:09:21.3863189Z *** Checking for container-specific Test Assemblies
2026-05-22T12:09:21.3870485Z *** Using container-specific Test Assemblies
2026-05-22T12:09:21.5831307Z *** Import Modules in Docker Session
2026-05-22T12:09:21.6919590Z *** Import UI Client [C:\Run\DevOps\BCAppTest\bin\Microsoft.Dynamics.Framework.UI.Client.dll]
2026-05-22T12:09:21.6956498Z *** Selected module: [C:\Run\DevOps\BCAppTest\bin\Microsoft.Dynamics.Framework.UI.Client.dll]
2026-05-22T12:09:21.6960411Z *** Loading module: [C:\Run\DevOps\BCAppTest\bin\Microsoft.Dynamics.Framework.UI.Client.dll]
2026-05-22T12:09:21.9393393Z *** Import NewtonSoft JSON [C:\Program Files\Microsoft Dynamics NAV\260\Service\Management\Newtonsoft.Json.dll]
2026-05-22T12:09:21.9478927Z *** Import Modules in Docker Session: class_ClientContext
2026-05-22T12:09:22.2251878Z *** Test Context Url: https://741d0a1471b9/BC/cs?tenant=default
2026-05-22T12:09:22.2258043Z *** Setup BC Credentials in Docker
2026-05-22T12:09:22.4471789Z *** Resolve Docker Credentials
2026-05-22T12:09:22.4621349Z *** Set TCP Keep-Alive
2026-05-22T12:09:22.4698838Z *** Start TestSuite
2026-05-22T12:09:22.4927613Z *** Running TestSuite with authentication [NavUserPassword] with User [admin]
2026-05-22T12:09:22.4931917Z *** Run warm-up with page [130455]
2026-05-22T12:09:22.4938082Z *** Warm-up Client Context
2026-05-22T12:09:31.7992893Z *** Form 130455 opened successfully. Retrieve Current values.
2026-05-22T12:09:31.8470793Z *** CurrentCompanyName:
2026-05-22T12:09:31.8829238Z *** CurrentTenant:
2026-05-22T12:09:31.9120763Z *** CurrentLanguage:
2026-05-22T12:09:32.4934223Z *** Create Client Context
2026-05-22T12:09:33.2191938Z *** Get Available Tests for suite [] with page [130455]
2026-05-22T12:09:33.5617959Z Show form 0001fd97-0000-0001-0c00-0000836bd2d2
2026-05-22T12:09:33.6391104Z Title: Command Line Test Tool Command Line Test Tool
2026-05-22T12:09:33.7538018Z ##[error]Run-Test-Exception: You cannot specify testSuite and extensionId at the same time
2026-05-22T12:09:33.7578012Z *** Get XUnit Test file from [] to [C:\vsts-agent-win-x64-2.217.2\_work\80\s\]
2026-05-22T12:09:33.9444931Z ##[error]Cannot bind argument to parameter 'Path' because it is null.
2026-05-22T12:09:33.9721327Z ##[section]Finishing: ALOps App Test
Expected behavior
When testsuite is left blank, ALOps should not pass any testSuite parameter to the Business Central test runner and only use extensionId
Additional context
The log shows suite [], indicating that an empty testsuite is still being passed.
If DEFAULT is used in ALOps, the input value is not included in the YAML. Only when the value is changed from DEFAULT does the testsuite parameter become visible in YAML.
Example with testsuites set to DEFAULT (not shown in YAML):
- task: Hodor.hodor-alops.alopsapptest.ALOpsAppTest@1
displayName: ALOps App Test
inputs:
usedocker: true
nav_serverinstance: BC140
import_testtoolkit: false
import_action: Skip
testpage: 130455
failed_test_action: Error
The reason we are trying to use the extensionId approach instead of testsuite is performance related. We are experiencing that execution time increases significantly as more test codeunits are added when running via testsuites, and it seems like there is growing overhead for each additional codeunit.
We have seen the suggestion of using multiple testsuites, but maintaining several suites to split codeunits across them introduces extra work in keeping them updated as tests evolve.
Because of this, using testsuites does not scale well for us, and we would prefer to rely on the extensionId approach, but this issue is currently blocking that usage.
Describe the bug
When running ALOps App Test using extensionId, the task fails with the error:
Run-Test-Exception: You cannot specify testSuite and extensionId at the same timeThis happens even though the testsuite parameter is left blank and not intended to be used.
From the logs, it appears that ALOps still treats testsuite as active and passes it to the Business Central test runner, causing a conflict with extensionId.
the used yaml
the output
Expected behavior
When testsuite is left blank, ALOps should not pass any testSuite parameter to the Business Central test runner and only use extensionId
Additional context
The log shows suite [], indicating that an empty testsuite is still being passed.
If DEFAULT is used in ALOps, the input value is not included in the YAML. Only when the value is changed from DEFAULT does the testsuite parameter become visible in YAML.
Example with testsuites set to DEFAULT (not shown in YAML):
The reason we are trying to use the extensionId approach instead of testsuite is performance related. We are experiencing that execution time increases significantly as more test codeunits are added when running via testsuites, and it seems like there is growing overhead for each additional codeunit.
We have seen the suggestion of using multiple testsuites, but maintaining several suites to split codeunits across them introduces extra work in keeping them updated as tests evolve.
Because of this, using testsuites does not scale well for us, and we would prefer to rely on the extensionId approach, but this issue is currently blocking that usage.