joseph_michaud's avatar
9 years ago
Status:
New Idea

Enable/disable extensions on command line

In the same fashion that we can use the GUI to enable/disable extensions, it would be nice to be able to choose which  extensions are active when TestComplete starts up.

 

/EnableExtension:[AllCommon | AllDesktop | AllWeb | AllMobile | extensionName]*[:force][:verbose]

  • AllCommon | AllDesktop | AllWeb | AllMobile - shorthand for all extensions in the category
  • extensionName - Extension to enable.  Unknown extensions are ignored.
  • force - By default, conflicts (missing required extensions) are resolved by including the required extensions.  If force is present, missing required extensions are not included.  This may result in undefined behavior.  Used for debugging purposes.
  • verbose - The full list of available extensions, any conflict messages, and the resulting list of extension/category/status (enabled or disabled) are written to the error log (if defined)

 

/DisableExtension:[AllCommon | AllDesktop | AllWeb | AllMobile | extensionName]*[:force][:verbose]

  • AllCommon | AllDesktop | AllWeb | AllMobile - shorthand for all extensions in the category
  • extensionName - Extension to disable.  Unknown extensions are ignored.
  • force - By default, conflicts (dependent extensions which rely on a missing extension) are resolved by removing the dependent extensions.  If force is present, the dependent extensions are not removed.  This may result in undefined behavior.  Used for debugging purposes.
  • verbose - The full list of available extensions, any conflict messages, and the resulting list of extension/category/status (enabled or disabled) are written to the error log (if defined)

 

Example:

TestComplete.exe /DisableExtension:AllWeb:MSAA:OCR

 

Considerations:

- The enable/disable settings will be saved (just as if we had used the GUI to make the changes).

- Multiple flags are processed in order.

 

This can be used as a method for preventing the need for certain licenses.  For example, if you have only a few Web licenses, you can use a command line which always disables the Web extensions, and then use a different command line which enables the Web extensions.

  • tristaanogre's avatar
    tristaanogre
    Esteemed Contributor

    Isn't this already available?

    • /install:extension_name (or /ip:extension_name) - Installs the specified TestComplete plugin and enables it on the product start. The extension_name parameter specifies the fully-qualified name of the desired plugin file (.pls). This command may help you customize a testing environment on remote computers according your needs.

      Notes:

      • If the name of the plugin file includes spaces, it must be enclosed in double quotes:

        "TestComplete.exe" /install:"C:\TestComplete plugins\plugin.pls"
      • You can install only one plugin at a time.

      • When you use the command line to load a project, the specified plugin will be installed before the project is opened.

      • You cannot use this command-line argument to install script extensions.

    • /uninstall:extension_name (or /up:extension_name) - Uninstalls the specified TestComplete plugin on the product start. The extension_name parameter specifies the fully-qualified name of the plugin file (.pls). This command may help you customize a testing environment on remote computers according your needs.

      Notes:

      • If the name of the plugin file includes spaces, it must be enclosed in double quotes:

        "TestComplete.exe" /uninstall:"C:\TestComplete plugins\plugin.pls"
      • You can uninstall only one plugin at a time.

      • This command will not delete the actual file from the disk.

      • When you use the command line to load a project, the specified plugin will be uninstalled before the project is opened.

      • You cannot use this command-line argument to uninstall script extensions.

  • Mostly because I'm not looking to add and remove extensions from TestComplete but simply to enable and disable what is there.  It is insufficient with uninstall (say) to specify something that is present, the extension is still enabled.  (I tried the Selenium extension.)  And I don't want to muck about with adding and removing files, or doing anything to the installation, to achieve the effect.

     

     

  • tristaanogre's avatar
    tristaanogre
    Esteemed Contributor

    Ah, gotcha... enable/disable... makes sense.  That is a difference.

  • mgroen2's avatar
    mgroen2
    Super Contributor

    +1 from me. Could be usefull I think when testing on resources not very rich on hardware resources (CPU/memory). Could be used to decrease load on these resources.