Ask a Question

How to Integrate a *.chm help file with TestComplete for functions written into script units

SOLVED
TheGhost
Contributor

How to Integrate a *.chm help file with TestComplete for functions written into script units

Hi

Given I can generate a chm file for utility functions written into scripts (not script extensions) is there a way to integrate this with the interactive help system in TestComplete so <F1> on one of my utility functions will bring up my help file topic for this function.

 

I do not want to put this functionality into script extensions (unless there is a way to create dummy method definitons that do not come up in the IDE).

 

Thanks

John

2 REPLIES 2
HKosova
SmartBear Alumni (Retired)

Hi John,

 

Yes, it's possible. You can put your CHM in the <TestComplete>\Help folder, and if it meets the requirements below, it will be automatically integrated into F1 help, TestComplete help contents (TOC), index, and full-text search.

 

Example

Attached is a sample CHM file (with source code) that illustrates help integration. It has an F1 topic for MyFunction. Copy this CHM file to the <TestComplete>\Help folder to try it out.

 

Implementation Details

 

  • The CHM file must be named TestCompleteExtension1.chm, and must be in the <TestComplete>\Help folder. If you have several CHM files, name them TestCompleteExtension2.chm and so on, up to 20.

  • For F1 to work, topics must include ALinks with the function names and other keywords needed:

    <!-- MyFunction.htm -->
    <head>
       ...
       <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
         <param name="ALink Name" value="MyFunction">
       </object>
    </head>
    You can use multiple ALinks in the same tag:

  • <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
      <param name="ALink Name" value="MyFunction">
      <param name="ALink Name" value="MyFunctionEx">
    </object>
    Note that the keywords / function names in ALinks are case-sensitive.

  • If you use a table of contents (TOC), the TOC file (.hhc) must have the same name as the CHM file, for example, TestCompleteExtension1.hhc.
    All items in the TOC should be grouped under a top-level folder - this folder will appear at the end of the TestComplete help TOC.

  • The CHM file must be compiled with binary index.

    ; HHP file
    
    [OPTIONS]
    Binary Index=Yes
  • The CHM file must include window definitions named Main and $global_Main. Your default window definition can be different; these two are used only for F1 integration. Or you can use one of them as your default window.

    ; HHP file
    
    [WINDOWS]
    Main="My TestComplete Extension","TestCompleteExtension1.hhc","TestCompleteExtension1.hhk","YourDefaultTopic.htm","YourHomeTopic.htm",other options if needed
    $global_Main="My TestComplete Extension","TestCompleteExtension1.hhc","TestCompleteExtension1.hhk","YourDefaultTopic.htm","YourHomeTopic.htm", other options if needed
  • If you need to use Context IDs, use IDs from 18000 and up.

    ; HHP file
    
    [ALIAS]
    Topic1 = topic1.htm
    Topic2 = more\topic2.htm
    
    [MAP]
    #define Topic1 18000
    #define Topic2 18001

 

Known Issues

 

  • F1 for your keywords opens two help windows (your CHM file, and the TestComplete help file in the background) instead of a single window with the merged help files. This will be fixed in TestComplete 11.1.

 

Hope this helps, and let me know if you have further questions.


Helen Kosova
SmartBear Documentation Team Lead
________________________
Did my reply answer your question? Give Kudos or Accept it as a Solution to help others. ⬇️⬇️⬇️

Thanks Helen

Works exactly as you described :-).

John

cancel
Showing results for 
Search instead for 
Did you mean: