Has any used rational robot against a localized application, I would be gratefully if you could share your experiences and techniques?
Is their away to recognise a object (button, tree node etc) by text and ID at the same time? I.e. if the text recognition fails, the object ID is used. I thought all my text recognitions could be in English, if I run the tests against a Danish build the text recognition fails but the ID is used.
If you keep all your recognition strings in one spot as constants then it becomes easy.
Have as many header files as you need per language indicating the recognition used for that language, each using the same constant variable name. But only compile with the language header file you are testing.
Use the constants as object recognition in your scripts, and you should be ok.
If you are familiar with INI files, then use that to define your recognition string then you don't even have to recompile just copy/paste the language INI you require into the anticipated filename path.
If you plan on using ID's i'd make sure from development they weren't going to be changing... Every application i've tested and some that i've written uses dynamic ID's and adding a control to a screen just gave you a bunch of maintenance. Of course a name property that doesn't change is always better.
No inheritance with Robot.
Just a note but you speak of maintenance with your recognition strings, just where are they kept, if they are all over your scripts and librairies, then you've got a bunch of maintenance if something changes. Of course if it's already done, then it's a bit of work to go back and search and replace 1000 recognition strings but if you plan on keeping your suite for some time it's nice to have and can reduce maintenance in the long run, especially if there is a history of receiving builds where the recognition strings are broken due to change.