Known Quirks and Limitations  [updated: 08 November 2004]

Workarounds are described for most of these limitations.
  1. Validate ClipText popup dialog

  2. Validate ClipText may fail on Java Swing applications

  3. Validate Bitmap popup dialog

  4. Right Mouse Drag/Drop action is not supported

  5. htmlText command sometimes recorded as a kbText command

  6. Fail to record html-command in IE window

  7. Using Tab key on HTML pages results in htmlText inaccuracy

  8. Mouse Menu commands fail on the Windows "Start" menu

  9. Cannot use msHover command on sub-menu items

  10. Slow report refreshing with large scripts

  11. Cannot change color depth of screen

  12. Sub-script line numbers in reports

  13. Be wary of uninitialized IE Brower components

  14. Cannot use mouse messages to move scroll bars

  15. Cannot use mouse messages to interact with Flash objects

  16. Validating <SELECT> and <OPTION> objects

  17. Flash Objects sometimes need color adjustment

  18. HTML Frame and IFrame restrictions

  19. Windows XP Quirks

  1. Validate ClipText popup dialog
    When recording a valClipText command a message dialog appears after the text has been selected asking: "Validate the selected text?". This is a necessary nuisance; a delay is required for the selected text to register on the clipboard, prior to being written to the script. Wait 1-2 seconds before clicking "OK".
    Future versions of TestSmith may solve this problem in a more elegant and less intrusive way.

  2. Validate ClipText may fail on Java Swing applications
    The valClipText command may fail to recognize the selected text on a Java Swing application during the ClipText operation. If this happens the user is instructed (via a popup dialog) to manually add the required text to the vtext parameter. Care should be taken to use the correct character substitutions, if appropriate.

  3. Validate Bitmap popup dialog
    The cursor used by the valBitmap command is always the default cursor for the portion of the window being selected. This will sometimes be the I cursor or the hour glass cursor, making it hard to determine the exact click point. This limitation is due to the cursor being a shared windows resource.

  4. Right Mouse Drag/Drop action is not supported
    The Drag and Drop action with the Right Mouse button down is not supported. Actions on the pop-up menu prompting for Copy, Copy Shortcut, etc. will not be recorded.
    Workaround
    You should use the Left Mouse button to drag and drop a file or use the keyboard Cut, Copy and Paste commands to copy or move a file.

  5. htmlText command sometimes recorded as a kbText command
    Entry into an HTML input field will sometimes be recorded as a kbText command.
    This will usually not cause any playback problems but does mean that the IE window will require focus for the keyboard, whereas the htmlText actions can be played to a background window.
    Workaround
    The script can be manually edited to replace the kbText commands with correct htmlText commands. If required, the parameters for these commands can be extracted from a HTML/DOM Map.

  6. Fail to record html-command in IE window
    Testsmith fails to record a htmlClick, htmlLink, etc. in an IE window after a click on a non-IE part of the window, such as a scroll bar. The next click - or sometimes more than one click - is instead recorded as a msLClick, or in the case that Web Mode is switched on, as a warning message.
    Workaround 1
    The first click back in the IE browser window after a click outside should be somewhere unimportant and inactive, such as the background. If a msLClick gets recorded, delete it from the script and click again. Do this until a html-command is recorded (usually the second click). Delete that also from the script (it contributes nothing to the playback) and then proceed to click in the actual place (link, input, etc) that is required. The recorded command will be the appropriate html-command.
    Workaround 2
    In certain cases, usually when a page is local, or has been previously cached, a click on a link navigates very quickly to the target page and the htmlLink command is not recorded or a htmlClick command with a hidx of -1 is recorded. It is the speed at which the navigation occurs that causes the problem. If it is happening with non-local pages, you could try removing the cached version of the target page. If this does not help you should use Ctrl+Right-Click or Alt+RightClick to record a valHtmlElem command (this will not navigate away from the page) then change the command name to htmlLink, copy the href from the hhtml parameter and create a hhref parameter with that value, then remove the hhtml parameter.

    Additonal information is here.

  7. Using Tab key on HTML pages results in htmlText inaccuracy
    If you use the Tab key to move from one HTML Input Element to another and then record a text entry (htmlText command) the previous Input Element, not the current one will be recorded. This causes playback failure.
    Workaround
    Do not use the Tab key, instead use the mouse to click in each Input Element prior to entering text.
    Note: The htmlSelect command that is recorded immediately prior to the htmlText command can be cut from the script if desired, but this is not a requirement.

  8. Mouse Menu commands fail on the Windows "Start" menu
    The msMenuHilite and msMenuSelect commands do not correctly record (or playback) on the Windows "Start" menu.
    Workaround
    • Use the kbMenuSelect command to select an item from the "Start" menu.
    • Use an alternative way of launching a program, such as typing the program name in Run box (available from "Start->Run), or double-clicking a desktop icon.
    • Better still, begin the recording with the window already open and add a SET LAUNCH directive in the script to launch the application on playback.
    Additional Note
    If you do not use one of the workarounds above, be sure to delete the first msMenuSelect command that appears in the script after selecting the "Start" button. This command will have been recorded when the mouse passed over the "Shut Down..." menu item.

  9. Cannot use msHover command on sub-menu items
    The msHover command cannot be recorded on sub-menu items. Once a menu has been displayed, an item must be selected or the menu closed before other operations can be recorded.

  10. Slow report refreshing with large scripts
    With playback of a large script, or any script that plays multiple times the report refreshing may become very slow. The long delays incurred for each refresh action may put the playback into an unstable state. In these cases it is better to switch off Report Refreshing. The report will be refreshed at the end of the playback.

  11. Cannot change color depth of screen
    There is no problem in playing back a script that contains valBitmap or valSeekItem commands on a system that has had its screen resolution changed. However, on a system that has had its screen color depth changed these commands will fail.
    You are advised to add a comment at the start of your scripts specifying the screen color depth at record time.

  12. Sub-script line numbers in reports
    If a sub-script is opened with the _call command, the line numbers shown in the "Line" column of the TestSmith Report will be those from the sub-script.

  13. Be wary of uninitialized IE Brower components
    Occasionally the line:
    'WARNING: IE component is uninitialized
    will be seen in the script while recording actions on an IE browser component within an application. The reason for this is that the IE Browser component was not initialized when the window was first registered with the script (with the wndInit command), and has since become initialized through some action on the application, such as a login.
    Workaround
    Open the application before starting the recording, and carry out the required action to initialize the browser component. If the action is a login, follow it immediately by a logout (the initialized browser component will not become uninitialized).
    Once this has been done, the application can be recorded successfully.

  14. Cannot use mouse messages to move scroll bars
    Scroll bar interaction must be done by actual mouse actions. The msScrollDown and msScrollUp commands have the wmsg parameter set to wmsg=0 by default. The msLDrag command - when it acts on scrollbars - must have wmsg=0 set manually.
    See the Mouse Messaging option in Playback Options for more information on mouse messages and mouse actions.

  15. Cannot use mouse messages to interact with Flash objects
    Flash object interaction must be done by actual mouse actions. If the script contains interaction with a Flash object the MOUSE_MESSAGES advanced option should be set to 0, or all mouse commands with the wclass parameter set at wclass=MacromediaFlashPlayerActiveX should have the wmsg parameter set to wmsg=0.
    See the Mouse Messaging option in Playback Options for more information on mouse messages and mouse actions.

  16. Validating <SELECT> and <OPTION> objects
    valHtmlElem commands cannot be recorded for <SELECT> elements and the contained <OPTION> elements, due to the <SELECT> element being created as a windows control. To validate one of these objects you will need to manually insert the valHtmlElem command. The simplest way of doing this is to create a TestSmith HTML/DOM Map, then manually create a valHtmlElem command in the script, using the parameter information found in the HTML/DOM Map.
    If you want to validate the entire contents of a <SELECT> object (i.e. all the options) you should set your hvistext to include all of the options in a single string, in order. If you want to check if a single option is available in the selection, use the hvistext~ parameter and give the single name of the item as the value.
    See also the htmlChoice command for setting items in a <SELECT> object.

  17. Flash Objects sometimes need color adjustment
    Flash (and some other types of image) objects sometimes have minor color changes from one rendering to the next. If that is the case, bitmap validation will fail. However, empirical evidence suggests that there is a small, finite set of acceptable checksums for any bitmap of this type so setting the vpixelhash parameter of the valBitmap and valSeekItem commands to a pipe-separated list of pixel hashes will usually succeed. The additional pixel hashes can be extracted from the TestSmith report (.tsrep file) in the cases when the command has failed.


  18. HTML Frame and IFrame restrictions
    If the 'src' parameter of a Frame or IFrame object refers to an item that is hosted by a different server to the server hosting the main (container) page it will not be recognized in the Document Object Model (DOM) for the page.
    This means that actions on the frame item will not be recorded as html actions (e.g. htmlClick), but as regular ms actions (e.g. msLClick). It also means that a HTML/DOM map of the frame item cannot be created.
    In order to record the frame item using html commands it will need to be opened as a top-level page.

  19. Windows XP Quirks
    When TestSmith is installed on Windows XP you may notice that the "Continue Recording" button and menu item are always grayed out, and that even though the Format Commands with New Lines & Tabs option is checked it has no effect on the format of commands. Both quirks can be fixed by unchecking the Format Commands with New Lines & Tabs option, clicking the OK button, then closing TestSmith. Next time you reopen TestSmith (re)check the Format Commands with New Lines & Tabs option and click OK. Both issues should now be resolved. After this TestSmith will behave as expected on Windows XP systems.