From 1b6b223199ae5bebd2d09682ecdc110d3273ec94 Mon Sep 17 00:00:00 2001 From: Bharath Krishna <118433150+bharathk-testsigma@users.noreply.github.com> Date: Wed, 26 Aug 2026 15:03:36 +0530 Subject: [PATCH] Added Arcus CLI docs --- src/left-nav-title.json | 6 ++ .../qi-home/arcus-cli/overview.md | 57 +++++++++++++ .../qi-home/arcus-cli/set-up-the-arcus-cli.md | 83 +++++++++++++++++++ .../arcus-cli/write-and-run-tests-locally.md | 73 ++++++++++++++++ .../context-mapping/connect-claude-code.md | 27 ++++-- src/templates/page.scss | 25 +++++- 6 files changed, 263 insertions(+), 8 deletions(-) create mode 100644 src/pages/docs/test-management/qi-home/arcus-cli/overview.md create mode 100644 src/pages/docs/test-management/qi-home/arcus-cli/set-up-the-arcus-cli.md create mode 100644 src/pages/docs/test-management/qi-home/arcus-cli/write-and-run-tests-locally.md diff --git a/src/left-nav-title.json b/src/left-nav-title.json index e629ce0..e25cc21 100644 --- a/src/left-nav-title.json +++ b/src/left-nav-title.json @@ -263,5 +263,11 @@ }, "dev-session-mapping": { "/docs/test-management/qi-home/dev-session-mapping/": "Dev Session Mapping" + }, + "context-mapping": { + "/docs/test-management/qi-home/context-mapping/": "Plugins" + }, + "arcus-cli": { + "/docs/test-management/qi-home/arcus-cli/": "Arcus CLI" } } \ No newline at end of file diff --git a/src/pages/docs/test-management/qi-home/arcus-cli/overview.md b/src/pages/docs/test-management/qi-home/arcus-cli/overview.md new file mode 100644 index 0000000..25378ab --- /dev/null +++ b/src/pages/docs/test-management/qi-home/arcus-cli/overview.md @@ -0,0 +1,57 @@ +--- +title: 'Arcus CLI' +page_title: 'Arcus CLI' +metadesc: 'How the Arcus CLI validates and runs Testsigma test cases on your machine, what you install, and where local execution fits in QI Home.' +description: 'How the Arcus CLI validates and runs Testsigma test cases on your machine, what you install, and where local execution fits in QI Home.' +noindex: false +order: 13.48 +page_id: 'qi-home-arcus-cli-overview' +warning: false +contextual_links: + - type: section + name: 'Contents' + - type: link + name: 'What you install' + url: '#what-you-install' + - type: link + name: 'Where the CLI fits' + url: '#where-the-cli-fits' + - type: link + name: 'In this section' + url: '#in-this-section' +--- + +The **Arcus CLI** validates Testsigma test cases and runs them on your own machine, in the repository you are working in. + +You run the CLI directly twice: once to install it, once to authenticate it. After that you work through Claude Code, which writes the test cases and calls the CLI to validate and run them. + +--- + +## **What you install** + +Local test execution uses three components, each installed separately. + +* **Arcus CLI**: Validates test case syntax and runs test cases on your browser or connected device. +* **Arcus plugin for Claude Code**: Where you run Arcus commands. It writes test cases, triggers runs, and pushes context to QI Home. +* **Testsigma Terminal**: Connects your device to Testsigma so test cases can run on it. Required for Android mobile test cases. + +The CLI runs web test cases and Android mobile test cases. See [Set up the Arcus CLI](https://testsigma.com/docs/test-management/qi-home/arcus-cli/set-up-the-arcus-cli/) for the steps. + +--- + +## **Where the CLI fits** + +Test cases you write locally and test cases Atto generates from pushed developer context are created in the same project and feed the same Quality Intelligence Metrics. The CLI covers writing and running test cases on your machine. Review, coverage, test plans, and metrics happen in QI Home. + +--- + +## **In this section** + +* [Set up the Arcus CLI](https://testsigma.com/docs/test-management/qi-home/arcus-cli/set-up-the-arcus-cli/): Install and authenticate the CLI, and connect a device with Testsigma Terminal. +* [Write and run tests locally](https://testsigma.com/docs/test-management/qi-home/arcus-cli/write-and-run-tests-locally/): Write test cases with Claude Code, validate them, run them, and convert existing Playwright or Selenium scripts. + +> ## **Additional Info** +> +> Plugin installation, mapping context to a sprint, and pushing context to QI Home are covered in [Connect Claude Code](https://testsigma.com/docs/test-management/qi-home/context-mapping/connect-claude-code/). + +--- diff --git a/src/pages/docs/test-management/qi-home/arcus-cli/set-up-the-arcus-cli.md b/src/pages/docs/test-management/qi-home/arcus-cli/set-up-the-arcus-cli.md new file mode 100644 index 0000000..f60845d --- /dev/null +++ b/src/pages/docs/test-management/qi-home/arcus-cli/set-up-the-arcus-cli.md @@ -0,0 +1,83 @@ +--- +title: 'Set up the Arcus CLI' +page_title: 'Set up the Arcus CLI' +metadesc: 'Install and authenticate the Arcus CLI, set up the Claude Code plugin, and connect a device with Testsigma Terminal for local test execution.' +description: 'Install and authenticate the Arcus CLI, set up the Claude Code plugin, and connect a device with Testsigma Terminal for local test execution.' +noindex: false +order: 13.49 +page_id: 'qi-home-set-up-arcus-cli' +warning: false +contextual_links: + - type: section + name: 'Contents' + - type: link + name: 'Before you begin' + url: '#before-you-begin' + - type: link + name: 'Install and authenticate the CLI' + url: '#install-and-authenticate-the-cli' + - type: link + name: 'Install and authenticate the Claude Code plugin' + url: '#install-and-authenticate-the-claude-code-plugin' + - type: link + name: 'Connect a device with Testsigma Terminal' + url: '#connect-a-device-with-testsigma-terminal' +--- + +**Install the Arcus CLI, authenticate it, and connect a device, so Claude Code can validate and run Testsigma test cases on your machine. You do this once per machine.** + +--- + +> ## **Before you begin** +> +> This procedure requires: +> * Node.js and npm installed on your machine. +> * Claude Code installed. The latest version is recommended. +> * An Arcus account and a Testsigma account. The free tier is enough to write, validate, and push test cases. +> * An Android device, if you plan to run mobile test cases. + +--- + +## **Install and authenticate the CLI** + +1. Install the CLI globally. + + ```bash + npm install -g @testsigma/arcus-cli + ``` + +2. Authenticate the CLI against your Testsigma account. + + ```bash + testsigma login + ``` + +--- + +## **Install and authenticate the Claude Code plugin** + +Install the plugin, run **/arcus:login**, then set your active project with **/arcus:project**. See [Connect Claude Code](https://testsigma.com/docs/test-management/qi-home/context-mapping/connect-claude-code/) for the steps. The active project determines which project your test cases are pushed into, so set it before you push. + +[[info | **NOTE**:]] +| There are two separate logins and you need both. **testsigma login** authenticates the CLI so it can run test cases and report results. **/arcus:login** authenticates the plugin so Arcus can capture your context and use it for test generation. No data reaches Arcus until you run **/arcus:push**. + +--- + +## **Connect a device with Testsigma Terminal** + +Complete this section if you plan to run Android mobile test cases. + +1. Download and install Testsigma Terminal. + +2. Open Testsigma Terminal. + +3. In the configuration settings, select **Modern**. + +4. Log in to Testsigma Terminal. + +5. Connect your Android device. The device appears in Testsigma Terminal. + +[[info | **NOTE**:]] +| Connect the device before you ask Claude Code to run a test case. A run cannot start without a connected device. + +--- diff --git a/src/pages/docs/test-management/qi-home/arcus-cli/write-and-run-tests-locally.md b/src/pages/docs/test-management/qi-home/arcus-cli/write-and-run-tests-locally.md new file mode 100644 index 0000000..323b467 --- /dev/null +++ b/src/pages/docs/test-management/qi-home/arcus-cli/write-and-run-tests-locally.md @@ -0,0 +1,73 @@ +--- +title: 'Write and run tests locally' +page_title: 'Write and run tests locally' +metadesc: 'Write Testsigma test cases with Claude Code, validate them with the Arcus CLI, and run them locally on a browser or connected device.' +description: 'Write Testsigma test cases with Claude Code, validate them with the Arcus CLI, and run them locally on a browser or connected device.' +noindex: false +order: 13.50 +page_id: 'qi-home-write-and-run-tests-locally' +warning: false +contextual_links: + - type: section + name: 'Contents' + - type: link + name: 'Write test cases for your repository' + url: '#write-test-cases-for-your-repository' + - type: link + name: 'Run test cases locally' + url: '#run-test-cases-locally' + - type: link + name: 'Convert existing Playwright or Selenium scripts' + url: '#convert-existing-playwright-or-selenium-scripts' +--- + +**Ask Claude Code to write Testsigma test cases for the repository you are working in, validate them with the Arcus CLI, and run them on a browser or connected device.** + +Complete [Set up the Arcus CLI](https://testsigma.com/docs/test-management/qi-home/arcus-cli/set-up-the-arcus-cli/) and [Connect Claude Code](https://testsigma.com/docs/test-management/qi-home/context-mapping/connect-claude-code/) first. For Android mobile test cases, connect your device in Testsigma Terminal before you start. + +--- + +## **Write test cases for your repository** + +1. Open Claude Code from your project directory. + +2. Run **/arcus:test**, or ask Claude Code for Testsigma test cases in plain language. Claude Code writes code-based test cases and includes the element locators it detects in your source. + +3. Review the test cases Claude Code writes. + +4. Read the validation output. The CLI validates each test case offline and reports errors without running the test case. + +--- + +## **Run test cases locally** + +1. Confirm your browser or device is available. + +2. Accept the run when Claude Code offers to run the validated test cases. + +3. Read the pass and fail results in the output. + +[[info | **NOTE**:]] +| Test cases stay on your machine until you push them. Running a test case locally does not create it in Arcus. + +--- + +## **Convert existing Playwright or Selenium scripts** + +If you already have a Playwright or Selenium suite, ask Claude Code to convert those scripts into Testsigma test cases instead of writing them again. The CLI validates the output and reports what did not translate. + +1. Open Claude Code from the directory that holds your existing scripts. + +2. Ask Claude Code to convert the scripts to Testsigma test cases. + +3. Read the validation output for translation errors. + +### **Check each converted test case for:** + +* **Custom helpers and page objects**: These may need restructuring. +* **Waits, retries, and assertions**: Playwright and Selenium forms differ from Testsigma's. +* **Hard-coded test data and environment values**: Move these into test data profiles and environments. +* **Steps that act outside the application under test**: Review these individually. + + +--- \ No newline at end of file diff --git a/src/pages/docs/test-management/qi-home/context-mapping/connect-claude-code.md b/src/pages/docs/test-management/qi-home/context-mapping/connect-claude-code.md index b1ed915..da79dd5 100644 --- a/src/pages/docs/test-management/qi-home/context-mapping/connect-claude-code.md +++ b/src/pages/docs/test-management/qi-home/context-mapping/connect-claude-code.md @@ -58,10 +58,10 @@ For how mapped context becomes test cases, coverage, and a release signal, see [ 1. In your terminal, run the following commands to add and install the Arcus plugin: -``` -claude plugin marketplace add testsigmahq/arcus-claude-plugin -claude plugin install arcus@testsigma -``` + ``` + claude plugin marketplace add testsigmahq/arcus-claude-plugin + claude plugin install arcus@testsigma + ``` --- @@ -95,11 +95,24 @@ Running **/arcus:map** before pushing means your context arrives in QI Home alre --- -## **Push Your Context** +## **Push your context** + +Test cases stay on your machine until you push them. Push is a guided flow, and Claude Code prompts you for each decision in order. + +1. Run **/arcus:push**, or ask Claude Code to push the test cases. + +2. Select the sprint to push into, or keep the test cases unmapped. -1. When you are done, run **/arcus:push** to upload the captured context to QI Home. +3. Select the story the test cases map to. This step appears only if you selected a sprint. -The context appears in QI Home under **Unmapped Context** (if you did not run **/arcus:map**) or under the mapped sprint (if you did). +4. Select the module the test cases belong to. Arcus suggests a module based on the test case content. + +5. Set the priority for the test cases. + +6. Confirm the push. Arcus creates the test cases with the values you selected, and they appear in the sprint with both manual and automated steps. + +[[info | **NOTE**:]] +| Select unmapped when you do not yet know where the work belongs. The test cases wait in **Unmapped Context** until you resolve them. See [Map developer context](https://testsigma.com/docs/test-management/qi-home/context-mapping/map-developer-context/). --- diff --git a/src/templates/page.scss b/src/templates/page.scss index 2ad0d29..c64a5d7 100644 --- a/src/templates/page.scss +++ b/src/templates/page.scss @@ -866,7 +866,7 @@ blockquote:has(#prerequisites){ margin-top: 30px; margin-bottom: 30px; border-radius: 4px; - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMwMDAwMDAiPjxwYXRoIGZpbGw9IiMwMDAwMDAiIGQ9Ik0xMSAxN2gydi02aC0ydjZabTEtOHEuNDI1IDAgLjcxMy0uMjg4VDEzIDhxMC0uNDI1LS4yODgtLjcxM1QxMiA3cS0uNDI1IDAtLjcxMy4yODhUMTEgOHEwIC40MjUuMjg4LjcxM1QxMiA5Wm0wIDEzcS0yLjA3NSAwLTMuOS0uNzg4dC0zLjE3NS0yLjEzN3EtMS4zNS0xLjM1LTIuMTM3LTMuMTc1VDIgMTJxMC0yLjA3NS43ODgtMy45dDIuMTM3LTMuMTc1cTEuMzUtMS4zNSAzLjE3NS0yLjEzN1QxMiAycTIuMDc1IDAgMy45Ljc4OHQzLjE3NSAyLjEzN3ExLjM1IDEuMzUgMi4xMzggMy4xNzVUMjIgMTJxMCAyLjA3NS0uNzg4IDMuOXQtMi4xMzcgMy4xNzVxLTEuMzUgMS4zNS0zLjE3NSAyLjEzOFQxMiAyMloiLz48L3N2Zz4="); + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIiBmaWxsPSIjMzZCMzdFIi8+PHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTEwIDE0LjE3bC0yLjU5LTIuNThMNiAxM2w0IDQgOC04LTEuNDEtMS40MnoiLz48L3N2Zz4="); background-size: 1.5rem; background-position: 1.5rem 2.1rem; background-repeat: no-repeat; @@ -875,4 +875,27 @@ blockquote:has(#prerequisites){ font-size: 22px; font-weight: 700; padding-left: 2rem; +} +blockquote:has(#other-info), +blockquote:has(#additional-info){ + border: 1px solid #C1C7D0; + background: #FFFFFF; + color: #172B4D; + padding: 22px 20px 18px; + margin-top: 30px; + margin-bottom: 30px; + border-radius: 8px; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjkiIHN0cm9rZT0iIzQyNTI2RSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZmlsbD0iIzQyNTI2RSIgZD0iTTExIDE3aDJ2LTZoLTJ2NlptMS04cS40MjUgMCAuNzEzLS4yODhUMTMgOHEwLS40MjUtLjI4OC0uNzEzVDEyIDdxLS40MjUgMC0uNzEzLjI4OFQxMSA4cTAgLjQyNS4yODguNzEzVDEyIDlaIi8+PC9zdmc+"); + background-size: 1.5rem; + background-position: 1.5rem 2.1rem; + background-repeat: no-repeat; + > * { + padding-left: 2rem; + } +} +#other-info, +#additional-info{ + font-size: 22px; + font-weight: 700; + padding-left: 2rem; } \ No newline at end of file