Forum Discussion
Two options are possible:
a) Add the unit as Existing One (as described in the help article referenced by you). This will not create a copy, but reference existing unit from another project. Changes made to the script code will be available in both projects. And
b) Move the needed code to the Script Extension. You will have to install this Script Extension on all machines running tests that make use of extension's functionality, but, on the other hand, no referencing from within test project(s) is required.
i have a realted issue:
I have tried both the methods to call a function from another project. Call goes fine but script execution fails due to object not found error. How would i make use of the NameMapping objects that belong to Project 2.
To make it simple:
' Unit A has a reference for unit B
'Unit A is in Project A
'call is from unit A to --> sub B of unit B
Unit A
'calling sub B from unit A (below statement)
unit B.Sub B
-------------------------------
'Unit B is in a Project B and has its own Namemapping.
Unit B
Sub B
' here obj_B is getting used.
end sub
Here is the issue:
NameMapping for Project A has something like:
Aliases.Process_A.obj_Parent.obj_A
NameMapping for Project B has something like:
Aliases.Process_A.obj_Parent.obj_B
The script tries to find obj_B in the NameMapping for Project A which is what causing it to fail.
How would i make sure that obj_B should be found in NameMapping of Project B?
Please note that if i execute Sub B from project B on its own (without calling it from Proj A) then it passes without any issues.
Please help.
Many thanks.
-vik
- NisHera9 years agoValued Contributor
In simple terms Project A uses mappings in project A not B
Even if it reffers project B.
So you should have Aliases.Process_A.obj_Parent.obj_B in project A.
You can merge Mapping of B with Mapping A link
what I do is keep common namemapping file so that project A,B, and C all refres to one file
- vik339 years agoOccasional Contributor
NisHera Many thanks for your reply. The only reason why i am doing all this is this - If i keep everything in one project my Object Repository (NameMapping) becomes quite large and then i start having issues like :
- object identification
- Project takes 4-5 minutes to open.
The application is based on JAVA Swing objects. I have to populate different windows from the main windows and it's hard to specify properties to all the windows so that no object identification issues occur (or i am not good at object identification techniques). So, i thought keeping different scripts in different projects means - every script will use its own NameMapping and will have no conflicts of object identification. But i guess, that's not right. Even if i refer any script from projectB from ProjectA, it would still use NameMapping of ProjectA.
Any other solution to this problem? I am going to try merging of NameMapping with different configurations though.
Thanks for your time.
-Vik