Forum Discussion

mgy333's avatar
mgy333
Contributor
10 years ago

Why does TestExecute 9.3 want to overwrite Script.tcScript?

I am trying to do a silent execution of TestExecute 9.3.



In test environment, I found that the TestExecue was exiting with code 3.



When I removed the "/SilentMode" tag, I found that TestExecute was trying to save Script.tcScript.



Why?



The problem is that all the files are source controlled and read only, so the test fails.



Is there any way to get around this, besides making files writable?



Thanks,

Motoo

6 Replies

  • tristaanogre's avatar
    tristaanogre
    Esteemed Contributor
    First of all, I'd say that for your TestExecute when you do the "get" of the latest source, make everything writeable.  There are multiple files that may need to be written to like the MDS file (for project variables).



    That should resolve your problem, really.  



    As to why... I'm not 100% certain.  If nothing was added or removed from your Script unit list, that file shouldn't be changing.  A possibility COULD be that the Script.tcScript file in your source control is for an older version of TestComplete in which case the version number needs to be updated internally in the file.  That's my best guess.
  • tristaanogre's avatar
    tristaanogre
    Esteemed Contributor
    How are you "getting" the latest version of the automation source code before you start the run?  Most source control systems that I've worked with have the option on the "get" command to make everything writable.  I've used Hg Tortoise, Visual Source Safe, and TFS and they all have that option.  It may simply be a command line parameter on the "get".
  • tristaanogre's avatar
    tristaanogre
    Esteemed Contributor
    Hah!  Yeah, that much is obvious.



    In any case, you might want to start dropping hints about utilizing source control as the means to get your automation code into the test environment.  It's obvious they have some sort of auto-deployment to that environment to begin with, perhaps, further up the chain, they can do the "get" before they send it to the cloud?  



    good luck!  Hope you get it worked out!
  • Believe me.  If it was up to me, I'd simplify it more, but I am not in an organization where I can drop hints and expect to change.



    There is a source control in the back.  It's not one of those standard ones, and it's tightly integrated to automated build and automated test system including launching tests in farm.  As you can imagine, whenever something is tightly integrated, things just can't be changed.  I came in fairly recently into the organization, so there isn't much I can do at this point.  I just need to find a way around it.
  • Hi.  Thanks for the reply. 



    I think you are right about the version difference.  The script was created with version 9.2.



    That said, I feel that the runtime engine of any kind should do any type of writing to the source files.  This would mean that as soon as we upgrade TestComplete and TestExecute, we have to go through each objects and update them.



    Unfortunately, there is absolutely no option to make files writable in our environment.  The only way to do that would be copy the file over only at the time of execution, but that's not very intuitive considering that commonly used script files can be in different places.  It would add a lot of complexities.
  • The system is unique.  It may be in-house solution. 



    Without getting in too deeply (not because it's a secret, but because it's hard to explain), the system launches a vania Windows in cloud (we call it farm), installs everything, and runs the test.  All test files are mapped over network where all the latest files exists.  Basically, I have absolutely no write access to this network area.



    Use of TestComplete is new to the organization.  It's definitely not TestComplete friendly.