Known Quirks and Limitations
[updated: 08 November 2004]
Workarounds are described for most of these limitations.
-
Validate ClipText popup dialog
-
Validate ClipText may fail on Java Swing applications
-
Validate Bitmap popup dialog
-
Right Mouse Drag/Drop action is not supported
-
htmlText command sometimes recorded as a kbText command
-
Fail to record html-command in IE window
-
Using Tab key on HTML pages results in htmlText inaccuracy
-
Mouse Menu commands fail on the Windows "Start" menu
-
Cannot use msHover command on sub-menu items
-
Slow report refreshing with large scripts
-
Cannot change color depth of screen
-
Sub-script line numbers in reports
-
Be wary of uninitialized IE Brower components
-
Cannot use mouse messages to move scroll bars
-
Cannot use mouse messages to interact with Flash objects
-
Validating <SELECT> and <OPTION> objects
-
Flash Objects sometimes need color adjustment
-
HTML Frame and IFrame restrictions
-
Windows XP Quirks
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
|
|