Skip to content

ALOps App Test fails with "testSuite and extensionId" conflict when testsuite is left blank #975

Description

@RasmusTaskletfactory

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

Image

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions