Capturing the Command Line of a Process running in the Task Manager
SOLVED- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Capturing the Command Line of a Process running in the Task Manager
I don't know if this test is possible but I would like to ask the experts if it can be done.
Using TestComplete, is there a way to capture the command line of a process that appears in the Task Manager.
When a certain task (double click on a link) in the web application is called, I would like to verify the process for that task has the correct command line and then copy it to the log result. The process remains visible in the task manager for about 10 seconds before it gets cleared.
Is there a Javascript method that will do this without launching the task manager?
Thank you !!!
Solved! Go to Solution.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
One way to do that is using PowerShell
gwmi win32_process | select commandline, name | format-list
I am sure you can massage the data a little better and use a filter to just find "httpd.exe".
--------------------
Senior SQA Automation Engineer
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The simplest way is to use the builtin functions.
let n = "TestComplete";
let p = Sys.Find("ProcessName", n);
p.Exists ? Log.Message(p.CommandLine) : Log.Message("Process " + n + " not found !");
Or if the process to check is always the same :
Sys.Process("TestComplete").Exists ? Log.Message(Sys.Process("TestComplete").CommandLine) : Log.Message("Process not found !");
Un sourire et ça repart
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oh wow @BenoitB I didn't realise the Process object had those properties like that. That's way better than my answer!
--------------------
Senior SQA Automation Engineer
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Un sourire et ça repart
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello @BenoitB , I appreciate for providing me with the process check sample. Great !!
I modified the script to look for the process that needs to be capture but it returns "Process octDataParser not found !' but when I placed back "TestComplete" it returns with the process command line for TestComplete.
Is there something I am changing wrong or missing to add?
function ProcessFinder()
{
let n = "octDataParser_core.exe";
let p = Sys.Find("ProcessName", n);
p.Exists ? Log.Message(p.CommandLine) :
Log.Message("Process " + n + " not found !");
}
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Un sourire et ça repart
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@BenoitB , sorry but no luck in getting the name =(.
I checked the Object Browser and the process name is not listed.
So I used the Object Spy to see if I can get the name (see shot). Is confusing it has UIAObject("Name").
Note, in order to get the process to appear I must click to open an image in the software then the process would run for about 10 seconds and then clears out.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So, your need is to find the command line of a process which is launched only when you click on an image ?
In your test you do :
- click image
- check process only as this moment
About the confusing name that you have, it's normal, what you see here is not the process but the ihm component showing the process name in the task manager. This is not the process name.
To obtain the real name when your looking into taskmanager, scroll down on object spy inspector to find the Value, try with the value found without the .exe.
See the gif file attached.
Un sourire et ça repart
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@BenoitB , I followed your steps and for some reason, the process "octDataParser still not being captured by TestComplete.
What other options can I take or do you see the problem. I had attached a video of my steps.
Thank you for your support.
