For AI agents and LLMs: a machine-readable index is available at llms.txt. A plain-Markdown version of any documentation page is available by appending .md to its URL.
Skip to main content

How to Debug your CLI Errors

This document will help you debug your failed job if you are facing any CLI issues.

If the CLI printed an error code such as ERR::HTTP::RESP, look it up in Error Codes below.

tip

If you are encountering any error which is properly not detailed, it is recommend to use verbose mode in HyperExecute CLI command.

This error will mark your Job as a Lambda Error.

You can encounter this error when you try to upload the node_modules directory along with the payload to trigger your Job in HyperExecute. This error generally occurs with your Node.js projects. You must avoid doing this, as it will not only save storage space but also avoid potential issues with version control. The node_modules folder holds all the project dependencies, and adding it to the repository can cause unnecessary file duplication and increase the repository size.

To resolve this issue, either you remove that directory or you simply add node_modules to the .gitignore file. This ensures you have a smooth development process without unnecessary hiccups.

HyperExecute CLI output for a Symbolic Link Error, ending in Exiting with error: Lambda error found

The CLI output looks like this:

error    ERR::JOB::STS     Job lambda_error!
taskID:<task-id> has errored with remark: error in extracting: reading file in zip archive: <path>/node_modules/.bin/he: making symbolic link for: symlink #!/usr/bin/env node
LAMBDA_ERROR
error Exiting with error: Lambda error found.

Snooper Failed Error

It's crucial to understand a specific characteristic of Gherkin – it exclusively supports the use of Examples with the Scenario Outline. If you come across an error, it likely indicates that the Scenario is being employed with Examples instead of the intended Scenario Outline. To resolve this, ensure that you use the appropriate structure, employing the Scenario Outline when incorporating Examples.

Gherkin comparison: Examples under a Scenario Outline is recommended, Examples under a plain Scenario is not Snooper failed output: Unable to extract scenarios, Unable to parse file

The CLI prints output like this:

Snooper failed:
Error occurred while running snooper command
Caused by -> Unable to extract scenarios
Caused by -> Unable to parse file: <path>/<file>.feature

Use Examples only under a Scenario Outline:

Scenario Outline: test
Then Click on User Profile
And Click on Admin Dashboard
Then Click on Save button
Examples:
| User |
| home |

Not under a plain Scenario, which causes the error above:

Scenario: test
Then Click on User Profile
And Click on Admin Dashboard
Then Click on Save button
Examples:
| User |
| home |

Authentication Error

There may be cases where, when trying to connect to HyperExecute services, the CLI throws the following error:

HyperExecute CLI output: ERR:HTTP:HOST Facing problem in connecting with LUMS_HOST
error    ERR:HTTP:HOST     Facing problem in connecting with LUMS_HOST :: https://auth.hyperexecute.cloud - prod  - error in authenticating user.

If the CLI printed an error code such as ERR::NO::USER, ERR::NO::KEY, or ERR::HTTP::RESP, see Error Codes below.

Now, to validate the connectivity and to make sure the auth.hyperexecute.cloud is reachable, you have to run a scan command in your CLI, as shown below. If the network scan fails, then you are required to whitelist the IP address.

Output of hyperexecute --scan showing each HyperExecute host as reachable
hyperexecute.exe --scan
Running Network Scanner:
✓ Tunnel Host hts.lambdatest.com is reachable
✓ Download Assets Host downloads.lambdatest.com is reachable
✓ API Host api-hyperexecute.lambdatest.com is reachable
✓ Storage Host hypertestproduction.blob.core.windows.net is reachable
✓ Download Assets Host downloads.hyperexecute.cloud is reachable
✓ Authentication Host auth.hyperexecute.cloud is reachable

Network Scan Passed!

IPs to be Whitelisted

FQDNProtocol:PortReason
*.hyperexecute.cloudHttps:443HyperExecute’s registered wildcard domain to allow access to all HyperExecute’s services
*.lambdatest.comHttps:443TestMu AI’s registered wildcard domain to allow access to all TestMu AI’s services (like auth, plan-validation)

Error Codes

When a HyperExecute run fails, the CLI prints an error code, a short title, and a suggested fix, then exits with code 1. For example:

error    ERR::NO::USER     Unable to find LT username.    Unable to parse LT username. Use --user cli flag or LT_USERNAME environment variable
Error: ERR::NO::USER Unable to find LT username.

The error lines are written to standard output, and the Error: line to standard error. Most codes have the form ERR::DOMAIN::REASON. Search this page for the code you see. Each code can also be written with underscores, such as ERR_NO_USER.

Documented for HyperExecute CLI v0.2.354.

Credentials are checked first

The CLI checks your credentials before it validates your YAML. If your credentials are wrong, you see ERR::HTTP::RESP with a 401 even when your YAML also has a problem. Fix your credentials first, then run the command again to see any other error.

ERR::NO::USER

FieldValue
AliasERR_NO_USER
What happenedThe CLI could not find a TestMu AI username.
What to doSet the LT_USERNAME environment variable, or pass --user. See how to find your username and access key.
Exit code1
error    ERR::NO::USER     Unable to find LT username.    Unable to parse LT username. Use --user cli flag or LT_USERNAME environment variable
Error: ERR::NO::USER Unable to find LT username.

ERR::NO::KEY

FieldValue
AliasERR_NO_KEY
What happenedThe CLI could not find a TestMu AI access key.
What to doSet the LT_ACCESS_KEY environment variable, or pass --key. See how to find your username and access key.
Exit code1
error    ERR::NO::KEY     Unable to find LT access key.    Unable to parse LT access key. Use --key cli flag or LT_ACCESS_KEY environment variable
Error: ERR::NO::KEY Unable to find LT access key.

ERR::HTTP::RESP

FieldValue
AliasERR_HTTP_RESP
What happenedThe HyperExecute API returned an error status. With a wrong username or access key, the CLI prints non-20x status code 401 and Invalid user/key credentials.
What to doCheck your username and access key. See how to find your username and access key.
You may be seeing this for a different reasonCredentials are checked before your YAML. A missing framework: key, an invalid partialReports type, and a --config path that does not exist all show this code when the credentials are also wrong. Fix the credentials first.
Exit code1
error    ERR::UP::VER     Unable to fetch latest version from upstream  ERR::HTTP::RESP     non-20x status code 401    Invalid user/key credentials
Error: ERR::HTTP::RESP non-20x status code 401 Invalid user/key credentials

ERR::UP::VER

FieldValue
AliasERR_UP_VER
What happenedThe CLI could not fetch its latest version from the server.
When you see itWith rejected credentials, it is printed on the same line as ERR::HTTP::RESP.
What to doFix the credentials problem reported by ERR::HTTP::RESP.
Exit code1
error    ERR::UP::VER     Unable to fetch latest version from upstream  ERR::HTTP::RESP     non-20x status code 401    Invalid user/key credentials

ERR:HTTP:HOST

FieldValue
AliasERR_HTTP_HOST
What happenedThe CLI could not connect to the HyperExecute authentication service at auth.hyperexecute.cloud.
What to doRun the CLI with --scan to check each host, and allow the hosts in IPs to be Whitelisted. See Authentication Error.
error    ERR:HTTP:HOST     Facing problem in connecting with LUMS_HOST :: https://auth.hyperexecute.cloud - prod  - error in authenticating user.

ERR::JOB::STS

FieldValue
AliasERR_JOB_STS
What happenedThe job finished with an error status, which the CLI prints after the code, for example Job lambda_error!.
ExampleIn the Symbolic Link Error above, the status was lambda_error, caused by symbolic links in an uploaded node_modules folder.
What to doRead the task remarks printed below the code.
error    ERR::JOB::STS     Job lambda_error!

Quick Lookup Table

CodeAliasWhat to do
ERR::NO::USERERR_NO_USERSet LT_USERNAME or pass --user
ERR::NO::KEYERR_NO_KEYSet LT_ACCESS_KEY or pass --key
ERR::HTTP::RESPERR_HTTP_RESPCheck your username and access key
ERR::UP::VERERR_UP_VERFix the credentials problem reported with it
ERR:HTTP:HOSTERR_HTTP_HOSTRun --scan and allow the listed hosts
ERR::JOB::STSERR_JOB_STSRead the status and task remarks after the code

Handling Error Codes in CI

Every failure exits with a non-zero code and prints the error code, so you can branch on it:

OUTPUT=$(hyperexecute --config hyperexecute.yaml 2>&1)
STATUS=$?
CODE=$(echo "$OUTPUT" | grep -oE 'ERR::?[A-Z0-9_]+(::?[A-Z0-9_]+)*' | head -1)

if [ "$STATUS" -ne 0 ]; then
case "$CODE" in
ERR::NO::USER|ERR::NO::KEY|ERR::HTTP::RESP)
echo "Credentials problem - check LT_USERNAME and LT_ACCESS_KEY" ;;
*)
echo "HyperExecute CLI failed with $CODE" ;;
esac
exit 1
fi

YAML Validation Messages

The CLI includes these validation messages for hyperexecute.yaml. Each one names the key to fix. See the YAML reference.

MessageWhat to do
framework name is required under framework directiveAdd name under framework.
PlatformName is required in case of raw frameworkAdd platformName when you use the raw framework.
Devices cannot be empty in case of XCUI frameworkList at least one device.
type key is required under testDiscovery directiveAdd type under testDiscovery.
Command key is required under testDiscovery directiveAdd command under testDiscovery.
Test discoverer command is required in auto split modeProvide a discovery command when you use auto split.
Discovery object not found in yamlAdd a testDiscovery block.
Concurrency is required in autosplit modeSet concurrency.
Matrix.os is required in case of hybrid mode!!Add matrix.os.
multiple OS is not allowed without `matrix.os`Declare multiple operating systems with matrix.os.
Invalid type given in partialReports key in yamlCorrect the type value under partialReports.
AppPath or AppId is required in case of real devicesProvide appPath or appId.

Other Error Codes

The CLI can also print the codes below. Their causes are not documented yet. If you see one, contact support with the full CLI output.

CodeAlias
ERR::API::MAX::RETERR_API_MAX_RET
ERR::API::RES::4XXERR_API_RES_4XX
ERR::API::SRV::STRERR_API_SRV_STR
ERR::ART::POLERR_ART_POL
ERR::AZCOPY::DOWNERR_AZCOPY_DOWN
ERR::BASE::HTYERR_BASE_HTY
ERR::BIN::DOWNERR_BIN_DOWN
ERR::BIN::INVERR_BIN_INV
ERR::BIN::UPDERR_BIN_UPD
ERR::DAR::PARERR_DAR_PAR
ERR::DAR::READERR_DAR_READ
ERR::DAS::CHMERR_DAS_CHM
ERR::DAS::ODRERR_DAS_ODR
ERR::DAS::RDRERR_DAS_RDR
ERR::DATA::INVERR_DATA_INV
ERR::DATA::LMTERR_DATA_LMT
ERR::DATA::NTFNDERR_DATA_NTFND
ERR::DIR::NTFNDERR_DIR_NTFND
ERR::DIS::INFLIGHTERR_DIS_INFLIGHT
ERR::DIS::RESPERR_DIS_RESP
ERR::DWN::ARTERR_DWN_ART
ERR::DWN::RPTERR_DWN_RPT
ERR::EXE::DOWNERR_EXE_DOWN
ERR::FIL::STAERR_FIL_STA
ERR::FILE::CHKERR_FILE_CHK
ERR::FILE::WALKERR_FILE_WALK
ERR::GIT::UPLERR_GIT_UPL
ERR::HTTP::GETERR_HTTP_GET
ERR::HTTP::NTFNDERR_HTTP_NTFND
ERR::HTTP::SRVERR_HTTP_SRV
ERR::INF::API::MAX::ATTEMPTERR_INF_API_MAX_ATTEMPT
ERR::INH::HT_YAMLERR_INH_HT_YAML
ERR::INV::ARCHERR_INV_ARCH
ERR::INV::CYPERR_INV_CYP
ERR::INV::ENVERR_INV_ENV
ERR::INV::MVNERR_INV_MVN
ERR::INV::NUGERR_INV_NUG
ERR::IO::CPYERR_IO_CPY
ERR::IO::READERR_IO_READ
ERR::IO::WRITEERR_IO_WRITE
ERR::JAR::DOWNERR_JAR_DOWN
ERR::JOB::ABTERR_JOB_ABT
ERR::JOB::DISERR_JOB_DIS
ERR::JOB::DTLERR_JOB_DTL
ERR::JOB::FLRERR_JOB_FLR
ERR::JOB::INIERR_JOB_INI
ERR::JOB::POLERR_JOB_POL
ERR::JOB::UPLERR_JOB_UPL
ERR::JSON::DCDERR_JSON_DCD
ERR::JSON::MARERR_JSON_MAR
ERR::JSON::UN_MARERR_JSON_UN_MAR
ERR::NET::LSTNERR_NET_LSTN
ERR::NET::PORTERR_NET_PORT
ERR::NO::HTYERR_NO_HTY
ERR::OS::CHMODERR_OS_CHMOD
ERR::OS::CRT_DIRERR_OS_CRT_DIR
ERR::OS::CRT_FILERR_OS_CRT_FIL
ERR::OS::ENVERR_OS_ENV
ERR::OS::FILEERR_OS_FILE
ERR::OS::GET_DIRERR_OS_GET_DIR
ERR::OS::HOMEERR_OS_HOME
ERR::OS::OPENERR_OS_OPEN
ERR::OS::READERR_OS_READ
ERR::OS::RMVERR_OS_RMV
ERR::OS::RMVALLERR_OS_RMVALL
ERR::OS::WRITEERR_OS_WRITE
ERR::PAR::HT_YAMLERR_PAR_HT_YAML
ERR::PLAN::EXPERR_PLAN_EXP
ERR::POLICY::REJECTEDERR_POLICY_REJECTED
ERR::PROJECT::NTFNDERR_PROJECT_NTFND
ERR::READ::HT_YAMLERR_READ_HT_YAML
ERR::REC::SETERR_REC_SET
ERR::REGX::COMPERR_REGX_COMP
ERR::RESP::STRCTERR_RESP_STRCT
ERR::RPT::POLERR_RPT_POL
ERR::SNOOPER::DOWNERR_SNOOPER_DOWN
ERR::STG::DWNERR_STG_DWN
ERR::STG::POLERR_STG_POL
ERR::TIME::OUTERR_TIME_OUT
ERR::TNL::ABTERR_TNL_ABT
ERR::TNL::SPRTERR_TNL_SPRT
ERR::TSK::DSCERR_TSK_DSC
ERR::TST::DTCTERR_TST_DTCT
ERR::TUN::INTERR_TUN_INT
ERR::TUN::RESPERR_TUN_RESP
ERR::TUN::RUNERR_TUN_RUN
ERR::TUN::STPERR_TUN_STP
ERR::TUN::STRERR_TUN_STR
ERR::UPD::NFERR_UPD_NF
ERR::URL::PARERR_URL_PAR
ERR::VER::NTFNDERR_VER_NTFND
ERR::VIP::BNDERR_VIP_BND
ERR::XML::MARERR_XML_MAR
ERR::XML::UNMARERR_XML_UNMAR
ERR::YAML::DEF::RPTERR_YAML_DEF_RPT
ERR::YAML::TYPERR_YAML_TYP
ERR::YAML::TYP::FRMERR_YAML_TYP_FRM
ERR::YAML::TYP::LOCERR_YAML_TYP_LOC
ERR::YML::MARERR_YML_MAR
ERR::YML::VALERR_YML_VAL
ERR::ZIP::ARCERR_ZIP_ARC
ERR::ZIP::OPNERR_ZIP_OPN
ERR::ZIP::UN_ARCERR_ZIP_UN_ARC
ERR::ZIP::UPLERR_ZIP_UPL
ERR::ZIP::WRITEERR_ZIP_WRITE
ERR:HTTP:LINKERR_HTTP_LINK

Two codes use single colons, ERR:HTTP:LINK and ERR:HTTP:HOST. This matches what the CLI prints.

Test across 3000+ combinations of browsers, real devices & OS.

×
Schedule Your Personal Demo
Book Demo

Help and Support

Related Articles