Skip to content
Testing
Skill

/testdriver-right-click

Perform a right-click action to open context menus

From plugin
testdriverai
24260 skills1 agent
Install
$ npx -y skills add testdriverai/testdriverai --skill testdriver-right-click --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/testdriver-right-click

Context preview

The summary Claude sees to decide when to auto-load this skill.

Perform a right-click action to open context menus

SKILL.md

testdriver-right-click.SKILL.md
name: testdriver:right-click
description: Perform a right-click action to open context menus

<!-- Generated from right-click.mdx. DO NOT EDIT. -->

Overview

The `rightClick()` method does a right-click action on an element. It usually opens context menus. You can call it on an [`Element`](/core-concepts/elements) instance. Or you can use it with a selector.

Syntax

// Right-click on an element
await element.rightClick();

// Right-click using a selector
await ai.rightClick('selector');

Parameters

When called on an `Element`, no parameters are required.

When called directly on the AI client:

| Parameter | Type | Description | |-----------|------|-------------| | `selector` | `string` | The selector describing the element to right-click |

Returns

It returns a `Promise<void>`. The promise resolves when the right-click action completes.

Examples

Right-Click to Open Context Menu

const fileItem = await ai.find('README.md file');
await fileItem.rightClick();

// Select menu option
await ai.click('Delete from context menu');

Direct Right-Click with Selector

await ai.rightClick('image in the gallery');
await ai.click('Save image as');

VS Code Context Menu

import { test } from 'vitest';
import { vscode } from '@testdriver/sdk';

test('renames a file via context menu', async () => {
  const { ai } = await vscode();
  
  // Right-click on a file
  await ai.rightClick('test.js in the file explorer');
  
  // Click rename option
  await ai.click('Rename');
  
  // Type new name
  await ai.type('test.spec.js');
  await ai.pressKeys('Enter');
  
  // Verify rename
  const renamedFile = await ai.find('test.spec.js in the file explorer');
  expect(renamedFile).toBeTruthy();
});

Browser Context Menu

import { test } from 'vitest';
import { chrome } from '@testdriver/sdk';

test('opens link in new tab', async () => {
  const { ai } = await chrome('https://example.com');
  
  // Right-click on a link
  await ai.rightClick('Documentation link');
  
  // Select "Open in new tab"
  await ai.click('Open link in new tab');
});

Custom Context Menu in Web App

test('uses custom context menu', async () => {
  const { ai } = await chrome('https://app.example.com');
  
  // Right-click on custom element
  await ai.rightClick('project item in the list');
  
  // Wait for custom menu to appear
  await ai.find('custom context menu');
  
  // Click menu option
  await ai.click('Duplicate project');
  
  // Verify duplication
  const duplicatedProject = await ai.find('project item (copy)');
  expect(duplicatedProject).toBeTruthy();
});

Related Methods

  • [`click()`](/click) - Single click on an element
  • [`doubleClick()`](/double-click) - Double-click on an element
  • [`mouseDown()`](/mouse-down) - Press mouse button without releasing
  • [`mouseUp()`](/mouse-up) - Release mouse button
  • [`hover()`](/hover) - Move mouse over element without clicking
Read more
Ships withtestdriverai

Computer-Use SDK for E2E QA Testing

Get the whole plugin

Other skills on testdriverai.