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
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.
- 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.