|
13 | 13 | "description": [ |
14 | 14 | "### Purpose", |
15 | 15 | "", |
16 | | - "The `GetParameter` plugin is an indispensable tool in the realm of Robotic Process Automation (RPA) and automation testing. ", |
17 | | - "It empowers automation scripts and RPA bots to dynamically retrieve essential parameter values from the environment, facilitating seamless execution of tasks and actions.", |
| 16 | + "The `GetParameter` plugin retrieves parameter values from designated storage scopes within controlled environments. ", |
| 17 | + "It supports rapid access to configuration data, real-time substitution of dynamic values, and decoding of encoded parameters. ", |
| 18 | + "Additionally, it can decrypt secure values using a provided EncryptionKey when the parameter was encrypted by the RegisterParameter plugin. ", |
| 19 | + "This capability is essential for maintaining secure and efficient automation workflows in diverse deployment scenarios.", |
18 | 20 | "", |
19 | 21 | "### Key Features", |
20 | 22 | "", |
21 | | - "| Feature | Description |", |
22 | | - "|------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|", |
23 | | - "| Environment Parameter Retrieval | Obtain parameter values from the environment effortlessly, enabling RPA bots and automation scripts to adapt dynamically to various environmental configurations. |", |
24 | | - "| Dynamic Value Injection | Inject retrieved parameter values seamlessly into automation steps or actions, ensuring flexibility and customization in automation workflows. |", |
25 | | - "| Encoding Support | Robust support for encoding schemes such as base64 ensures compatibility with encoded parameter values stored in the environment. |", |
26 | | - "| Environment-Specific Parameter Retrieval | When utilizing the application scope, the plugin allows for the specification of an 'EnvironmentName' parameter, facilitating the retrieval of values from different environments (e.g., test, prod). If not specified, the plugin defaults to the 'SystemParameters' environment. |", |
| 23 | + "| Feature | Description |", |
| 24 | + "|------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|", |
| 25 | + "| Environment Parameter Retrieval | Extracts parameter values from specified scopes (Application, User, Machine, Process, Session) while supporting multi-environment setups. This ensures accurate retrieval even in complex, dynamically changing runtime conditions. |", |
| 26 | + "| Dynamic Value Injection | Integrates with automation workflows by replacing placeholders with live parameter values in real-time, supporting both synchronous and asynchronous execution paths to maintain workflow continuity. |", |
| 27 | + "| Encoding Support | Implements robust base64 encoding and decoding processes to maintain data integrity and compatibility across various systems and communication channels. |", |
| 28 | + "| Environment-Specific Parameter Retrieval | Leverages explicit environment identifiers (e.g., test, prod) to target distinct parameter repositories, defaulting to 'SystemParameters' when not specified, thus ensuring that the correct configuration data is isolated and retrieved as needed. |", |
| 29 | + "| Encryption Support | Uses a provided EncryptionKey to decrypt parameter values that were encrypted by the RegisterParameter plugin, ensuring that sensitive data remains secure while being accessible for authorized automation tasks. |", |
27 | 30 | "", |
28 | 31 | "### Usages in RPA", |
29 | 32 | "", |
30 | | - "| Usage | Description |", |
31 | | - "|---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|", |
32 | | - "| Task Orchestration | Streamline task execution by dynamically retrieving parameters required for different stages of RPA workflows, enhancing efficiency and adaptability. |", |
33 | | - "| Environment-Specific Automation | Configure RPA bots to operate seamlessly across multiple environments by retrieving environment-specific parameter values, ensuring consistency and reliability in automation processes. |", |
| 33 | + "| Usage | Description |", |
| 34 | + "|---------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|", |
| 35 | + "| Task Orchestration | Retrieves critical configuration parameters to coordinate multi-stage automation tasks, ensuring that each workflow step is executed with the correct runtime data. |", |
| 36 | + "| Environment-Specific Automation | Adapts automation bots to operate across multiple environments by dynamically sourcing parameters specific to each context, thereby enhancing consistency and reliability in process execution. |", |
34 | 37 | "", |
35 | 38 | "### Usages in Automation Testing", |
36 | 39 | "", |
37 | | - "| Usage | Description |", |
38 | | - "|---------------------------------|---------------------------------------------------------------------------------------------------------------------|", |
39 | | - "| Data-Driven Testing | Fetch test data stored as parameters in the environment, enabling data-driven testing approaches and scenarios, which are fundamental to comprehensive automation testing strategies. |", |
40 | | - "| Configuration Management | Retrieve dynamic configuration parameters required for automation testing, enabling flexible and customizable testing frameworks that can adapt to changing testing requirements. |", |
41 | | - "| Environment-Based Customization | Customize automation testing behavior based on environmental variables, facilitating environment-specific testing scenarios and enhancing test coverage and reliability. |" |
| 40 | + "| Usage | Description |", |
| 41 | + "|---------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|", |
| 42 | + "| Data-Driven Testing | Dynamically retrieves test data parameters to support a data-driven testing approach, allowing test scenarios to be generated and adjusted based on current parameter values. |", |
| 43 | + "| Configuration Management | Extracts and integrates runtime configuration parameters, enabling testing frameworks to automatically adjust to evolving conditions, thus ensuring robustness and scalability. |", |
| 44 | + "| Environment-Based Customization | Retrieves environment-specific parameters to tailor test cases, providing precise control over test execution and improving overall test coverage. |" |
42 | 45 | ], |
43 | 46 | "examples": [ |
44 | 47 | { |
45 | 48 | "description": [ |
46 | | - "This example configures the `SendKeys` plugin to send keystrokes representing the value retrieved from the 'AppVersion' parameter in the 'SystemParameters' environment within the application scope to a specific element identified by its CSS selector.", |
47 | | - "Here's the breakdown:", |
48 | | - "", |
49 | | - "- **pluginName**: Identifies the specific plugin being utilized, which is `SendKeys`. This signifies the exact action the plugin will undertake.", |
50 | | - "- **argument**: Specifies the keystrokes to be sent by the `SendKeys` plugin, where the value is dynamically obtained from the 'AppVersion' parameter in the 'SystemParameters' environment within the application scope. For example, `{{$Get-Parameter --Name:AppVersion --Scope:Application --Environment:SystemParameters}}`.", |
51 | | - "- **onElement**: Indicates the target element on the web page to which the keystrokes will be sent, identified by its CSS selector.", |
52 | | - "- **locator**: Specifies the type of locator used to identify the target element. In this case, it is set to `CssSelector`.", |
53 | | - "", |
54 | | - "This example instructs the automation system to utilize the `SendKeys` plugin to send keystrokes representing the value retrieved from the 'AppVersion' parameter in the 'SystemParameters' environment within the application scope to the element identified by its CSS selector. ", |
55 | | - "The retrieved value will be dynamically inserted into the specified element, allowing for precise interaction within the automation workflow." |
| 49 | + "Retrieve 'AppVersion' from SystemParameters in Application scope; use SendKeys to target #appVersionInput." |
56 | 50 | ], |
57 | 51 | "rule": { |
58 | 52 | "argument": "{{$Get-Parameter --Name:AppVersion --Scope:Application --Environment:SystemParameters}}", |
|
63 | 57 | }, |
64 | 58 | { |
65 | 59 | "description": [ |
66 | | - "This example configures the `SendKeys` plugin to send keystrokes representing the value retrieved from the 'AppVersion' parameter in the default 'SystemParameters' environment within the application scope to a specific element identified by its CSS selector.", |
67 | | - "Here's the breakdown:", |
68 | | - "", |
69 | | - "- **pluginName**: Identifies the specific plugin being utilized, which is `SendKeys`. This signifies the exact action the plugin will undertake.", |
70 | | - "- **argument**: Specifies the keystrokes to be sent by the `SendKeys` plugin, where the value is dynamically obtained from the 'AppVersion' parameter in the default 'SystemParameters' environment within the application scope. For example, `{{$Get-Parameter --Name:AppVersion --Scope:Application}}`.", |
71 | | - "- **onElement**: Indicates the target element on the web page to which the keystrokes will be sent, identified by its CSS selector.", |
72 | | - "- **locator**: Specifies the type of locator used to identify the target element. In this case, it is set to `CssSelector`.", |
73 | | - "", |
74 | | - "This example instructs the automation system to utilize the `SendKeys` plugin to send keystrokes representing the value retrieved from the 'AppVersion' parameter in the default 'SystemParameters' environment within the application scope to the element identified by its CSS selector. ", |
75 | | - "The retrieved value will be dynamically inserted into the specified element, allowing for precise interaction within the automation workflow." |
| 60 | + "Retrieve 'AppVersion' from default SystemParameters in Application scope; use SendKeys to target #appVersionInput." |
76 | 61 | ], |
77 | 62 | "rule": { |
78 | 63 | "argument": "{{$Get-Parameter --Name:AppVersion --Scope:Application}}", |
|
83 | 68 | }, |
84 | 69 | { |
85 | 70 | "description": [ |
86 | | - "This example configures the `SendKeys` plugin to send keystrokes representing the value retrieved from the 'Email' parameter in the user environment to a specific element identified by its CSS selector.", |
87 | | - "Here's the breakdown:", |
88 | | - "", |
89 | | - "- **pluginName**: Identifies the specific plugin being utilized, which is `SendKeys`. This signifies the exact action the plugin will undertake.", |
90 | | - "- **argument**: Specifies the keystrokes to be sent by the `SendKeys` plugin, where the value is dynamically obtained from the 'Email' parameter in the user environment. For example, `{{$Get-Parameter --Name:Email --Scope:User}}`.", |
91 | | - "- **onElement**: Indicates the target element on the web page to which the keystrokes will be sent, identified by its CSS selector.", |
92 | | - "- **locator**: Specifies the type of locator used to identify the target element. In this case, it is set to `CssSelector`.", |
93 | | - "", |
94 | | - "This example instructs the automation system to utilize the `SendKeys` plugin to send keystrokes representing the value retrieved from the 'Email' parameter in the user environment to the element identified by its CSS selector. ", |
95 | | - "The retrieved value will be dynamically inserted into the specified element, allowing for precise interaction within the automation workflow." |
| 71 | + "Retrieve 'Email' from User scope; use SendKeys to target #emailInput." |
96 | 72 | ], |
97 | 73 | "rule": { |
98 | 74 | "argument": "{{$Get-Parameter --Name:Email --Scope:User}}", |
|
103 | 79 | }, |
104 | 80 | { |
105 | 81 | "description": [ |
106 | | - "This example configures the `SendKeys` plugin to send keystrokes representing the value retrieved from the 'MachineName' parameter in the machine environment to a specific element identified by its CSS selector.", |
107 | | - "Here's the breakdown:", |
108 | | - "", |
109 | | - "- **pluginName**: Identifies the specific plugin being utilized, which is `SendKeys`. This signifies the exact action the plugin will undertake.", |
110 | | - "- **argument**: Specifies the keystrokes to be sent by the `SendKeys` plugin, where the value is dynamically obtained from the 'MachineName' parameter in the machine environment. For example, `{{$Get-Parameter --Name:MachineName --Scope:Machine}}`.", |
111 | | - "- **onElement**: Indicates the target element on the web page to which the keystrokes will be sent, identified by its CSS selector.", |
112 | | - "- **locator**: Specifies the type of locator used to identify the target element. In this case, it is set to `CssSelector`.", |
113 | | - "", |
114 | | - "This example instructs the automation system to utilize the `SendKeys` plugin to send keystrokes representing the value retrieved from the 'MachineName' parameter in the machine environment to the element identified by its CSS selector. ", |
115 | | - "The retrieved value will be dynamically inserted into the specified element, allowing for precise interaction within the automation workflow." |
| 82 | + "Retrieve 'MachineName' from Machine scope; use SendKeys to target #machineNameInput." |
116 | 83 | ], |
117 | 84 | "rule": { |
118 | 85 | "argument": "{{$Get-Parameter --Name:MachineName --Scope:Machine}}", |
|
123 | 90 | }, |
124 | 91 | { |
125 | 92 | "description": [ |
126 | | - "This example configures the `SendKeys` plugin to send keystrokes representing the value retrieved from the 'ProcessId' parameter in the process environment to a specific element identified by its CSS selector.", |
127 | | - "Here's the breakdown:", |
128 | | - "", |
129 | | - "- **pluginName**: Identifies the specific plugin being utilized, which is `SendKeys`. This signifies the exact action the plugin will undertake.", |
130 | | - "- **argument**: Specifies the keystrokes to be sent by the `SendKeys` plugin, where the value is dynamically obtained from the 'ProcessId' parameter in the process environment. For example, `{{$Get-Parameter --Name:ProcessId --Scope:Process}}`.", |
131 | | - "- **onElement**: Indicates the target element on the web page to which the keystrokes will be sent, identified by its CSS selector.", |
132 | | - "- **locator**: Specifies the type of locator used to identify the target element. In this case, it is set to `CssSelector`.", |
133 | | - "", |
134 | | - "This example instructs the automation system to utilize the `SendKeys` plugin to send keystrokes representing the value retrieved from the 'ProcessId' parameter in the process environment to the element identified by its CSS selector. ", |
135 | | - "The retrieved value will be dynamically inserted into the specified element, allowing for precise interaction within the automation workflow." |
| 93 | + "Retrieve 'ProcessId' from Process scope; use SendKeys to target #processIdInput." |
136 | 94 | ], |
137 | 95 | "rule": { |
138 | 96 | "argument": "{{$Get-Parameter --Name:ProcessId --Scope:Process}}", |
139 | 97 | "locator": "CssSelector", |
140 | 98 | "onElement": "#processIdInput", |
141 | 99 | "pluginName": "SendKeys" |
142 | 100 | } |
| 101 | + }, |
| 102 | + { |
| 103 | + "description": [ |
| 104 | + "Retrieve 'SecretParam' from SystemParameters in Application scope using EncryptionKey for decryption; use SendKeys to target #secretInput." |
| 105 | + ], |
| 106 | + "rule": { |
| 107 | + "argument": "{{$Get-Parameter --Name:SecretParam --Scope:Application --Environment:SystemParameters --EncryptionKey:myEncryptionKey}}", |
| 108 | + "locator": "CssSelector", |
| 109 | + "onElement": "#secretInput", |
| 110 | + "pluginName": "SendKeys" |
| 111 | + } |
143 | 112 | } |
144 | 113 | ], |
145 | 114 | "key": "Get-Parameter", |
|
171 | 140 | "mandatory": false, |
172 | 141 | "name": "Environment", |
173 | 142 | "type": "String" |
| 143 | + }, |
| 144 | + { |
| 145 | + "description": [ |
| 146 | + "Specifies the encryption key used to decrypt the parameter value in case it was encrypted by the RegisterParameter plugin." |
| 147 | + ], |
| 148 | + "mandatory": false, |
| 149 | + "name": "EncryptionKey", |
| 150 | + "type": "String" |
174 | 151 | } |
175 | 152 | ], |
176 | 153 | "pluginType": "Macro", |
|
182 | 159 | "Any" |
183 | 160 | ], |
184 | 161 | "summary": [ |
185 | | - "The `GetParameter` plugin facilitates dynamic retrieval of parameter values from the environment within automation workflows. ", |
186 | | - "It enables automation scripts to adapt dynamically based on environmental configurations, enhancing flexibility and versatility." |
| 162 | + "The `GetParameter` plugin retrieves parameter values from the environment for use within automation workflows. ", |
| 163 | + "It allows automation scripts to adapt dynamically based on environmental configurations, enhancing flexibility and versatility.", |
| 164 | + "It also supports decryption using an EncryptionKey if the parameter was encrypted by the RegisterParameter plugin, ensuring secure handling of sensitive data." |
187 | 165 | ] |
188 | 166 | } |
0 commit comments