Vanessa Automation

repository·develop·Indexed 20 days ago

https://github.com/pr-mex/vanessa-automation

An automation tool for testing and process automation within enterprise environments, specifically for 1C:Enterprise. It features a tool for automatically generating Gherkin feature files for smoke testing document form lifecycles (OnCreateAtServer, OnOpen, and FillingProcessing). The tool supports build configuration via JSON to manage platform versions, connection strings, and reporting via Allure and jUnit, and includes a suite of OneScript (.os) scripts for distribution building, PDF generation from HTML, and interactive help assembly.

Tokens
119.8K
Snippets
152
Records
656
Agent score
63%

What's inside Vanessa Automation

  1. What is Vanessa Automation

    develop

    Vanessa Automation is a multifunctional testing tool designed for application solutions built on the 1C:Enterprise platform.

    Key capabilities include:

    • Gherkin-based Testing: Allows creating effective tests using the Gherkin language, which functions as human-readable text instructions. This makes tests easy to write (via mouse clicks/recording) and easy to read.
    • Video Instructions: Capable of generating video recordings of test executions.
    • Reporting: Supports generating test execution reports in formats such as Allure, jUnit, and others.
  2. Understand the main tabs in Vanessa Automation

    develop

    The Vanessa Automation main form is organized into six primary tabs, each serving a specific role in the automation lifecycle. Understanding these tabs is essential for navigating the framework:

    1. Запуск сценариев (Scenario Execution): The primary workspace for test management. This is where you create, manage, and execute test scenarios.
    2. Генератор EPF (EPF Generator): Used to create external data processors (EPF) with new steps. While the standard library covers most needs, use this tab to create custom steps.
    3. Библиотеки (Libraries): Used to define the locations (paths) from which Vanessa Automation loads step libraries for use in testing scenarios.
    4. Работа с UI (UI Work): A legacy tab used for technical information and compatibility. It was primarily used before the introduction of the dedicated scenario editor and is rarely used in modern workflows.
    5. Клиенты тестирования (Test Clients): Contains a table of configured test clients. This table defines connection parameters such as the database path, username, and other connection details required to run tests.
    6. Сервис (Service): Contains the global settings and configuration options for the Vanessa Automation framework.
  3. Explore the 'Run Scenarios' tab in Vanessa Automation

    develop

    The 'Run Scenarios' (Запуск сценариев) tab is the primary workspace for managing and executing automation scripts. It contains several key functional areas:

    • Editor Toolbar: Provides tools for script editing, including search and replace, undo/redo, and text manipulation.
    • Directory Tree Panel: Allows for navigating the file system and organizing scenario files.
    • Git Panel: Facilitates version control integration for managing script changes.
    • Scenario Management: Buttons for creating, saving, and running scenarios.
    • Execution Controls: Tools for managing breakpoints (Точки останова), navigating to the next error during execution, and controlling voiceovers or video recording of the scenario run.
    • Editor Settings: Accessible via the gear icon (шестеренка), allowing you to save/load Vanessa Automation settings and customize the editor environment (theme, scale, etc.).
  4. Understand the 'Run Scenarios' (Запуск сценариев) tab interface

    develop

    The 'Run Scenarios' (Запуск сценариев) tab is the primary workspace for writing, running, and debugging automation scripts in Vanessa Automation. The interface consists of four main functional areas:

    1. Main Toolbar: Contains buttons for executing and debugging scenarios, managing the testing client, and retrieving data from the client.
    2. Scenario Editor: A code editing area powered by the Monaco editor (the same engine used in Visual Studio Code), providing advanced text editing capabilities.
    3. File Name Field: Located at the bottom of the form, this field displays the name of the currently active file in the editor.
    4. Execution Statistics: A status area that displays statistics regarding scenario execution.
  5. Use the 'Service' (Сервис) Tab for Core Operations

    develop

    The Service (Сервис) tab in Vanessa Automation provides access to essential tools for managing scenarios, clients, and execution settings. It is divided into several functional areas:

    Main (Основные)

    • Filtering: Filter by tags (Отбор по тегам) or by scenarios (Отбор по сценариям).
    • Feature Files: Configure the language used for feature files.
    • User Action Recording: Enable recording of user actions (Запись действий пользователя).
    • External Components: Manage the VanessaExt external component.
    • System Management: Access system catalogs (Системные каталоги), system settings (Системные настройки), and other miscellaneous settings (Прочие настройки).
    • Reset: Reset all settings (Сброс настроек).

    Test Client Settings (Настройки клиентов тестирования)

    • Lifecycle: Launch (Запуск), debug (Отладка), and close (Закрытие) test clients.
    • Browsers: Launch a browser for testing.
    • Mobile: Configure and use the Mobile client (Мобильный клиент).

    Scenario Execution (Выполнение сценариев)

    • Logging: Configure logging and notifications (Логирование и оповещение).
    • Performance: Adjust the execution speed of scenarios (Скорость выполнения сценариев).
    • Error Handling: Define behavior when an error occurs (При возникновении ошибки).
    • Control: Stop the execution of a running scenario (Остановить выполнение сценария).
  6. Understand the role of the CSS directory

    develop
    The lib/CSS directory contains the stylesheets used during the assembly of text instructions in HTML format. These HTML instructions are subsequently converted into PDF documents. Developers looking to customize the visual appearance of the generated PDF instructions should modify the styles located in this directory.
  7. Explore the Step Library and Form Inspector

    develop

    Vanessa Automation provides tools to discover available automation capabilities:

    • Step Library (Дерево шагов): A searchable tree of all known steps available in the system. This includes support for steps defined in other languages.
    • Form Inspector (Исследователь формы): A tool used to inspect UI elements and understand how to interact with forms during automation.
  8. Understand the 'Run Scenarios' (Запуск сценариев) tab elements

    develop

    The 'Run Scenarios' (Запуск сценариев) tab is the primary workspace for writing, running, and debugging automation scripts in Vanessa Automation. It consists of four main functional areas:

    1. Main Toolbar: Contains buttons for executing and debugging scenarios, managing the testing client, and retrieving data from the client.
    2. Scenario Editor: A code editing area powered by the Monaco editor (the same engine used in Visual Studio Code), providing a familiar environment for script authoring.
    3. File Name Indicator: A field located at the bottom of the form that displays the name of the currently active file in the editor.
    4. Execution Statistics: A status area that displays statistics regarding scenario execution.
  9. Understand the differences between Vanessa-Automation and ADD

    develop

    Vanessa-Automation (VA) differs from ADD in several key architectural and functional ways:

    • Localization: VA uses its own message localization system supporting 20 languages. It does not use НСтр() (the standard 1C localization function). English and Vietnamese translations are human-made, while others are generated via Yandex Translate.
    • Single Delivery Mode: VA offers a "Single" delivery mode, which provides the full functionality of VA within a single .epf file. This mode is ideal for embedding into configurations, creating extensions, or for users who only write scenarios and do not intend to modify the tool itself.
    • Testing and CI: VA is strictly tested with a full build containing over 4,000 scenarios. Releases are only issued after all tests pass. VA is also tested across various environments, including Web client mode, synchronous call prohibition mode, and 8.2 compatibility mode.
    • Platform Support: The minimum supported platform version is 8.3.6 (in 8.2 compatibility mode). It fully supports newer platform versions like 8.3.12 and 8.3.13.
  10. What is a step snippet and how is it calculated

    develop

    A step snippet is a specialized service string used by Vanessa Automation to identify which code procedure or function should execute a scenario step.

    To calculate the snippet from a scenario step, the system follows this algorithm:

    1. Remove the keyword at the beginning of the string (e.g., Дано, Когда, Тогда).
    2. Remove all parameters from the step.
    3. The remaining text is the snippet.

    This snippet is then used to find a match within the loaded .epf step libraries. When a match is found, the system executes the corresponding 1C language procedure.