1.       What does TFSM mean?

TFSM means TestComplete Find Search Mode. TFSM is a name of the search algorithm. It uses Test Complete API to find AUT’s objects. 

 

2.       How can I use TFSM algorithm?

Just add  :TFSM: prefix at beginning of the recognition string. 

 

Example: 

MainWindow]

MainWindow=“:TFSM:processName=iexplore;objecttype=Page;url=http://www.google.ca/”

HtmlLink=”TFSM:tagName=A;namePropStr=advanced_search*

 

Note: processName if not a window property, but TFSM must require as part of the main window recognition string only.

Above example is for IE, so the processName is “iexplore”. The processName is case insensitive and define anywhere into the string.

 

3.       What are the benefits of TFSM recognition string?

 

1.       The recognition string size is small and easy to maintain.

2.       The recognition string is specific to the component only, so if the AUT design change, e.g add new panel or so, the TFSM string should be same.

3.       Easy maintenance.

 

4.       Can I use TFSM mode with others modes?

Yes, add “:TFSM:”  prefix to the recognition string. SAFS engine will process prefix tag appropriately.

 

MainWindow may be regular TC recognition string and HtmlLink can be TFSM mode. Any combination works.

 

Example:  User can define appmap following way

 

MainWindow]

MainWinow=” Sys.Process("iexplore").IEFrame(0).Window("WorkerW", "Navigation Bar", 1).Window("ReBarWindow32", "", 1).Window("Address Band Root", "", 1).Window("ToolbarWindow32", "Address Combo Control", 1)”

HtmlLink =”TFSM:tagName=A;namePropStr=advanced_search*” 

 

5.       Does TFSM support regular expression to find dynamic object window?

Yes, TFSM supports regular expression. It follows the Test Complete regular expression standards.

 

 Example: 

MainWindow]

MainWindow=“:TFSM:processName=iexplore;objecttype=Page;url=http://www.google.ca/”

HtmlLink =”TFSM:tagName=A;namePropStr=advanced_search*

 

6.       How many properties require for the TFSM string?

        There are no such any rules, but as long as the object has unique property then it should work. Normally, two property are enough for the best practices.

 

        Example:

HtmlLink =”TFSM:tagName=A;namePropStr=advanced_search*

 

       

7.       What should I do if component objects can’t find by TFSM?

        There is possibility that the component objects are very deep into the AUT and TFSM can’t reach them. However, user can specify “depthLevel=<some number>” to increase the TFSM search area.   

        Example: 

MainWindow]

MainWindow=“:TFSM:processName=iexplore;objecttype=Page;url=http://www.google.ca/”

HtmlLink=”TFSM:tagName=A;namePropStr=advanced_search*;depthLevel=200

 

      Note: depthLevel is case insensitive and default number is 5.