testmanagement-automate-tests
Automatically identify, review, scaffold, or verify automated tests using the Neodymium AI framework.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Automatically identify, review, scaffold, or verify automated tests using the Neodymium AI framework.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Generate and scaffold new manual functional test cases.
Identify, review, and validate existing test cases.
This skill should be used when the user asks about Bootstrap components, "how to create a modal", "navbar not collapsing", "carousel autoplay", "responsive card grid", "toast notifications", "dropdown menu", "accordion FAQ", "offcanvas sidebar", "tab navigation", "tooltip not showing", "popover not working", Bootstrap accordion, alerts, badges, breadcrumb, buttons, button groups, cards, carousel, close button, collapse, dropdowns, list group, modal, navbar, navs and tabs, offcanvas, pagination, placeholders, popovers, progress, scrollspy, spinners, toasts, tooltips, or needs help implementing any Bootstrap UI component.
This skill should be used when the user asks about Bootstrap typography, "how do I style text in Bootstrap", "show me Bootstrap heading styles", "Bootstrap text looks wrong", "text not wrapping in Bootstrap", "how to create responsive tables", "Bootstrap table not responsive", "Bootstrap table overflowing on mobile", "how do I format code blocks", "Bootstrap images not responsive", "why is my Bootstrap image not scaling", "how to center images in Bootstrap", "image thumbnail not working", "how to add figure captions", "figure caption not showing", display headings, lead text, text alignment, text formatting, tables, table styling, responsive images, figures, code blocks, blockquotes, lists, abbreviations, horizontal rules, Reboot CSS reset, or when help is needed styling text, tables, images, and other content elements in Bootstrap.
This skill should be used when the user asks about Bootstrap forms, Bootstrap form controls, Bootstrap input fields, Bootstrap select, Bootstrap checkboxes, Bootstrap radio buttons, Bootstrap switches, Bootstrap range inputs, Bootstrap input groups, Bootstrap floating labels, Bootstrap form validation, Bootstrap form layout, Bootstrap toggle buttons, how to create Bootstrap forms, needs help with form styling and validation in Bootstrap, wants to create a form, add form validation, style form inputs, make an inline form, add floating labels to inputs, create a login form, build a registration form, or validate user input.
This skill should be used when the user asks about Bootstrap helpers, Bootstrap clearfix, Bootstrap color and background helpers, Bootstrap colored links, Bootstrap focus ring, Bootstrap icon link, Bootstrap position helpers, Bootstrap ratio helpers, Bootstrap stacks, Bootstrap stretched link, Bootstrap text truncation, Bootstrap vertical rule, Bootstrap visually hidden, or needs help with Bootstrap helper classes.
| name | testmanagement-automate-tests |
| description | Automatically identify, review, scaffold, or verify automated tests using the Neodymium AI framework. |
| license | MIT |
| metadata | {"author":"AI","version":"1.0"} |
Follow these instructions when the user wants to review, scaffold, or verify automated tests via the /test-automate workflow.
Engage the user to choose one of the three primary modes: Review Suitability, Implement Automation, or Verify Automation.
Use this mode to audit existing manual test cases under test-management/tests/ to evaluate if they are good candidates for automation.
test-management/tests/account/).tobeautomated tag.tobeautomated tag to the Tags section in the manual test case's ## Metadata, increment the Version (minor, e.g., 1.0 -> 1.1), and log this change in the ## Change History table.Use this mode to find manual test cases tagged with tobeautomated and automatically generate their executable Neodymium AI files.
For each approved test case (e.g., TC_ACC_002):
## Test Data / ## Execution Targets tables in the markdown test file.test-automation/src/test/resources/posters/[domain]/[TestID]_[Name].yaml${variableName} matching the Test Data.test-automation/src/test/java/com/xceptance/posters/[domain]/[TestID]_[Name].java@NeodymiumTest methods for each locale or viewport option present in the execution targets.final aggressively on all methods, arguments, and local variables).Execution Type: in the manual .md file to Automated.tobeautomated tag from Tags: (or replace/augment with automated).Version in ## Metadata.## Change History table logging the transition to automated execution (e.g., "Automated with Neodymium AI").overview.md file table to show that this test is now automated.Use this mode to audit existing automated tests and ensure the manual specification perfectly matches the implemented code.
test-management/tests/ for files with Execution Type: Automated..java class exists in test-automation/src/test/java/com/xceptance/posters/[domain]/..yaml playbook exists in test-automation/src/test/resources/posters/[domain]/.@DataSet methods in the Java class.Use this structure for the .yaml playbook file:
# Neodymium AI Playbook
# Automated from manual test: TC_XXX_###
steps: |
Open ${neodymium.url}
Click the country selector button.
Click the country represented by locale '${locale}' in the opened dialog.
Verify that the flag icon is updated to the new locale.
Type '${searchTerm}' into the search field and submit.
Verify the search results page displays a heading with "Results for '${searchTerm}'".
Verify search results contain at least one product with '${expectedProduct}' in the product title.
Verify that all product descriptions are in ${expectedDescriptionLanguage}.
Verify that all product prices use the '${expectedCurrencySymbol}' symbol.
Verify there are CTA buttons for the products.
data:
- testId: "tc_xxx_###_en_GB"
searchTerm: "bear"
expectedProduct: "Grizzly Bear"
expectedCurrencySymbol: "£"
expectedDescriptionLanguage: "English"
locale: "en-GB"
- testId: "tc_xxx_###_de_DE"
searchTerm: "Bär"
expectedProduct: "Grizzlybär"
expectedCurrencySymbol: "€"
expectedDescriptionLanguage: "German"
locale: "de-DE"
Use this structure for the Java runner class. Note the strict compliance with:
// AI-generated: Gemini 3.5 Flash or corresponding active model).final modifiers on fields, arguments, methods, and variables./*
* Copyright (c) 2026 Xceptance Software Technologies GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.xceptance.posters.DOMAIN;
import com.xceptance.neodymium.common.browser.Browser;
import com.xceptance.neodymium.common.testdata.DataFile;
import com.xceptance.neodymium.common.testdata.DataSet;
import com.xceptance.neodymium.junit5.NeodymiumTest;
import com.xceptance.neodymium.util.Neodymium;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Tag;
import io.qameta.allure.Description;
import io.qameta.allure.Severity;
import io.qameta.allure.SeverityLevel;
/**
* Automates TEST_ID - TEST_TITLE.
*
* AI-generated: Gemini 3.5 Flash
*/
@Browser("Chrome_1500x1000")
@DataFile("posters/DOMAIN/TEST_ID_TEST_NAME.yaml")
@Tag("DOMAIN")
public class TEST_ID_TEST_NAME
{
@BeforeAll
public static void setup()
{
// Setup logic if needed
}
/**
* Executes the main AI-driven test scenario.
*
* @throws Throwable if execution fails
*/
private final void executeTest() throws Throwable
{
Neodymium.ai().execute();
}
@NeodymiumTest
@DataSet(id = "tc_xxx_###_en_US")
@Severity(SeverityLevel.NORMAL)
@Description("TEST_DESCRIPTION")
final void testEnUs() throws Throwable
{
executeTest();
}
@NeodymiumTest
@DataSet(id = "tc_xxx_###_de_DE")
@Severity(SeverityLevel.NORMAL)
@Description("TEST_DESCRIPTION")
final void testDeDe() throws Throwable
{
executeTest();
}
}