You can also change the way the SilkTest creates declarations by going into Record Declarations and click on the Options button. You can have ID names created based on the Caption (default) or you can use the WindowID which is good if your app uses good internal names, or you can choose to have the naming based on the class of the object so that you have TextField1, TextField2, ect.
Using the caption seems to be easiest with most applications, but I've found that a lot of web applications that are well made, names based on the WindowID are sometimes easier to use.
I've recently started using SilkTest and have encountered a problem
with identifiers. Instead of giving objects a name that makes sense,
SilkTest labels them with a text string that logically belongs to an
adjoining object. While I can figure out where everything is, the
scripts appear to make no sense. The user manual's notes on change
the name of an identifier don't make any sense either.
Has anyone out there encountered this problem and found a way to
An identifier is the GUI objectís logical name. By default, SilkTest derives the identifier from the objectís actual label or caption, removing any embedded spaces or special characters (such as accelerators).
If the object does not have a label or caption, SilkTest constructs an identifier by combining the class of the object with the objectís index. The index is the objectís order of appearance, from top left to bottom right, in relation to its sibling objects of the same class.
Note that the identifier is arbitrary, and you can change the generated one to the unique name of your choice at recording phase itself by using Ctrl+Alt option.