cancel
Showing results for 
Search instead for 
Did you mean: 

Object NameMappling

SOLVED
Highlighted
Occasional Contributor

Object NameMappling

Same application is user for different banks

My script got recorded as browser.textbox,username in JavaScript

and I see the NameMapping has 'userinput' value as idstr,

When I try to execute my script for bank1 it got executed

but when I tried to execute it for bank2 it failed saying 

 

Cannot find browser.textbox  but when I see the namemapping  for browser.textbox object on the the bank2 website is also same exact value 'userinput' (ie idstr = userinput)

 

Wondering why my script is not running for bank2 (the site is exactly the same for both banks except names of banks are different)

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Staff

Re: Object NameMappling

Im assuming that when you say same application, but for different banks, that this is sort of a web application, where everything is the same except for pretty much the banking application.

 

At the top level, you'd have  browser object, and then the top level window. these windows are usually identified by the object type and the url. This means that you'd have two different objects at this level where you'd have aliases.browser.bank1TopPage that is being identified by object type browser window and the url (www.bank1.com) and then a second object aliases.browser.bank2TopPage that is being identified by the same object type but with a differnt url (www.bank2.com). This means that the subsequent objects on either page are unique to each other since they are childrens of two unique objects. So when you access browser.textbox.username for bank2 application, you are only accessing that username panel. The same "browser.textbox.username" will not work for bank1 application.

I'm willing to bet that if you look at your script (since im guessing you recorded) you would have somewhere before that first line where you access browser.text.username, you see a line like

browser = Aliases.browser.pageBank2.usernamePanel

which would mean that any of the following references to browser.text.username would only be referencing that bank2 textbox object. 

If you provide more screenshots of your script, and the name mapping file that shows the object identification properties of both username panels for each of the application (for different banks), then we could help you better. But chances are, while you are looking for this info to provide the information, you'd probably notice that they are different objects too.

-----

but to solve your problem, you could probably do conditional name mapping at the top level to identify both of the banks' application at the top level to use the same alias for both of the username panels (if everything about the application is the same for both of the banks)

Best,
Justin Kim

View solution in original post

2 REPLIES 2
Highlighted
Staff

Re: Object NameMappling

Im assuming that when you say same application, but for different banks, that this is sort of a web application, where everything is the same except for pretty much the banking application.

 

At the top level, you'd have  browser object, and then the top level window. these windows are usually identified by the object type and the url. This means that you'd have two different objects at this level where you'd have aliases.browser.bank1TopPage that is being identified by object type browser window and the url (www.bank1.com) and then a second object aliases.browser.bank2TopPage that is being identified by the same object type but with a differnt url (www.bank2.com). This means that the subsequent objects on either page are unique to each other since they are childrens of two unique objects. So when you access browser.textbox.username for bank2 application, you are only accessing that username panel. The same "browser.textbox.username" will not work for bank1 application.

I'm willing to bet that if you look at your script (since im guessing you recorded) you would have somewhere before that first line where you access browser.text.username, you see a line like

browser = Aliases.browser.pageBank2.usernamePanel

which would mean that any of the following references to browser.text.username would only be referencing that bank2 textbox object. 

If you provide more screenshots of your script, and the name mapping file that shows the object identification properties of both username panels for each of the application (for different banks), then we could help you better. But chances are, while you are looking for this info to provide the information, you'd probably notice that they are different objects too.

-----

but to solve your problem, you could probably do conditional name mapping at the top level to identify both of the banks' application at the top level to use the same alias for both of the username panels (if everything about the application is the same for both of the banks)

Best,
Justin Kim

View solution in original post

Highlighted
Community Manager

Re: Object NameMappling

Justin, that you for contributing to this thread!

 

@Saimahm Were you able to resolve this? If not, do share more details and the Community will do its best to keep helping!


Sonya Mihaljova
Community and Education Specialist
Did my reply answer your question? Give Kudos or Accept it as a Solution to help others. ⬇️⬇️⬇️
New Here?
Join us and watch the welcome video:
Announcements
Script Wanted
A new challenge is here!

Create a function to drag one element to another for the TechCorner tag!

Will you dare to take the challenge?


Scripts created in July:
- Passing custom command-line arguments as a test parameter
Top Kudoed Authors