Kill a process from a test automation Groovy script in Katalon Studio
I want to check if the AUT is opening a PDF viewer and I want to kill the process after test execution is finished. This is the relevant code line:
Runtime.getRuntime().exec("taskkill /im AcroRd32.exe /f")
The test passes, but the Acrobat Reader is still open.
I thought the problem was that the cmd.exe isn't autorised to kill the process form Katalon Studio so I've set it to always run as admin, as described here: https://www.cnet.com/how-to/always-run-a-program-in-administrator-mode-in-windows-10/.
If I run the
taskkill /im AcroRd32.exe /f
directly from the command line, Acrobat Reader shuts down as expected, but it still remains open if run from the Katalon script.
How can I kill it?
groovy process automated-tests katalon-studio
add a comment |
I want to check if the AUT is opening a PDF viewer and I want to kill the process after test execution is finished. This is the relevant code line:
Runtime.getRuntime().exec("taskkill /im AcroRd32.exe /f")
The test passes, but the Acrobat Reader is still open.
I thought the problem was that the cmd.exe isn't autorised to kill the process form Katalon Studio so I've set it to always run as admin, as described here: https://www.cnet.com/how-to/always-run-a-program-in-administrator-mode-in-windows-10/.
If I run the
taskkill /im AcroRd32.exe /f
directly from the command line, Acrobat Reader shuts down as expected, but it still remains open if run from the Katalon script.
How can I kill it?
groovy process automated-tests katalon-studio
1
Runtime.getRuntime().exec(...)
just starts the process and returns Process object. and if you are not reading stdout & stderr the process could just stuck. use Process.waitForProcessOutput() method to collect a result of execution and analyze it.
– daggett
Oct 18 '18 at 13:28
add a comment |
I want to check if the AUT is opening a PDF viewer and I want to kill the process after test execution is finished. This is the relevant code line:
Runtime.getRuntime().exec("taskkill /im AcroRd32.exe /f")
The test passes, but the Acrobat Reader is still open.
I thought the problem was that the cmd.exe isn't autorised to kill the process form Katalon Studio so I've set it to always run as admin, as described here: https://www.cnet.com/how-to/always-run-a-program-in-administrator-mode-in-windows-10/.
If I run the
taskkill /im AcroRd32.exe /f
directly from the command line, Acrobat Reader shuts down as expected, but it still remains open if run from the Katalon script.
How can I kill it?
groovy process automated-tests katalon-studio
I want to check if the AUT is opening a PDF viewer and I want to kill the process after test execution is finished. This is the relevant code line:
Runtime.getRuntime().exec("taskkill /im AcroRd32.exe /f")
The test passes, but the Acrobat Reader is still open.
I thought the problem was that the cmd.exe isn't autorised to kill the process form Katalon Studio so I've set it to always run as admin, as described here: https://www.cnet.com/how-to/always-run-a-program-in-administrator-mode-in-windows-10/.
If I run the
taskkill /im AcroRd32.exe /f
directly from the command line, Acrobat Reader shuts down as expected, but it still remains open if run from the Katalon script.
How can I kill it?
groovy process automated-tests katalon-studio
groovy process automated-tests katalon-studio
asked Oct 18 '18 at 10:57
Mate MršeMate Mrše
1,7012526
1,7012526
1
Runtime.getRuntime().exec(...)
just starts the process and returns Process object. and if you are not reading stdout & stderr the process could just stuck. use Process.waitForProcessOutput() method to collect a result of execution and analyze it.
– daggett
Oct 18 '18 at 13:28
add a comment |
1
Runtime.getRuntime().exec(...)
just starts the process and returns Process object. and if you are not reading stdout & stderr the process could just stuck. use Process.waitForProcessOutput() method to collect a result of execution and analyze it.
– daggett
Oct 18 '18 at 13:28
1
1
Runtime.getRuntime().exec(...)
just starts the process and returns Process object. and if you are not reading stdout & stderr the process could just stuck. use Process.waitForProcessOutput() method to collect a result of execution and analyze it.– daggett
Oct 18 '18 at 13:28
Runtime.getRuntime().exec(...)
just starts the process and returns Process object. and if you are not reading stdout & stderr the process could just stuck. use Process.waitForProcessOutput() method to collect a result of execution and analyze it.– daggett
Oct 18 '18 at 13:28
add a comment |
1 Answer
1
active
oldest
votes
This can help You, remember that arguments should be putetd in "" , "".
String arguments = {
// Arguments for program
}
ProcessBuilder pb = new ProcessBuilder(arguments);
pb.inheritIO();
Process process = pb.start();
process.waitFor();
pb.destroy();
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f52872439%2fkill-a-process-from-a-test-automation-groovy-script-in-katalon-studio%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
This can help You, remember that arguments should be putetd in "" , "".
String arguments = {
// Arguments for program
}
ProcessBuilder pb = new ProcessBuilder(arguments);
pb.inheritIO();
Process process = pb.start();
process.waitFor();
pb.destroy();
add a comment |
This can help You, remember that arguments should be putetd in "" , "".
String arguments = {
// Arguments for program
}
ProcessBuilder pb = new ProcessBuilder(arguments);
pb.inheritIO();
Process process = pb.start();
process.waitFor();
pb.destroy();
add a comment |
This can help You, remember that arguments should be putetd in "" , "".
String arguments = {
// Arguments for program
}
ProcessBuilder pb = new ProcessBuilder(arguments);
pb.inheritIO();
Process process = pb.start();
process.waitFor();
pb.destroy();
This can help You, remember that arguments should be putetd in "" , "".
String arguments = {
// Arguments for program
}
ProcessBuilder pb = new ProcessBuilder(arguments);
pb.inheritIO();
Process process = pb.start();
process.waitFor();
pb.destroy();
answered Oct 21 '18 at 11:13
siranensiranen
18911
18911
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f52872439%2fkill-a-process-from-a-test-automation-groovy-script-in-katalon-studio%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Runtime.getRuntime().exec(...)
just starts the process and returns Process object. and if you are not reading stdout & stderr the process could just stuck. use Process.waitForProcessOutput() method to collect a result of execution and analyze it.– daggett
Oct 18 '18 at 13:28