Need more detailed information in your test results?
Nightly or scheduled test runs results often provide valuable quick-read information.
What about times when verbose logging, or a Test Audit Log, may prove valuable?
The following example illustrates how to create a fully-customizable Test Audit Log using Squish. Each action is modified to include a log message and description when executed. Simply calling the enableVerboseLogging() function from the main() test case activates verbose logging.
Functionality available for all Squish-supported scripting languages and application toolkits. Example in Python using Java Swing application.
source(findFile("scripts","logScriptActions.py")) def main(): startApplication("AddressBookSwing.jar") enableVerboseLogging() ...
# activate item def alterActivateItem(activateItemFunction): def wrappedFunction(menuObject, logText="activateItem() called"): test.log(logText, 'Activated item %s' % objectMap. symbolicName(menuObject)) activateItemFunction(menuObject) return wrappedFunction # click button def alterClickButton(clickButtonFunction): def wrappedFunction(button, logText="clickButton()" + " called"): test.log(logText, 'Clicked %s' % objectMap. symbolicName(button)) clickButtonFunction(button) return wrappedFunction # mouse click def alterMouseClick(mouseClickFunction): def wrappedFunction(objectToClick, posX=None, posY=None, buttonClicks=None, buttonState=None, buttonPressed=None, logText="mouseClick() called"): test.log(logText,'Mouse clicked %s' % objectMap. symbolicName(objectToClick)) mouseClickFunction(objectToClick) return wrappedFunction # type def alterTypeFunction(typeFunction): def wrappedFunction(objectToTypeIn, stringInput, logText="type() called"): test.log(logText, 'Typed %(text)s in %(field)s' % {"text":stringInput, "field":str(objectMap. symbolicName(objectToTypeIn))}) typeFunction(objectToTypeIn, stringInput) return wrappedFunction # call Squish function modifications def enableVerboseLogging(): test.log("Verbose logging enabled") global activateItem activateItem = alterActivateItem(activateItem) global clickButton clickButton = alterClickButton(clickButton) global mouseClick mouseClick = alterMouseClick(mouseClick) global type type = alterTypeFunction(type)
Download suite_AuditLogReport_py example