Novari-QA's avatar
Novari-QA
Frequent Contributor
7 years ago
Status:
New Idea

Folders created in TestComplete should create folders in Windows Directory

Currently if you create a folder in the TestComplete IDE, it does not create a folder in windows. I believe that it should as when I went into my project via Windows Explorer, I opened up my ProjectSuite.Project.Script folder to find 50 scripts with 50 scripts.bak files. 

This in my opinion should be marked as a bug more than a feature request.

  • cunderw's avatar
    cunderw
    Community 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-QA's avatar
    Novari-QA
    Frequent 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.

  • 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-QA's avatar
    Novari-QA
    Frequent 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.

  • cunderw's avatar
    cunderw
    Community 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.

     

  • AlexKaras's avatar
    AlexKaras
    Champion Level 3

    Novari-QA:

    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?

  • cunderw's avatar
    cunderw
    Community 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-QA's avatar
    Novari-QA
    Frequent 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.


  • cunderw's avatar
    cunderw
    Community 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.