measuring performance to open / create objects
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
measuring performance to open / create objects
I have to implement a performance-test, that opens and creates data-objects and calculates the time needed to open / create them.
I have to measure the time like this:
1) create object
- start: click on (context) menu entry "new"
- end: a letter is written into a field of the new object
2) open object
- start: doubleclick on the object in a list
- end: a letter is written into a field of the new object
I cannot take the visibility of the new object as the final point for the measurement as the object is still changing a bit after it is visible (the software fakes to be faster).
I am open to all kind of tips or links how this can be done the best way.
Thanks a lot.
Joachim
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've seen a video tutorial on the website that explains how to catch memory leaks, which could be useful on seeing how much CPU / Memory an action takes.
What is your definition of performance testing?
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
cpu and memory usage in this case is not of interest.
best regards,
Joachim
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
function timeTest()
{
var javaw;
var sessionWorkspace;
var internalSessionFrameProxy;
var stationTreeTable;
var timeBeforeClick;
var timeAfterClick;
var timeDifference;
var totalTime = 0;
javaw = Aliases.javaw;
for(var i = 0; i < 3; i++)
{
sessionWorkspace = javaw.frame02.RootPane.null_layeredPane.null_contentPane.C3C.SessionWorkspace;
//Time before the action
timeBeforeClick = aqDateTime.Time();
// The Action
sessionWorkspace.InternalSessionFrameProxy3.RootPane.null_layeredPane.null_contentPane.StationBrowserPanel.TreeExplorer.SplitPane.Panel1.StationTablePanel.Panel.ScrollPane.Viewport.StationTablePanel_StationTable.DblClickCell(0, "Description");
internalSessionFrameProxy = sessionWorkspace.InternalSessionFrameProxy5;
// Create object and wait for response.
stationTreeTable = internalSessionFrameProxy.RootPane.null_layeredPane.null_contentPane.NavigableStationEditorController.Panel.Panel.DMS100StationEditorPanel.SplitPane.Panel.DnDTabbedPane.Panel.SplitPane.Panel.ScrollPane.Viewport.StationTreeTable;
//Check time after response
timeAfterClick = aqDateTime.Time();
timeDifference = timeAfterClick - timeBeforeClick;
stationTreeTable.ClickCell(1, "Value");
stationTreeTable.TextField.Keys("time " + i);
internalSessionFrameProxy.WindowsInternalFrameTitlePane.BasicInternalFrameTitlePane_NoFocusButton.ClickButton();
javaw.dialog01.RootPane.null_layeredPane.null_contentPane.OptionPane.OptionPane_buttonArea.OptionPane_button.ClickButton();
Log.Message(timeDifference);
totalTime = totalTime + timeDifference;
}
var averageTime = totalTime/i;
Log.Message("The average run time out of " + i + " runs is " + averageTime);
}
Hope that helps!!
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thanks for your help, but rounding to seconds is not an option.
I found a possibility with using new Date().getTime().
Best regards,
Joachim
