Forum Discussion

Merve's avatar
Merve
Regular Visitor
5 years ago

Writing log messages of test to the file

Hi,

 

When TestComplete is being used, We try to write log messages which are come out of the "Log. Message()" or "Log.Error()" function to a text file in order to keep the log messages together as a log.txt. However, after creating a file, we try to use "Log.File()" function or  "SaveResultsAs()" to write logs messages to this file, It just created the file, could not write anything. Is there any way to keep log messages that are written in the test script in the txt file in a given directory?

 

as an example code;

function creatingAndWritingLogMessagesToTheTxtFile(){

//create a file

var filePath="C:\\.....";//Directory
aqFile.Create(filePath);

var logName="filePath"+".mth";

Log.SaveResultsAs(logName,lsMHT);

}

 

And in the functions how we can write the log messages to this created file that is created to keep log messages?

as an example code;

 

function testA(){

//....codes doing something

Log. Messages("Test Successful");

//Here How can we use that method (If it is useful) to write this log to that text file??

}

  • AlexKaras's avatar
    AlexKaras
    Champion Level 3

    Hi,

     

    If I got your question right and to expand a bit what was already said by hkim5 :

    if we wanted to generate a text file [...] based on [...] event handlers

    Which means that you should implement event handlers for the OnLogMessage and OnLogError events and use these handlers to dump to text file whatever is going to be posted to test log.

     

    • sonya_m's avatar
      sonya_m
      SmartBear Alumni (Retired)

      Thank you for helping, Community!

       

      Merve Does this answer your question fully?

  • the log.error and log.message  operations will only output the corresponding messages to the log files that testcomplete generates. as I'm sure you've observed, within the test logs within the corresponding test step location, you should see those messages populate. 

    if you wanted to store your test logs in a separate location, you could use log.saveresultas to output the testcomplete logs to a target directory in a supported format (html, mht, and xml), but this wouldn't be a text file.

    https://support.smartbear.com/testcomplete/docs/reference/project-objects/test-log/log/saveresultsas.html

    -----------

    if we wanted to generate a text file each time a test run fails or passes, you would most likely use the aqfile.writetotextfile operation (https://support.smartbear.com/testcomplete/docs/reference/program-objects/aqfile/writetotextfile.html) based on either conditional statements or event handlers