### Connecting to Externally Started Java Applications Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Illustrates how to use the 'Application Started' keyword to connect to Java applications that were launched externally. This is useful for applications started by other processes or on remote machines. Examples cover connecting by timeout, specific ports, and name patterns. ```robotframework *** Settings *** Library RemoteSwingLibrary debug=True Library Process *** Test Cases *** Connect To Externally Started Application [Timeout] 20 seconds # First, set the Java agent environment variables Set Java Tool Options # Start the application using Process library or other means ${handle}= Start Process java org.example.MySwingApp shell=True # Connect to the application Application Started myapp timeout=10 seconds Select Main Window System Exit Connect To Application On Specific Port [Timeout] 15 seconds # Connect to an application already running on a known port Application Started myapp timeout=5 seconds remote_port=31337 Select Main Window System Exit Connect To Application By Name Pattern [Timeout] 30 seconds Set Java Tool Options ${handle1}= Start Process java MyApp one shell=True ${handle2}= Start Process java MyApp two shell=True # Connect to specific application by matching name Application Started app_one name_contains=one Application Started app_two name_contains=two Switch To Application app_one System Exit Switch To Application app_two System Exit ``` -------------------------------- ### Starting Java Application with RemoteSwingLibrary Agent Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Shows how to use the 'Start Application' keyword to launch a Java process and automatically inject the RemoteSwingLibrary agent. This enables remote control of the Swing UI. It includes examples with basic and advanced options for command, timeouts, and application identification. ```robotframework *** Settings *** Library RemoteSwingLibrary debug=True Library OperatingSystem Suite Setup Set Environment Variable CLASSPATH target/test-classes *** Test Cases *** Start Simple Java Application [Timeout] 15 seconds Start Application myapp java -jar MyApplication.jar timeout=10 seconds Select Main Window # Interact with the application using SwingLibrary keywords Push Button Submit System Exit Start Application With All Options [Timeout] 30 seconds Start Application myapp ... java org.example.MySwingApp ... timeout=30 seconds ... name_contains=MySwingApp ... close_security_dialogs=True ... remote_port=31337 ... dir_path=screenshots/ ... stdout=logs/app.out ... stderr=logs/app.err System Exit ``` -------------------------------- ### Start Application Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Starts a Java process with the RemoteSwingLibrary agent injected, enabling remote control of the Swing UI. ```APIDOC ## Start Application Starts a Java process with the RemoteSwingLibrary agent automatically injected. The agent enables remote control of the Swing UI through SwingLibrary keywords. The `alias` identifies the application for later reference, and `command` is the shell command to launch the Java application. ```robotframework *** Settings *** Library RemoteSwingLibrary debug=True Library OperatingSystem Suite Setup Set Environment Variable CLASSPATH target/test-classes *** Test Cases *** Start Simple Java Application [Timeout] 15 seconds Start Application myapp java -jar MyApplication.jar timeout=10 seconds Select Main Window # Interact with the application using SwingLibrary keywords Push Button Submit System Exit Start Application With All Options [Timeout] 30 seconds Start Application myapp ... java org.example.MySwingApp ... timeout=30 seconds ... name_contains=MySwingApp ... close_security_dialogs=True ... remote_port=31337 ... dir_path=screenshots/ ... stdout=logs/app.out ... stderr=logs/app.err System Exit ``` ``` -------------------------------- ### Application Started Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Connects to a Java application that was started externally, useful for applications started by other processes or on remote machines. ```APIDOC ## Application Started Connects to a Java application that was started externally (not via `Start Application`). This is useful when the application is started by another process, launched via SSH on a remote machine, or when you need to reconnect to a previously started application. ```robotframework *** Settings *** Library RemoteSwingLibrary debug=True Library Process *** Test Cases *** Connect To Externally Started Application [Timeout] 20 seconds # First, set the Java agent environment variables Set Java Tool Options # Start the application using Process library or other means ${handle}= Start Process java org.example.MySwingApp shell=True # Connect to the application Application Started myapp timeout=10 seconds Select Main Window System Exit Connect To Application On Specific Port [Timeout] 15 seconds # Connect to an application already running on a known port Application Started myapp timeout=5 seconds remote_port=31337 Select Main Window System Exit Connect To Application By Name Pattern [Timeout] 30 seconds Set Java Tool Options ${handle1}= Start Process java MyApp one shell=True ${handle2}= Start Process java MyApp two shell=True # Connect to specific application by matching name Application Started app_one name_contains=one Application Started app_two name_contains=two Switch To Application app_one System Exit Switch To Application app_two System Exit ``` ``` -------------------------------- ### Import and Use RemoteSwingLibrary in Robot Framework Source: https://github.com/marketsquare/remoteswinglibrary/blob/master/README.md This snippet demonstrates how to import the RemoteSwingLibrary in your Robot Framework test cases and start a Java application for testing. It requires the library to be installed and accessible in the PYTHONPATH. ```robotframework *** Settings *** Library RemoteSwingLibrary *** Test Cases *** My Test Case Start Application my_app java -jar MyDemoApplication.jar ``` -------------------------------- ### Set Java Tool Options Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Sets the `JAVA_TOOL_OPTIONS` environment variable to include the RemoteSwingLibrary agent. This allows Java processes started by external commands to be controlled by RemoteSwingLibrary. Also creates a temporary policy file granting all permissions. ```APIDOC ## Set Java Tool Options ### Description Sets the `JAVA_TOOL_OPTIONS` environment variable to include the RemoteSwingLibrary agent. This allows Java processes started by external commands to be controlled by RemoteSwingLibrary. Also creates a temporary policy file granting all permissions. ### Method N/A (Keyword) ### Endpoint N/A (Keyword) ### Parameters #### Arguments - **close_security_dialogs** (boolean) - Optional - If True, attempts to close security dialogs automatically. - **remote_port** (integer) - Optional - The port to use for the remote agent connection. ### Request Example ```robotframework Set Java Tool Options close_security_dialogs=True remote_port=9999 ``` ### Response #### Success Response N/A (Keyword) #### Response Example N/A ``` -------------------------------- ### Switch To Application in Robot Framework Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Switches the context to a different application, directing subsequent SwingLibrary keywords to the selected application. This is crucial for testing scenarios involving multiple Java applications simultaneously. It requires the application alias to be previously started. ```robotframework *** Settings *** Library RemoteSwingLibrary debug=True *** Test Cases *** Test Multiple Applications [Timeout] 30 seconds Start Application app1 java -jar Application1.jar timeout=10 Start Application app2 java -jar Application2.jar timeout=10 # Interact with first application Switch To Application app1 Select Window App1 Window Push Button Button1 # Switch to second application Switch To Application app2 Select Window App2 Window Insert Into Text Field textField Hello from App2 # Return to first application Switch To Application app1 Push Button Close System Exit # Close second application Switch To Application app2 System Exit ``` -------------------------------- ### Set Java Tool Options in Robot Framework Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Sets the JAVA_TOOL_OPTIONS environment variable to include the RemoteSwingLibrary agent, enabling control over externally started Java processes. It also creates a temporary policy file for full permissions. This keyword is useful for integrating RemoteSwingLibrary with Java applications launched outside of the library's direct control. ```robotframework *** Settings *** Library RemoteSwingLibrary debug=True Library Process Library OperatingSystem *** Test Cases *** Use Java Tool Options For External Process [Timeout] 20 seconds # Enable agent for all subsequent Java processes Set Java Tool Options close_security_dialogs=True remote_port=9999 # Any Java process started now will have the agent ${handle}= Start Process java -jar SomeApp.jar shell=True Application Started someapp timeout=10 System Exit # Clean up the environment variable Set Environment Variable JAVA_TOOL_OPTIONS ${EMPTY} ``` ```robotframework Manual Agent Configuration [Timeout] 15 seconds # Use global variables for manual agent configuration ${agent}= Set Variable -javaagent:"${REMOTESWINGLIBRARYPATH}"\=127.0.0.1:${REMOTESWINGLIBRARYPORT} ${handle}= Start Process java ${agent} org.example.MyApp shell=True Application Started myapp System Exit ``` -------------------------------- ### Handle Security Dialogs Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Automatically closes Java security warning dialogs and optionally saves screenshots for debugging. This functionality is crucial for running Java Web Start or signed applet applications without manual intervention. ```robotframework *** Settings *** Library RemoteSwingLibrary debug=True Library OperatingSystem Test Teardown Remove Files *.png *** Test Cases *** Handle Security Dialogs With Screenshots [Timeout] 60 seconds Start Application App ... java org.example.SecureApp ... timeout=30 seconds ... close_security_dialogs=True ... dir_path=security_screenshots/ # Screenshots of security dialogs saved to dir_path File Should Exist security_screenshots/security_dialog_*.png Select Main Window System Exit [Teardown] Remove Directory security_screenshots recursive=True Handle Security Dialogs Without Screenshots [Timeout] 60 seconds # When dir_path is not specified, no screenshots are taken Start Application App ... java org.example.SecureApp ... timeout=30 seconds ... close_security_dialogs=True File Should Not Exist security_dialog_*.png Select Main Window System Exit ``` -------------------------------- ### Library Import and Initialization Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Demonstrates how to import the RemoteSwingLibrary with various configuration options. ```APIDOC ## Library Import and Initialization The library can be imported with optional configuration parameters for port, debug mode, and Java version compatibility. ```robotframework *** Settings *** Library RemoteSwingLibrary Library RemoteSwingLibrary port=8181 debug=True Library RemoteSwingLibrary java9_or_newer=True ``` ``` -------------------------------- ### Importing and Initializing RemoteSwingLibrary Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Demonstrates how to import the RemoteSwingLibrary in Robot Framework settings. It shows basic import and initialization with optional parameters like port, debug mode, and Java version compatibility. ```robotframework *** Settings *** Library RemoteSwingLibrary Library RemoteSwingLibrary port=8181 debug=True Library RemoteSwingLibrary java9_or_newer=True ``` -------------------------------- ### Switch To Application Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Switches the context to a different application when testing multiple Java applications simultaneously. All subsequent SwingLibrary keywords will be directed to the selected application. ```APIDOC ## Switch To Application ### Description Switches the context to a different application when testing multiple Java applications simultaneously. All subsequent SwingLibrary keywords will be directed to the selected application. ### Method N/A (Keyword) ### Endpoint N/A (Keyword) ### Parameters #### Arguments - **alias** (string) - Required - The alias of the application to switch to. ### Request Example ```robotframework Switch To Application app1 ``` ### Response #### Success Response N/A (Keyword) #### Response Example N/A ``` -------------------------------- ### Reinitiate Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Restarts RemoteSwingLibrary with new import parameters. Useful when you need to change the port, debug mode, or Java version settings between test suites. ```APIDOC ## Reinitiate ### Description Restarts RemoteSwingLibrary with new import parameters. Useful when you need to change the port, debug mode, or Java version settings between test suites. ### Method N/A (Keyword) ### Endpoint N/A (Keyword) ### Parameters #### Arguments - **port** (integer) - Optional - The new port for the remote agent. - **debug** (boolean) - Optional - Enables or disables debug mode. - **java_version** (string) - Optional - Specifies the Java version to use. ### Request Example ```robotframework Reinitiate port=11777 debug=False ``` ### Response #### Success Response N/A (Keyword) #### Response Example N/A ``` -------------------------------- ### SwingLibrary Keywords for UI Interaction Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Provides access to all SwingLibrary keywords for UI interaction within Java applications. Components can be located by index, internal name, or visible text, offering flexible control over UI elements. ```robotframework *** Settings *** Library RemoteSwingLibrary debug=True *** Test Cases *** Complete UI Interaction Example [Timeout] 30 seconds Start Application myapp java -jar MyApp.jar timeout=10 # Window selection Select Window Main Window Select Main Window # Button interactions Push Button Submit Push Button 0 # By index Push Button btnOk # By component name # Text field interactions Insert Into Text Field username john_doe Insert Into Text Field password secret123 Clear Text Field username Type Into Text Field username new_user # Combo box Select From Combo Box country United States # List operations Select From List items Item 1 # Table operations Select Table Cell dataTable 2 3 ${value}= Get Table Cell Value dataTable 0 1 # Menu navigation Select From Main Menu File|Save Select From Main Menu Edit|Preferences # Tree operations Select Tree Node tree Root|Child|Grandchild Expand Tree Node tree Root|Child # Get component properties ${text}= Get Button Text Submit ${selected}= Get Selected Value From Combo Box country # List all components for debugging List Components In Context [Teardown] System Exit ``` -------------------------------- ### Using Global Variables in Robot Framework Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt This snippet demonstrates how to access and utilize the global variables `${REMOTESWINGLIBRARYPATH}` and `${REMOTESWINGLIBRARYPORT}` provided by RemoteSwingLibrary within Robot Framework test cases. These variables are useful for manual agent configuration and debugging purposes, allowing dynamic construction of agent arguments. ```robotframework *** Settings *** Library RemoteSwingLibrary *** Test Cases *** Use Global Variables Log Library JAR path: ${REMOTESWINGLIBRARYPATH} Log Library port: ${REMOTESWINGLIBRARYPORT} # Use for manual agent configuration ${agent_args}= Set Variable -javaagent:"${REMOTESWINGLIBRARYPATH}"\=127.0.0.1:${REMOTESWINGLIBRARYPORT} Log Agent arguments: ${agent_args} ``` -------------------------------- ### Log Java System Properties Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Logs and returns the Java system properties and environment variables from a connected Java application. This is useful for debugging and verification purposes. ```robotframework *** Settings *** Library RemoteSwingLibrary debug=True *** Test Cases *** Verify Java Environment [Timeout] 15 seconds Start Application myapp java -jar MyApp.jar timeout=10 ${props}= Log Java System Properties Should Contain ${props} System.getenv(): Should Contain ${props} System.getProperties(): Should Contain ${props} java.version [Teardown] System Exit ``` -------------------------------- ### Log Java System Properties Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Logs and returns the Java system properties and environment variables from the connected Java application. Useful for debugging and verification. ```APIDOC ## Log Java System Properties ### Description Logs and returns the Java system properties and environment variables from the connected Java application. Useful for debugging and verification. ### Method N/A (This is a keyword description) ### Endpoint N/A ### Parameters None ### Request Example ```robotframework ${props}= Log Java System Properties ``` ### Response #### Success Response (200) - **props** (string) - A string containing Java system properties and environment variables. #### Response Example ``` System.getenv(): {"PATH": "...", ...} System.getProperties(): {"java.version": "1.8.0_291", ...} ``` ``` -------------------------------- ### Ensure Application Should Close Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Runs a keyword that should close the application and waits for the application to actually close. If the application doesn't close within the timeout, it takes a screenshot and forces closure via `System Exit`, then fails the test. ```APIDOC ## Ensure Application Should Close ### Description Runs a keyword that should close the application and waits for the application to actually close. If the application doesn't close within the timeout, it takes a screenshot and forces closure via `System Exit`, then fails the test. ### Method N/A (Keyword) ### Endpoint N/A (Keyword) ### Parameters #### Arguments - **timeout** (string) - Required - The maximum time to wait for the application to close. - **close_keyword** (string) - Required - The keyword to execute to close the application. - **args** (list) - Optional - Arguments to pass to the `close_keyword`. ### Request Example ```robotframework Ensure Application Should Close 15 seconds Push Button Exit ``` ### Response #### Success Response N/A (Keyword) #### Response Example N/A ``` -------------------------------- ### SwingLibrary Keywords Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt RemoteSwingLibrary exposes all SwingLibrary keywords for UI interaction. Components are located by index, internal name, or visible text. ```APIDOC ## SwingLibrary Keywords ### Description RemoteSwingLibrary exposes all SwingLibrary keywords for UI interaction. Components are located by index, internal name (set via `setName()` in Java), or visible text. ### Method N/A (This is a description of available keywords) ### Endpoint N/A ### Parameters N/A (These are keywords, not endpoints) ### Request Example ```robotframework # Window selection Select Window Main Window Select Main Window # Button interactions Push Button Submit Push Button 0 # By index Push Button btnOk # By component name # Text field interactions Insert Into Text Field username john_doe Insert Into Text Field password secret123 Clear Text Field username Type Into Text Field username new_user # Combo box Select From Combo Box country United States # List operations Select From List items Item 1 # Table operations Select Table Cell dataTable 2 3 ${value}= Get Table Cell Value dataTable 0 1 # Menu navigation Select From Main Menu File|Save Select From Main Menu Edit|Preferences # Tree operations Select Tree Node tree Root|Child|Grandchild Expand Tree Node tree Root|Child # Get component properties ${text}= Get Button Text Submit ${selected}= Get Selected Value From Combo Box country # List all components for debugging List Components In Context ``` ### Response #### Success Response (200) N/A (These are keywords, not endpoints) #### Response Example N/A ``` -------------------------------- ### Remote Machine Testing via SSH Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt RemoteSwingLibrary supports testing Java applications running on remote machines by connecting through SSH. The agent reports back to the test machine using the specified IP and port. ```APIDOC ## Remote Machine Testing via SSH ### Description RemoteSwingLibrary supports testing Java applications running on remote machines by connecting through SSH. The agent reports back to the test machine using the specified IP and port. ### Method N/A (This describes a setup procedure) ### Endpoint N/A ### Parameters #### SSH Connection Parameters - **REMOTE_IP** (string) - The IP address of the remote machine. - **MY_IP** (string) - The IP address of the local machine where the test is running. - **USERNAME** (string) - The username for SSH login. - **PASSWORD** (string) - The password for SSH login. - **REMOTESWINGLIBRARYPATH** (string) - Path to the RemoteSwingLibrary JAR file on the local machine. - **REMOTESWINGLIBRARYPORT** (string) - The port the RemoteSwingLibrary agent will listen on. ### Request Example ```robotframework # Connect to remote machine Open Connection ${REMOTE_IP} Login ${USERNAME} ${PASSWORD} # Copy the library JAR to remote machine Put File ${REMOTESWINGLIBRARYPATH} remoteswinglibrary.jar # Start application on remote with agent pointing back to this machine Write xvfb-run java -javaagent:remoteswinglibrary.jar=${MY_IP}:${REMOTESWINGLIBRARYPORT}:DEBUG -jar remoteswinglibrary.jar # Connect to the remote application Application Started remote_app timeout=30 seconds ``` ### Response #### Success Response (200) N/A (This describes a setup procedure) #### Response Example N/A ``` -------------------------------- ### Reinitiate RemoteSwingLibrary in Robot Framework Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Restarts the RemoteSwingLibrary with new import parameters, allowing for dynamic changes to settings like port, debug mode, or Java version between test suites. This is useful for reconfiguring the library's connection or behavior during a test run without restarting the entire test framework. ```robotframework *** Settings *** Library RemoteSwingLibrary debug=True *** Test Cases *** Change Library Settings Mid-Run [Timeout] 20 seconds # Start with default settings Start Application app1 java -jar App1.jar timeout=10 System Exit # Reinitiate with different port Reinitiate port=11777 debug=False Should Be Equal As Integers ${REMOTESWINGLIBRARYPORT} 11777 # Continue with new settings Start Application app2 java -jar App2.jar timeout=10 System Exit # Reset to auto-detect settings Reinitiate debug=True ``` -------------------------------- ### Ensure Application Should Close in Robot Framework Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Ensures an application closes gracefully by executing a specified keyword and then waiting for the application to terminate. If the application does not close within the given timeout, it captures a screenshot and forces closure using 'System Exit', failing the test. This keyword is essential for reliable test cleanup. ```robotframework *** Settings *** Library RemoteSwingLibrary debug=True *** Test Cases *** Graceful Application Shutdown [Timeout] 30 seconds Start Application myapp java -jar MyApp.jar timeout=10 Select Window Main Window # This will click Exit button and wait for app to close Ensure Application Should Close 15 seconds Push Button Exit Test Application Closes Via Menu [Timeout] 30 seconds Start Application myapp java -jar MyApp.jar timeout=10 Select Main Window # Using custom keyword to close Ensure Application Should Close 10 seconds Close Via Menu myapp *** Keywords *** Close Via Menu [Arguments] ${alias} Switch To Application ${alias} Select From Main Menu File|Exit ``` -------------------------------- ### Remote Machine Testing via SSH Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Enables testing of Java applications on remote machines by establishing an SSH connection. The agent reports back to the test machine using a specified IP and port, facilitating distributed testing. ```robotframework *** Settings *** Library SSHLibrary Library RemoteSwingLibrary *** Variables *** ${REMOTE_IP} 192.168.1.100 ${MY_IP} 192.168.1.50 ${USERNAME} testuser ${PASSWORD} secret *** Test Cases *** Test Application On Remote Machine [Timeout] 60 seconds # Connect to remote machine Open Connection ${REMOTE_IP} Login ${USERNAME} ${PASSWORD} # Copy the library JAR to remote machine Put File ${REMOTESWINGLIBRARYPATH} remoteswinglibrary.jar # Start application on remote with agent pointing back to this machine Write xvfb-run java -javaagent:remoteswinglibrary.jar=${MY_IP}:${REMOTESWINGLIBRARYPORT}:DEBUG -jar remoteswinglibrary.jar # Connect to the remote application Application Started remote_app timeout=30 seconds # Test the application Select Main Window System Exit [Teardown] Close All Connections ``` -------------------------------- ### System Exit in Robot Framework Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Forces a Java application to terminate by invoking `System.exit()` via the remote agent. This keyword is useful for cleaning up resources or when an application fails to respond to standard closing procedures. It can also be used to specify an exit code for the terminated process. ```robotframework *** Settings *** Library RemoteSwingLibrary debug=True *** Test Cases *** Force Close Application [Timeout] 15 seconds Start Application myapp java -jar MyApp.jar timeout=10 Select Main Window # Perform some tests... Push Button Start Process # Force close the application System Exit Force Close With Exit Code [Timeout] 15 seconds Start Application myapp java -jar MyApp.jar timeout=10 # Exit with specific code System Exit exit_code=0 ``` -------------------------------- ### Security Dialogs Handling Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt RemoteSwingLibrary can automatically close Java security warning dialogs. When enabled, screenshots of dialogs are saved for debugging purposes. ```APIDOC ## Security Dialogs Handling ### Description RemoteSwingLibrary can automatically close Java security warning dialogs that appear when running Java Web Start or signed applet applications. When enabled, screenshots of dialogs are saved for debugging purposes. ### Method N/A (This is a keyword description) ### Endpoint N/A ### Parameters #### Start Application Parameters - **close_security_dialogs** (boolean) - Required/Optional - If set to `True`, security dialogs will be automatically closed. - **dir_path** (string) - Required/Optional - Specifies the directory path to save screenshots of security dialogs. If not provided, no screenshots are taken. ### Request Example ```robotframework # With screenshots Start Application App java org.example.SecureApp timeout=30 seconds close_security_dialogs=True dir_path=security_screenshots/ # Without screenshots Start Application App java org.example.SecureApp timeout=30 seconds close_security_dialogs=True ``` ### Response #### Success Response (200) N/A (This describes a configuration option for starting an application) #### Response Example N/A ``` -------------------------------- ### System Exit Source: https://context7.com/marketsquare/remoteswinglibrary/llms.txt Forces the Java application to terminate by calling `System.exit()` through the remote agent. Use this for cleanup or when the application doesn't respond to normal close operations. ```APIDOC ## System Exit ### Description Forces the Java application to terminate by calling `System.exit()` through the remote agent. Use this for cleanup or when the application doesn't respond to normal close operations. ### Method N/A (Keyword) ### Endpoint N/A (Keyword) ### Parameters #### Arguments - **exit_code** (integer) - Optional - The exit code to return. Defaults to 0. ### Request Example ```robotframework System Exit System Exit exit_code=0 ``` ### Response #### Success Response N/A (Keyword) #### Response Example N/A ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.