You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`HyperExecute CLI` is a command line interface that is required to run tests on HyperExecute. This page outlines all you need to know about the CLI and also explains about the different flags & functionalities supported by the HyperExecute CLI.
55
56
56
-
***
57
-
58
-
### Downloading the HyperExecute CLI
57
+
## Download the HyperExecute CLI
59
58
60
59
You can download the `HyperExecute CLI` for your OS from the links given below :
61
60
62
61
| Platform | Download Link |
63
62
| ---------| --------------------------- |
63
+
| Linux |https://downloads.lambdatest.com/hyperexecute/linux/hyperexecute|
64
64
| Windows |https://downloads.lambdatest.com/hyperexecute/windows/hyperexecute.exe|
| Linux |https://downloads.lambdatest.com/hyperexecute/linux/hyperexecute|
67
66
68
67
## HyperExecute CLI Supported Flags
69
68
70
69
HyperExecute CLI provides different command-line flags that let you control the HyperExecute platform as per your customised requirements. You can run `hyperexecute.exe --help` on your terminal to explore the different flags.
The various flags that are supported are listed below.
77
74
78
75
| Flags | Type | Description
@@ -288,15 +285,22 @@ The secrets file contains highly sensitive information and must be strictly excl
288
285
289
286
***
290
287
291
-
## Running HyperExecute CLI
288
+
## Trigger your Test from HyperExecute CLI
292
289
293
-
In order to trigger your test on Hyperexecute, just need to use the following command. Please replace the placeholder values with your details.
290
+
In order to trigger your job on HyperExecute, execute the following command in your terminal. You will need to insert the name of your YAML file in place of the `YOUR_YAML_FILE` before running this command.
> **Note**: If you're running on a minimal alpine image, please make sure to install essential linux dependencies for HyperExecute CLI to work.
298
+
:::tip
299
+
In case of macOS, if you get a permission denied warning while executing CLI, simply run `chmod u+x ./hyperexecute` to allow permission. In case you get a security popup, allow it from your **System Preferences** → **Security & Privacy** → **General** tab.
300
+
:::
301
+
302
+
:::note
303
+
If you're running on a minimal alpine image, please make sure to install essential linux dependencies for HyperExecute CLI to work.
300
304
(An example with our sample repo has been given below):
301
305
```bash
302
306
apk add libc6-compat git bash
@@ -306,44 +310,35 @@ In order to trigger your test on Hyperexecute, just need to use the following co
The HyperExecute CLI binary ignores all the files listed in the `.gitignore` file during the testing process.
315
-
316
-
We also provide a similar functionality using te `.hyperexecuteignore`. [Learn More](/support/docs/hyperexecute-gitignore/)
317
-
318
-
> Feel free to go over the [frequently asked questions](/support/docs/hyperexecute-cli-faqs/) about the HyperExecute CLI.
313
+
:::
319
314
320
315
## Running HyperExecute CLI in Quiet Mode
321
316
322
-
Each time a job is run in Hyperexecute, a large number of logs are produced. These logs are sometimes beneficial for thorough debugging and analysis, it occasionally overwhelms Continuous Integration (CI) systems with an excessive amount of logs, especially when handling a large number of test executions. Hyperexecute provides a **"Quiet mode"** as a solution to this issue and to give users more control over the logging output. By only displaying significant updates during the test execution, this enables you to run tests with less logs.
323
-
324
-
### Enabling Quiet Mode using CLI
325
-
First, you need to paas these commands in CLI or terminal to enable the **Quiet Mode** and then trigger the command to execute your job.
326
-
327
-
For macOS / Linux:
328
-
329
-
```bash
330
-
env | grep CI
331
-
# Used to check if the CI variable is set to true or not
317
+
Each time a job is run in Hyperexecute, a large number of logs are produced. These logs are sometimes beneficial for thorough debugging and analysis, it occasionally overwhelms Continuous Integration (CI) systems with an excessive amount of logs, especially when handling a large number of test executions.
332
318
333
-
export CI=true
334
-
# If it's not set to true, then use this command to set as true
335
-
```
319
+
Hyperexecute provides a **"Quiet mode"** as a solution to this issue and to give users more control over the logging output. By only displaying significant updates during the test execution, this enables you to run tests with less logs.
336
320
337
-
For Windows:
321
+
To enable the **Quiet Mode**, you need to paas these commands in your terminal and then trigger the command to execute your job.
338
322
339
-
```bash
340
-
env | grep CI
341
-
# Used to check if the CI variable is set to true or not
323
+
<TabsclassName="docs__val">
324
+
<TabItemvalue="bash"label="Linux / macOS"default>
325
+
```yaml
326
+
env | grep CI # Used to check if the CI variable is set to true or not
327
+
export CI=true # If it's not set to true, then use this command to set as true
328
+
```
329
+
</TabItem>
342
330
343
-
set CI=true
344
-
# If it's not set to true, then use this command to set as true
345
-
```
331
+
<TabItemvalue="powershell"label="Windows"default>
332
+
```yaml
333
+
env | grep CI # Used to check if the CI variable is set to true or not
334
+
set CI=true # If it's not set to true, then use this command to set as true
Copy file name to clipboardExpand all lines: docs/hyperexecute-inherit-config.md
+35-40
Original file line number
Diff line number
Diff line change
@@ -41,15 +41,13 @@ YAML inheritance in HyperExecute allows you to reuse common configuration settin
41
41
42
42
For example, you can create a base YAML file with common settings like **browsers**, **OS versions**, and **devices**, and then inherit from it in other YAML files for different environments or test types. This **reduces boilerplate code and errors** while making it easy to switch between environments and manage complex test execution configurations.
43
43
44
-
###Prerequisites
44
+
## Prerequisites
45
45
46
46
- You must inherit a YAML file of the same version as your original file.
47
-
48
47
- The mode of execution, i.e. Matrix, AutoSplit, or Hybrid, must remain the same in both of the YAML files.
49
-
50
48
- The files that you want to inherit cannot be cyclically dependent. If you want to inherit **A.yaml** in **B.yaml**, then **A.yaml** cannot inherit **B.yaml**.
51
49
52
-
###How do you use the Inheritance feature?
50
+
## How do you use the Inheritance feature?
53
51
54
52
You can use the inheritance feature by entering the following flag in your YAML file:
55
53
@@ -69,22 +67,22 @@ base:
69
67
70
68
Go through the example attached below to understand how the resultant YAML will function if you inherit a base YAML in your parent YAML file.
71
69
72
-
**Parent YAML**:
70
+
### Parent YAML
71
+
73
72
```yaml
74
73
---
75
74
version: 0.1
76
-
testSuiteTimeout: 10
77
-
testSuiteStep: 8
75
+
runson: win
78
76
79
77
base:
80
78
yamls:
81
79
- ./level1/base1.yaml
82
80
83
-
runson: win
84
81
autosplit: true
82
+
concurrency: 2
83
+
85
84
retryOnFailure: false
86
85
maxRetries: 5
87
-
concurrency: 2
88
86
89
87
env:
90
88
CACHE_DIR: m2_cache_dir
@@ -96,6 +94,12 @@ preDirectives:
96
94
- echo yaml/level0/level1/base1.yaml
97
95
- mvn dependency:resolve
98
96
97
+
testDiscovery:
98
+
type: raw
99
+
command: grep 'test name' xml/testng_win.xml | awk '{print$2}' | sed 's/name=//g' | sed 's/\x3e//g'
100
+
101
+
testRunnerCommand: mvn test `-Dplatname=win `-Dmaven.repo.local=./.m2 dependency:resolve `-DselectedTests=$test
102
+
99
103
postDirectives:
100
104
commands:
101
105
- ls
@@ -108,26 +112,20 @@ uploadArtefacts:
108
112
path:
109
113
- target/surefire-reports/html/**
110
114
111
-
testDiscovery:
112
-
type: raw
113
-
command: grep 'test name' xml/testng_win.xml | awk '{print$2}' | sed 's/name=//g' | sed 's/\x3e//g'
114
-
115
-
testRunnerCommand: mvn test `-Dplatname=win `-Dmaven.repo.local=./.m2 dependency:resolve `-DselectedTests=$test
115
+
jobLabel: ['parent']
116
116
```
117
117
118
-
**Base YAML**:
118
+
### Base YAML
119
119
```yaml
120
120
---
121
121
version: 0.1
122
-
testSuiteTimeout: 10
123
-
testSuiteStep: 0
124
-
125
-
126
122
runson: mac
123
+
127
124
autosplit: true
125
+
concurrency: 1
126
+
128
127
retryOnFailure: true
129
128
maxRetries: 5
130
-
concurrency: 1
131
129
132
130
env:
133
131
CACHE_DIR: m2_cache_dir
@@ -137,6 +135,12 @@ preDirectives:
137
135
- pwd
138
136
- mvn dependency:resolve
139
137
138
+
testDiscovery:
139
+
type: raw
140
+
mode: static
141
+
142
+
testRunnerCommand: echo test
143
+
140
144
postDirectives:
141
145
commands:
142
146
- ls
@@ -149,29 +153,20 @@ uploadArtefacts:
149
153
path:
150
154
- target/surefire-reports/html/**
151
155
152
-
testDiscovery:
153
-
type: raw
154
-
mode: static
155
-
156
-
testRunnerCommand: echo test
157
-
158
156
jobLabel: ['base1']
159
157
```
160
158
161
-
162
-
**Resultant YAML**:
159
+
### Resultant YAML
163
160
```yaml
164
161
---
165
162
version: 0.1
166
-
testSuiteTimeout: 10
167
-
testSuiteStep: 8
168
-
169
-
170
163
runson: mac
164
+
171
165
autosplit: true
166
+
concurrency: 1
167
+
172
168
retryOnFailure: true
173
169
maxRetries: 5
174
-
concurrency: 1
175
170
176
171
env:
177
172
CACHE_DIR: m2_cache_dir
@@ -181,6 +176,13 @@ preDirectives:
181
176
- pwd
182
177
- mvn dependency:resolve
183
178
179
+
testDiscovery:
180
+
type: raw
181
+
mode: static
182
+
command: grep 'test name' xml/testng_win.xml | awk '{print$2}' | sed 's/name=//g' | sed 's/\x3e//g'
183
+
184
+
testRunnerCommand: mvn test `-Dplatname=win `-Dmaven.repo.local=./.m2 dependency:resolve `-DselectedTests=$test
185
+
184
186
postDirectives:
185
187
commands:
186
188
- ls
@@ -193,13 +195,6 @@ uploadArtefacts:
193
195
path:
194
196
- target/surefire-reports/html/**
195
197
196
-
testDiscovery:
197
-
type: raw
198
-
mode: static
199
-
command: grep 'test name' xml/testng_win.xml | awk '{print$2}' | sed 's/name=//g' | sed 's/\x3e//g'
200
-
201
-
testRunnerCommand: mvn test `-Dplatname=win `-Dmaven.repo.local=./.m2 dependency:resolve `-DselectedTests=$test
0 commit comments