Skip to main content

Lambda Hooks For Selenium Automation


LambdaTest Selenium Grid offers a set of hooks also known as Lambda Hooks that you can leverage to modify your automation test cases and perform multiple operations in your automation scripts.

Below is the representation of the available Lambda Hooks along with the function it performs.

Lambda HooksDescriptions
lambda-statusCheck whether the test is passed or failed.
For Passed Test:
driver.executeScript("lambda-status=passed");
For Failed Test:
driver.executeScript('lambda-status=failed');

((JavascriptExecutor) driver).executeScript("lambda-status=" + "passed");

Here are some newly added status you can use for interpreting test execution results: skipped, ignored, unknown, error
lambda-file-existsCheck whether the downloaded file exists in the test machine.
((JavascriptExecutor) driver).executeScript("lambda-file-exists=file-name.file_format");
lambda-file-statsRetrieve file metadata such as md5 code, modified time, name and size.
((JavascriptExecutor) driver).executeScript("lambda-file-stats=file-name.file_format");
lambda-file-contentDownload file content using base64 encoding.
((JavascriptExecutor) driver).executeScript("lambda-file-content=file-name.file_format");
lambda-file-listList down the file in download directory.
print driver.execute_script("lambda-file-list={match string with filename}");
ie:print driver.execute_script("lambda-file-list=sample");Response: List of files in downloads dir starting with sample
lambda-nameFor changing the test name.
((JavascriptExecutor) driver).executeScript("lambda-name=TestName");

((JavascriptExecutor) driver).executeScript("lambda-name=" + "name from hooks");
lambda-buildFor updating the build name.
executeScript("lambda-build=BUILD_NAME");
lambda-actionUsed to mark a test as passed/failed. Moreover, it allows the option to include a failure reason, which will be visible on the LambdaTest Automation Dashboard inside the session view.
Map<String, String> action = new HashMap();action.put("status", "failed"); action.put("reason", "tmp reason"); driver.executeScript("lambda-action", action);

((JavascriptExecutor) driver).executeScript("lambda-action=" + "Lambda Error");
lambda-perform-keyboard-eventsYou can seamlessly simulate keyboard shortcuts like ctrl + c, ctrl + v in automation test scenarios. This hook is supported on both Windows and MacOS.
js.executeScript("lambda-perform-keyboard-events:tab");
lambda_breakpointAborts the test execution to use the live interaction feature.
driver.executeScript("lambda-breakpoint=true");
lambda_screenshotCaptures the async screenshot during test execution.
driver.executeScript("lambda-screenshot=true");
lambda_files_deleteDeletes the file in the download directory in the virtual machines (VMs).
driver.executeScript("lambda-files-delete=file1.csv,file2.csv);
lambda_network_throttleThrottles network speed during test execution.
executeScript("lambda-throttle-network","Regular 4G")
lambda_pingFetches the IPs of the domain.
driver.executeScript("lambda-ping=lambdatest.com");
lambda_exceptionsUploads the exceptions for tests that are captured on the console.
driver.executeScript('lambda-exceptions', [[message]])
lambda_get_clipboardPrints the clipboard data on the console.
driver.executeScript("lambda-get-clipboard");
lambda_set_clipboardSets the clipboard data.
driver.executeScript("lambda-set-clipboard= Amit");
lambda_clear_clipboardClears the data of the clipboard.
driver.executeScript("lambda-clear-clipboard");
lambda_unbound_pingFetches the IPs from the outbound domain.
driver.executeScript("lambda-unbound-ping=lambdatest.com");
lambda:networkFetches the network log entries in array format during session.

driver.execute_script("lambda:network");- Fetch the network log from last fetch request time to current time.

driver.execute_script("lambda:network=all");- Fetch from start of test session to current time.
lambdaUpdateNameSets the test name during test execution.

driver.executeScript("lambdaUpdateName=TestName");

Note: These hooks will only work if you're connected to your LambdaTest Hub URL. If you use these hooks on any other platform, you might see the error: javascript error: Invalid left-hand side in assignment

Got Questions? Give a Shout to us. We're here for you 24/7.
Happy testing! :)

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

Book Demo

Help and Support

Related Articles