You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

@applitools/testgenai-cypress

Package Overview
Dependencies
Maintainers
47
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@applitools/testgenai-cypress

Applitools TestGenAI enables both technical and non-technical team members to expand test coverage effectively. This inclusivity allows non-technical participants to engage in test automation, helping to distribute the workload more efficiently across the

0.8.23
latest
npmnpm
Version published
Maintainers
47
Created
Source

Applitools TestGenAI Plugin for Cypress

Applitools TestGenAI enables both technical and non-technical team members to expand test coverage effectively. This inclusivity allows non-technical participants to engage in test automation, helping to distribute the workload more efficiently across the team.

Advantages of TestGenAI:

  • Time-savings: It swiftly records user actions, generating test cases without the need to write manual code for each step.
  • Self-Healing and Robust Tests: The tool automates mundane tasks like filling in forms and provides amenities that improve the overall quality of the generated test code, making tests more robust and easier to maintain over time.
  • Modern Test Coverage: Quickly create modern test coverage in code using Cypress, which includes industry best practices and allows easy migration from existing test implementations, such as Selenium, to Cypress.
  • Facilitates non-developers involvement in test automation, effectively distributing the test creation workload.
  • Automatic reusable variable generation.
  • Page Object Model generation to make code more efficient and tests more readable.

If you have any questions, please visit our documentation or contact us at support@applitools.com

Getting Started

Installation

npm install @applitools/testgenai-cypress

Initial Setup

Option 1: Automatic Setup

You can automatically configure the TestGenAI plugin by running:

npx @applitools/testgenai-cypress init

Option 2: Manual Setup

If you prefer manual setup or encountered issues with automatic configuration:

  • Add to your cypress/support/e2e.js:
import '@applitools/testgenai-cypress/commands'
  • Add to your cypress.config.js:
const { testGenAICypressTasksSetup } = require("@applitools/testgenai-cypress/tasks");

module.exports = defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      testGenAICypressTasksSetup(on)
    },
  },
});
  • Create required directories:
    • Create a testgenai folder inside your cypress directory
    • Inside testgenai, create two folders: autoheal and POMs
    • Final structure: ./cypress/testgenai/autoheal and ./cypress/testgenai/POMs

Configuration

Using Configuration Options

Configure the TestGenAI plugin through the env.applitoolsTestGenAI object in your cypress.config.js. Here's an example combining various options:

module.exports = defineConfig({
  env: {
    applitoolsTestGenAI: {
      // Basic configuration
      isEnabled: true,
      autohealDataFolders: ['cypress/testgenai/autoheal'],

      // Network settings
      waitForNetworkCalls: {
        isEnabled: true,
        idle: 3000,
        timeout: 30000
      },

      // Element timing settings
      getElementTimeout: 30000,
      ifExistsTimeout: 5000,

      // Debug settings
      debug: {
        fileLogEnabled: true,
        recordTestRun: false
      }
    }
  },
});

All configuration options are optional and will use their default values if not specified.

Configuration Options Reference

Core Settings

OptionDefaultDescription
isEnabledtrueDisable/enable the Preflight Cypress plugin
generateFixedTeststrueGenerate auto-healed tests
allowObscuredElementstrueAllow obscured elements
forceActionsfalseForces interactions with elements even when they're covered by other elements or not fully visible.

Network Settings

OptionDefaultDescription
waitForNetworkCalls.isEnabledtrueWait for network calls to finish before continuing test
waitForNetworkCalls.idle2000msWait for network calls to be idle before continuing
waitForNetworkCalls.timeout60000msMaximum wait time for network calls to finish

Element Timing Settings

OptionDefaultDescription
getElementTimeout60000msMaximum time to wait for an element to appear
ifExistsTimeout3000msMaximum time to wait for an element to exist
waitToDisappear.searchElementTimeout10000msMaximum time to wait for an element to appear before waiting for it to disappear
waitToDisappear.timeout90000msMaximum time to wait for an element to disappear

Selector and Auto-healing Settings

OptionDefaultDescription
autohealDataFolders[]A list of directory paths to the autoheal folder
selectorGeneratorOptions.excludedAttributeTypes[]List of selector attributes to exclude in self-healing
selectorGeneratorOptions.excludedAttributeValueKeywords[]List of selector attributes containing keywords to exclude in self-healing
selectorGeneratorOptions.includedAttributeTypes[]List of selector attributes to prefer in self-healing

Debug Settings

OptionDefaultDescription
debug.fileLogEnabledfalseEnable debug logging and generate a log file in the debug folder
debug.recordTestRunfalseEnable debug recording of test execution and generate a zip file in the debug folder

Keywords

applitools

FAQs

Package last updated on 01 Apr 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts