Skip to content

LambdaTest/hyperexecute-smartui-sdk-selenium-javascript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

hyperexecute_logo

HyperExecute is a smart test orchestration platform to run end-to-end Selenium tests at the fastest speed possible. HyperExecute lets you achieve an accelerated time to market by providing a test infrastructure that offers optimal speed, test orchestration, and detailed execution logs.

Integrating seamlessly into your existing Selenium Javascript testing suite, SmartUI SDK revolutionizes the way you approach visual regression testing. Our robust solution empowers you to effortlessly capture, compare, and analyze screenshots across a multitude of browsers and resolutions, ensuring comprehensive coverage and accuracy in your visual testing endeavors.

The overall experience helps teams test code and fix issues at a much faster pace. HyperExecute is configured using a YAML file. Instead of moving the Hub close to you, HyperExecute brings the test scripts close to the Hub!

To know more about how HyperExecute does intelligent Test Orchestration, do check out HyperExecute Getting Started Guide

How to run Selenium Javascript tests through SmartUI SDK on HyperExecute

Prerequisites

  • Login to HyperExecute with your credentials.
  • Basic understanding of Command Line Interface and Selenium Javascript is required.
  • Before using HyperExecute, you have to download HyperExecute CLI corresponding to the host OS. Along with it, you also need to export the environment variables LT_USERNAME and LT_ACCESS_KEY that are available in the LambdaTest Profile page.

Clone the Sample Repository

Download or Clone the code sample for the Selenium Javascript from the LambdaTest GitHub repository to run the tests on the HyperExecute.

git clone https://github.com/LambdaTest/hyperexecute-smartui-sdk-selenium-javascript
cd hyperexecute-smartui-sdk-selenium-javascript

Download HyperExecute CLI

HyperExecute CLI is the CLI for interacting and running the tests on the HyperExecute Grid. The CLI provides a host of other useful features that accelerate test execution. In order to trigger tests using the CLI, you need to download the HyperExecute CLI binary corresponding to the platform (or OS) from where the tests are triggered:

Also, it is recommended to download the binary in the project's parent directory. Shown below is the location from where you can download the HyperExecute CLI binary:

Configure Environment Variables

Before the tests are run, please set the environment variables LT_USERNAME & LT_ACCESS_KEY from the terminal. The account details are available on your LambdaTest Profile page.

For macOS:

export LT_USERNAME=LT_USERNAME
export LT_ACCESS_KEY=LT_ACCESS_KEY

For Linux:

export LT_USERNAME=LT_USERNAME
export LT_ACCESS_KEY=LT_ACCESS_KEY

For Windows:

set LT_USERNAME=LT_USERNAME
set LT_ACCESS_KEY=LT_ACCESS_KEY

Create a SmartUI Project

The first step is to create a project with the application in which we will combine all your builds run on the project. To create a SmartUI Project, follow these steps:

  1. Go to SmartUI Projects page
  2. Click on the New Project button
  3. Select the platform as CLI for executing your SDK tests.
  4. Add name of the project, approvers for the changes found, tags for any filter or easy navigation.
  5. Click on the Submit.

Update Your Project Configurations

In the sdkCloud.js file, update the following capabilities

  • project: Enter your Project Name
  • name: You need to provide the name of your test
  • build: Mention your desired build name
  project: "PROJECT_NAME", //name of the project
  name: "TEST_NAME", // name of the test
  build: "BUILD_NAME", // name of the build

Configure YAML in your Test Suite

Here is the sample YAML file for your reference that is being used in this repository.

You need to edit the PROJECT_TOKEN: "YOUR_PROJECT_TOKEN" flag and enter your project token that show in the SmartUI app after, creating your project.

---
version: 0.1
globalTimeout: 90
testSuiteTimeout: 90
testSuiteStep: 90

runson: win

autosplit: true

retryOnFailure: true
maxRetries: 1

concurrency: 1

env:
  CACHE_DIR: m2_cache_dir
  PROJECT_TOKEN: "YOUR_PROJECT_TOKEN" #Enter your project token here

cacheKey: '{{ checksum "package.json" }}'
cacheDirectories:
  - node_modules

pre:
  - npm i @lambdatest/smartui-cli @lambdatest/selenium-driver selenium-webdriver
  - npx smartui config:create smartui-web.json

post:
  - cat hyp-smartui-sdk-selenium-javascript.yaml

testDiscovery:
  type: raw
  mode: static
  command: ls hooks/examples/*.js

testRunnerCommand: npx smartui exec node sdkCloud.js --config smartui-web.json

jobLabel: ["smart-ui-sdk", "hyperexecute", "selenium", "javascript"]

Execute your Test Suite

NOTE: 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 PreferencesSecurity & PrivacyGeneral tab.

Run the below command in your terminal at the root folder of the project:

./hyperexecute --config <path_of_yaml_file>

OR use this command if you have not exported your username and access key in the step 2.

./hyperexecute --user <your_username> --key <your_access_key> --config <path_of_yaml_file>

e.g.

./hyperexecute --user user1 --key 12345 --config hyp-smartui-sdk-selenium-javascript.yaml

Navigation in Automation Dashboard

HyperExecute lets you navigate from/to Test Logs in Automation Dashboard from/to HyperExecute Logs. You also get relevant get relevant XCUI test details like video, network log, commands, Exceptions & more in the Dashboard. Effortlessly navigate from the automation dashboard to HyperExecute logs (and vice-versa) to get more details of the test execution.

Visit the HyperExecute Dashboard and check your Job status.

Visit your SmartUI project to view builds and compare snapshots between different test runs. You can see the Smart UI dashboard to view the results. This will help you identify the Mismatches from the existing Baseline build and do the required visual testing.

LambdaTest Community 👥

The LambdaTest Community allows people to interact with tech enthusiasts. Connect, ask questions, and learn from tech-savvy people. Discuss best practises in web development, testing, and DevOps with professionals from across the globe.

Documentation & Resources 📚

If you want to learn more about the LambdaTest's features, setup, and usage, visit the LambdaTest documentation. You can also find in-depth tutorials around test automation, mobile app testing, responsive testing, manual testing on LambdaTest Blog and LambdaTest Learning Hub.

About LambdaTest

LambdaTest is a leading test execution and orchestration platform that is fast, reliable, scalable, and secure. It allows users to run both manual and automated testing of web and mobile apps across 3000+ different browsers, operating systems, and real device combinations. Using LambdaTest, businesses can ensure quicker developer feedback and hence achieve faster go to market. Over 500 enterprises and 1 Million + users across 130+ countries rely on LambdaTest for their testing needs.

We are here to help you 🎧

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published