10 Comments
- cunderwCommunity Hero
This really would not make any sense at all. It's built this way so you can reference external scripts and KWTs but organize them within the IDE. The folders are just parent items in the .tcscript xml.
- Novari-QAFrequent Contributor
I dont see how this brings anything but more organization. If i were to build selenium scripts in Visual Studio, the folders I create are created in windows explorer. This feels like a limitation.
- Marsha_RModerator
Well it's not a bug because it's working as designed. ;)
And I agree with cunderw - e.g. if I'm using tests from another directory, and I put them in the project in a folder called External, those tests already live in another Windows folder somewhere else and I don't want an empty External folder created in my project.
- Novari-QAFrequent Contributor
Okay so just because a situation like the following can happen, it was designed to handle script organization only in TestComplete?
TestCase:
In Windows Explorer Build the following
- Folder A
- Script1
- Folder B
- Script 2
Now in TestComplete, build the following structure
- Folder X
- Script1
- Folder A
Script 2
Now when i look at the project via testComplete I see one design pattern, however, when I look at the project via windows explorer I see a different design pattern. - cunderwCommunity Hero
Correct. Let me give an example for how one of our frameworks are set up. Our git repo is setup with the following folder structure.
- Scripts
- APP1_ACTIONS.js
- APP2_ACTIONS.js
- APP1_DATA.js
- APP2_DATA.js
- SHARED_DATA.js
- SHARED_ACTIONS.js
- COMMON_UTILITIES.js
- Templates
- Tests
This allows us to have a dev project that just has every unit we need for developing / debugging
Then for our templates that we clone they have their own folder structure inside test complete with the needed units added as existing items:
- ACTIONS
- APPX_ACTIONS
- SHARED_ACTIONS
- DATA
- APPC_DATA
- SHARED_DATA
- UTILITIES
- COMMON_UTILITIES
I absolute do not want everything single project I create to have empty folders for actions, data, and utilities etc... because there aren't physical files there we are referencing files that are shared across all projects.
- Scripts
- AlexKarasChampion Level 3
If, with TC 12.x, you right-click any script item in the Project Explorer, there will be 'Show in Explorer' context menu command.
Does it help somehow?
@Support and others:
I would say that, depending on the context, it might help or not to have the structure of project items to be duplicated on the file system. What if consider somehow reversed functionality: if some item is created/added to the project and this item is located in the subfolder of the one that is root for this item type, then a corresponding folder is created in the Project Explorer with the requested item in it?
Examples, assuming Script items with the Script\ root folder:
-- existing a.sd script is added from the Script\PO\ folder (Add|Existing Item...) -> script is put into Script\PO\ path in the Project Explorer;
-- existing b.sd script is added from the Script\..\_Common\PO\ folder (Add|Existing Item...) -> script is put into Script\ path in the Project Explorer (or wouldn't Script\_Common\PO\ be better?);
-- new c.sd script is requested to be created in the Script\PO\ folder and added to the project (Add|New Item...) -> script is put into Script\PO\ path in the Project Explorer;
Thoughts?
- cunderwCommunity Hero
AlexKaras - I could see the option of enabling something like this being handy, but should not replace existing functionality IMO. For some like Novari-QA this could definitely help with organization, but the ability to explicitly define our physical folder structure vs the Test Complete Virtual structure is incredible useful for the specific scenario I mentioned above.
- Novari-QAFrequent Contributor
I still don't see the usefulness regarding showing folder structure in TC and not replicating the folder structure in the Windows File Explorer?
I would LOVE the ability to have 2 +n classes called the same thing but are in different folder structures.
For example. LocationA/Calendar.js and LocationB/Calendar.js
No i cannot just have 1 class and define variables and parameters outside because Calendar.js in LocationA is MUCH different from LocationB
I can do this no problem with selenium or in visual code or in cold fusion or html.. TestComplete is the first application i have encountered that fakes folders. - cunderwCommunity Hero
You can still do this by manually creating your folders and files and adding them in. Having this be done all the time would not make sense for the reasons I mentioned above.
Also, having to files / classes etc... named the same thing is very bad practice.
Related Content
- 2 years ago
- 10 months ago