Forum Discussion
Hi,
If TestComplete's crash dump window is displayed with the suggestion to send a report to Support, I would recommend you to specify your contact info and send the report.
In any case, create a ticket via the https://support.smartbear.com/message/?prod=TestComplete form and Support will provide you with recommendations specific to your case and their needs.
- Manfred_F9 years agoRegular Contributor
I'm using oop for Scripting, and it took me a lot of effort to stop my vbScript modules eating Memory..
Do You also use OOP?
- tristaanogre9 years agoEsteemed Contributor
Some other things to consider:
1) Possibly breaking your project up into multiple projects. Once a project finishes running, it does flush out the memory. So, rather than running a single project over 24 hours +, have several projects running one after another, executing the same number of tests.
2) Have TestComplete flush the logs to disk regularly to prevent loss of logs in the case of such an error. Under Tools | Options | Current Project Properties | Playback there is an option to save the log every so many minutes. Set that to a non-zero number.
3) A bit more involved, but do some analysis of how much you're actually writing out to your log via Log.Message. I've found it to be a good rule of thumb/best practice to only write out to the log when I actually need to know something. Basically, if things are working well, tests steps are executing without error, validations are happening without error... I don't write out anything at all. I only log errors and warnings which reduces my log size and has the bonus of making determining a failure that much easier.
4) As Manfred_F mentioned, you might want to take a look at how you're constructing your tests and make sure that you're properly disposing of objects in your automation code by setting objects to null so they are disposed of when they go out of scope.
- komalak119 years agoContributor
Manfred_F, Yes I use OOPS concept for running the script. What steps did you follow for the memory to not be consumed completely.
- Manfred_F9 years agoRegular Contributor
I integrated Counter functionality into the classes to know the object Balance. It gives me per class the number of unreleased objects, e.g.
AliasControlCls: 1 ArrayObj: 15 Button: 9 CheckpointListClass: 1 CollectMode: 1 ControlWrapper: 17 CounterProxy: 2 DialogControlCls: 1 DialogJs: 1 EditBox: 3 ErrorOptionCls: 3 Frame: 3 List: 39 MsgBoxAssistentClass: 3 Row: 1 RunTimeoutCls: 2 StaticBox: 2 TableDialogJs: 1
After an orderly test run , it will look like this:
Klasse |Anzahl CounterProxy: |1 DialogJs: |1 4 Versuch(e)
There are Memory Problems with the Integration of vbScript into TC, espcially the lack of a garbage collector. Just do a search on "Memory leak".
I solved this by using a JScript wrapper and the JScript garbage collection.