diff --git a/contents/docs/api-testing/create-api-testcase/index.mdx b/contents/docs/api-testing/create-api-testcase/index.mdx index 9b16464..209dd57 100644 --- a/contents/docs/api-testing/create-api-testcase/index.mdx +++ b/contents/docs/api-testing/create-api-testcase/index.mdx @@ -1,32 +1,27 @@ ---- -title: 'Creating an API Test Case' -description: 'Learn how to create a new API test case within an API suite in Robonito.' ---- +## Creating an API Test Case -# Creating an API Test Case +This guide explains how to create a new API test case using Robonito. -An API test case in Robonito groups one or more API requests together to test a specific scenario or workflow. +### Adding Test Cases to a Suite -### Prerequisite +Test cases are systematically organized within suites according to functionality or modules. The type of test cases added depends on the suite type API. -Before creating an API test case, ensure you have already created an API suite to contain it. If you haven't, see [How to Create an API Suite](../suites). -### Steps to Create an API Test Case +#### Follow the steps below to create a Test Case + -1. **Open Test Explorer:** Navigate to the dashboard page and click the second icon in the sidebar to open the test explorer. - ![Open Test Explorer](/api-testing/test-explorer-instruction.png) - -2. **Access Suite Menu:** In the test explorer's suite list, locate the API suite where you want to add the test case. Click the action menu button (usually represented by three dots or similar) associated with that suite. - ![Access Suite Menu](/api-testing/api-suite-menu-item.png) - -3. **Add Test Case:** From the action menu, select the **Add Test Case** option. A modal window or form will appear. Fill in the required details for your new test case (e.g., name, description) and confirm its creation. - ![Add Test Case Button](/api-testing/create-testcase-button.png) - -4. **Add Initial Request:** Once the test case is created, it will likely be empty. To make it functional, you need to add at least one API request. Click the **Add Request** button. A request holds all the configuration details for a single API call (URL, method, headers, body, etc.) within the test case. - ![Add Request Button](/api-testing/create-endpoint.png) - -### ✅ What's Next? - -You have successfully created an API test case and added an initial request. The next step is to define the specifics of that request. - -Learn how to [Configure the API Endpoint](./configure-api-endpoint). \ No newline at end of file +1. **Select Target Suite** Choose an existing test suite from the Target Suite dropdown. You may also type a name to create a new suite where the test case will be added. +![Target Suite ](/test-case/target-suite.png) +2. **Enter Test Case Name** Provide a clear and descriptive name in the Test case name field to easily identify the test scenario. +![Target Suite ](/test-case/test-case-name.png) +3. **Select Test Type** Choose API as the test case type. This defines the test as an API automation test. +![Target Suite ](/test-case/api-test.png) +4. **Add Description (Optional)** Enter a short description explaining the purpose and scope of the test case. +5. **Select Browser** Choose the browser in which the test will run, such as Google Chrome. +![Target Suite ](/test-case/browser.png) +6. **Enter Target URL** Specify the application URL that will be opened when the test execution starts. +![Target Suite ](/test-case/url.png) +7. **Select Device** Choose a predefined device preset to define screen resolution and viewport size (for example, Laptop 11 – 1366×768). +![Target Suite ](/test-case/device.png) +8. **Auth Test Case (Optional)** Select an authentication test case to inject session cookies. This allows the test to bypass login steps during execution. +9. **Create Test Case** Click the Create button to save the test case. Once created, the test case becomes available for adding steps and execution. diff --git a/contents/docs/assertions/index.mdx b/contents/docs/assertions/index.mdx new file mode 100644 index 0000000..a91d4db --- /dev/null +++ b/contents/docs/assertions/index.mdx @@ -0,0 +1,7 @@ +### Assertions + +Assertions are used to validate expected behavior during test execution. **Robonito** allows you to add assertions while recording or after recording by editing a test step. + +When adding an assertion, the **Add Assertion** dialog appears, enabling you to choose the assertion type and configure validation rules. +![Add Assertions](/test-case/add-assertion.png) + diff --git a/contents/docs/assertions/page-assertion/index.mdx b/contents/docs/assertions/page-assertion/index.mdx new file mode 100644 index 0000000..f1e58cc --- /dev/null +++ b/contents/docs/assertions/page-assertion/index.mdx @@ -0,0 +1,58 @@ +### Page Assertion + +Page Assertions are used to validate page-level properties during test execution. They ensure that the application navigates to the correct page and that the page is loaded as expected. + +The **Add Page Assertion** dialog appears when you choose to add a page-level validation during recording or while editing a test step. +![Page Assertion](/test-case/page-assertion.png) + +### Page Assertion Types + +Robonito supports the following page assertion types: + + +### Page Title + +Verifies the title of the currently loaded page. + +### Configuration Options + +- **Expected Title*** – Enter the expected page title +- **Match Type** – Choose how the title should be matched: + - Exact Match + - Partial Match (if supported) +- **Case Sensitive** – Enable this option to perform case-sensitive matching + +**Use case:** +Ensure the user is navigated to the correct page after an action. + + +### Page URL + +Validates the URL of the currently loaded page. + +### Configuration Options + +- **URL*** – Enter the expected page URL + +**Use case:** +Confirm correct navigation or routing after page transitions. + + +### Add Page Assertion + +After configuring the page assertion: + +1. Review the expected title or URL +2. Click **Add Assertion** to attach the page assertion to the selected test step + +During execution, Robonito evaluates the page assertion and marks it as **passed** or **failed** in the execution report. + + +### Benefits of Page Assertions + +Page Assertions help ensure: + +- Correct navigation flow +- Accurate page rendering +- Reliable validation of routing behavior + diff --git a/contents/docs/assertions/smart-assertion/index.mdx b/contents/docs/assertions/smart-assertion/index.mdx new file mode 100644 index 0000000..8894580 --- /dev/null +++ b/contents/docs/assertions/smart-assertion/index.mdx @@ -0,0 +1,55 @@ +### Smart Assertion + +Smart Assertion allows you to define validations using simple, human-readable descriptions. Instead of manually configuring assertion rules, you describe what should be true about the selected UI element, and **Robonito** automatically interprets and applies the appropriate validation logic. + +This dialog appears when you choose **Smart Assertion** during recording or while editing a test step. +![Smart Assertion](/test-case/smart-assertion1.png) + +### Create Smart Assertion + +The **Create Assertion** dialog enables you to define intelligent assertions using natural language. + + +### Assertion Description + +Enter a clear description of what should be true about the selected element. + +**Examples:** + +- “The login button should be visible and clickable” +- “The error message should contain the text ‘Invalid credentials’” +- “The submit button should be disabled” + +You can enter up to **500 characters**. + + +### Instructions for Writing Smart Assertions + +To create an effective Smart Assertion: + +1. Select the target UI element on the page first +2. Describe what you want to verify about the element +3. Use clear and specific language such as: + - `should be visible` + - `should be clickable` + - `should contain text` +4. Save the assertion once the description is complete + +The assertion is automatically evaluated during test execution. + + +### Save Assertion + +Click **Save Assertion** to attach the smart assertion to the selected test step. + +During execution, Robonito evaluates the assertion and marks it as **passed** or **failed** in the execution report. + + +### Benefits of Smart Assertions + +Smart Assertions provide: + +- Faster assertion creation +- Reduced manual configuration +- Clear, readable validations +- Improved test maintainability diff --git a/contents/docs/assertions/text-assertion/index.mdx b/contents/docs/assertions/text-assertion/index.mdx new file mode 100644 index 0000000..3c9a051 --- /dev/null +++ b/contents/docs/assertions/text-assertion/index.mdx @@ -0,0 +1,34 @@ +### Choose Assertion Type + +Robonito supports two categories of assertions: +![Text Assertions](/test-case/plain-text.png) + +### Content-Based Assertions + +Content-based assertions validate text or content displayed on the page. + +### Plain Text + +Asserts that a specific text appears on the page. + +- Supports exact or partial text matching + +**Use case:** +Validate headings, labels, messages, or static content. + + +### Custom Expression + +Asserts text using a custom expression for advanced matching scenarios. + +**Use case:** +Validate dynamic text such as IDs, timestamps, or formatted values. + + +### Regex + +Validates text using regular expressions. + +**Use case:** +Match complex patterns such as email addresses or dynamically generated strings. + diff --git a/contents/docs/assertions/ui-assertion/index.mdx b/contents/docs/assertions/ui-assertion/index.mdx new file mode 100644 index 0000000..d7c7449 --- /dev/null +++ b/contents/docs/assertions/ui-assertion/index.mdx @@ -0,0 +1,83 @@ + +### UI / Element-Based Assertions + +UI / Element-Based Assertions are used to validate the presence, visibility, count, and styling of specific UI elements on a page. These assertions ensure that UI components are rendered correctly and behave as expected during test execution. + +The **Add Assertion** dialog appears when you select **UI / Element-Based** under the assertion type while recording or editing a test step. +![Text Assertions](/test-case/ui-assertion.png) + +### Choose Assertion Type – UI / Element-Based + +UI / Element-Based assertions focus on validating DOM elements rather than page content. + +Robonito supports the following UI assertion types: + + +### Element Exists + +Asserts that a specific element exists in the DOM. + +- Validates that the element is present, regardless of visibility +- Useful for ensuring required elements are rendered + +**Use case:** +Verify that a header, button, or container exists on the page. + + +### Element Visible + +Asserts that a specific element is visible to the user. + +- Ensures the element is displayed on the screen +- Useful for validating UI readiness before interactions + +**Use case:** +Confirm that a button or text is visible before clicking or reading it. + + +### Element Count + +Validates the number of elements matching a selector. + +### Configuration Options + +- **Expected count value** + +**Use case:** +Verify the number of items in a list, table rows, or repeated UI components. + + +### CSS Assertion + +Validates the value of a specific CSS property for an element. + +### Configuration Options + +- **CSS property name** +- **Expected property value** + +**Use case:** +Ensure correct styling, such as color, font size, or visibility state. + + +### Assertion Configuration + +Once a UI assertion type is selected, the **Configuration** panel becomes active. + +Depending on the selected assertion, you can configure: + +- **Expected Text*** – The expected value associated with the element +- **Match Type** – How the value should be matched (e.g., Exact Match) +- **Case Sensitive** – Enable for case-sensitive matching + +These settings define how Robonito evaluates the assertion during execution. + + +### Add Assertion + +After configuring the assertion: + +1. Review the selected UI assertion and configuration +2. Click **Add Assertion** + +The assertion is attached to the selected test step and evaluated during test execution. Results are displayed as **pass** or **fail** in the execution report. diff --git a/contents/docs/executions/cloud/index.mdx b/contents/docs/executions/cloud/index.mdx index e69de29..e38bc4a 100644 --- a/contents/docs/executions/cloud/index.mdx +++ b/contents/docs/executions/cloud/index.mdx @@ -0,0 +1,4 @@ +--- +title: 'Cloud' +description: 'Learn how to validate API responses using assertions in Robonito.' +--- diff --git a/contents/docs/executions/index.mdx b/contents/docs/executions/index.mdx new file mode 100644 index 0000000..edd82fd --- /dev/null +++ b/contents/docs/executions/index.mdx @@ -0,0 +1,14 @@ +--- +title: Execution with Robonito +--- + +# Execution + +Robonito provides a powerful and intuitive way to test your APIs, ensuring they function correctly and meet expectations. This section guides you through the various features available for creating, configuring, and analyzing your API tests. + +Learn how to: + +- [Create an API Test Case](./create-api-testcase) + + +Dive into the topics below to get started with API testing in Robonito. \ No newline at end of file diff --git a/contents/docs/executions/local/index.mdx b/contents/docs/executions/local/index.mdx index e69de29..7f4d89f 100644 --- a/contents/docs/executions/local/index.mdx +++ b/contents/docs/executions/local/index.mdx @@ -0,0 +1,4 @@ +--- +title: 'Local Guide' +description: 'Learn how to validate API responses using assertions in Robonito.' +--- diff --git a/contents/docs/installation/index.mdx b/contents/docs/installation/index.mdx index a371d99..5fef44e 100644 --- a/contents/docs/installation/index.mdx +++ b/contents/docs/installation/index.mdx @@ -1,12 +1,17 @@ ---- -title: Installation -description: Robonito has two components the desktop app and a cloud executor. We shall share the installation of Robonito Desktop Application. The cloud executor lives in our (cloud) infrastructure with options for on-premise installation available but that is not covered in these docs. ---- +### Installation Guide + +This section explains how to install and set up **Robonito** on Windows, macOS, and Linux systems. Follow the instructions for your operating system to get started quickly. + + +### System Requirements + +Before installing Robonito, ensure your system meets the following requirements: + +### Operating System + +- [Download Robonito for Windows](https://robonito-prod-builds.s3.ap-south-1.amazonaws.com/Robonito-Setup-2.5.0.exe) + - [Download Robonito for macOS](https://robonito-prod-builds.s3.ap-south-1.amazonaws.com/Robonito-2.5.0-arm64.dmg) +- [Download Robonito for Linux](https://robonito-prod-builds.s3.ap-south-1.amazonaws.com/Robonito-2.5.0.AppImage) -The Robonito Desktop App is available for Windows and Mac -## Installation Overview -Download for Window. -Download for Mac intel or Mac Silicon. -Download for Linux. \ No newline at end of file diff --git a/contents/docs/installation/linux/index.mdx b/contents/docs/installation/linux/index.mdx index 372946f..6519c5f 100644 --- a/contents/docs/installation/linux/index.mdx +++ b/contents/docs/installation/linux/index.mdx @@ -1,5 +1,32 @@ -Robonito is currently compatible with Windows and Mac operating systems. At this time, we are not yet supporting Linux, but we appreciate your interest and feedback. +# Install Robonito on Linux -We are actively working to expand our offerings and hope to bring Linux compatibility in the future. +This guide explains how to install and run **Robonito** on Linux systems using AppImage. -Stay tuned for updates! +--- + +## System Requirements + +Before installing Robonito, ensure your system meets the following requirements: + +- **Operating System:** Ubuntu 20.04+, Debian-based, or equivalent +- **Browser:** Google Chrome (latest version recommended) +- **Internet Connection:** Required for updates +- **Permissions:** Execute permission for AppImage + +--- + +## Download Robonito for Linux + +- **Linux (AppImage)** + [Download Robonito for Linux](https://robonito-prod-builds.s3.ap-south-1.amazonaws.com/Robonito-2.5.0.AppImage) + +--- + +## Installation Steps + +1. Download the Robonito AppImage file +2. Open a terminal and navigate to the download directory +3. Make the AppImage executable: + + ```bash + chmod +x Robonito-2.5.0.AppImage diff --git a/contents/docs/installation/mac/index.mdx b/contents/docs/installation/mac/index.mdx index 98f3b76..3ed8201 100644 --- a/contents/docs/installation/mac/index.mdx +++ b/contents/docs/installation/mac/index.mdx @@ -1,25 +1,62 @@ ---- -title: Mac Installation -description: Instructions for installing the Robonito Desktop App on Mac. ---- +### Install Robonito on macOS -### Installation Overview - To install the Robonito Desktop App on your Mac, follow these steps: - -1. **Visit the Robonito Website** - Navigate to the [Robonito Website](https://robonito.com). +This guide explains how to install and set up **Robonito** on macOS systems. -2. **Download the Robonito Desktop App** - ![Download Robonito](https://raw.githubusercontent.com/Robonito/docs/refs/heads/main/public/Mac-installation.png) +### Important Note – Intel Macs Not Supported - Click the "Download" button to retrieve the Robonito Desktop App for Mac. - Select the correct version for your hardware: either Mac with Intel chip or Mac with Apple Silicon. Once selected, the download will start automatically. +> ⚠️ **Robonito does NOT support Intel-based macOS systems.** -3. **Install the App** - Once the download is complete, locate the file in your Downloads folder. Double-click the installer and follow the on-screen instructions to complete the installation. +Robonito is built **only for Apple Silicon (ARM64)** architecture. -4. **Launch the App** - After installation, you can find and launch the Robonito app from the Applications folder on your Mac. +### Supported Mac Devices - That's it! You're now ready to enjoy using the Robonito Desktop App. If you encounter any issues during installation, feel free to consult the help section on the Robonito website for further assistance. - or join us on [Slack](https://join.slack.com/t/robonito/shared_invite/zt-2vzwc6wol-wJUrgT4aL9~LbhiCYwdczA) \ No newline at end of file +- MacBook Air (M1, M2, M3) +- MacBook Pro (M1, M2, M3) +- Mac Mini (M1, M2) +- Mac Studio (M1, M2) + +### Not Supported + +- ❌ Intel-based Macs (Intel Core i5, i7, i9) +- ❌ macOS running on Intel processors +- ❌ Rosetta emulation is **not supported** + +Please verify your Mac’s processor before downloading. + + +### System Requirements + +- **Operating System:** macOS 11 (Big Sur) or later +- **Architecture:** Apple Silicon (ARM64) only +- **Browser:** Google Chrome (latest version recommended) +- **Internet Connection:** Required for installation and updates + + +### Download Robonito for macOS + +- **macOS (ARM64)** + [Download Robonito for macOS](https://robonito-prod-builds.s3.ap-south-1.amazonaws.com/Robonito-2.5.0-arm64.dmg) + + +### Installation Steps + +1. Download the Robonito macOS installer (`.dmg`) +2. Open the downloaded `.dmg` file +3. Drag the **Robonito** app into the **Applications** folder +4. Open Robonito from the Applications folder + + +### Permissions + +On first launch, macOS may request the following permissions: + +- Accessibility +- Screen Recording + +Grant these permissions to enable recording and automation features. + + +### After Installation + +- Ensure **Google Chrome** is installed +- Robonito is now ready for use diff --git a/contents/docs/installation/window/index.mdx b/contents/docs/installation/window/index.mdx index 4666019..4e184d5 100644 --- a/contents/docs/installation/window/index.mdx +++ b/contents/docs/installation/window/index.mdx @@ -1,30 +1,53 @@ ---- -title: Windows Installation -description: Instructions for installing the Robonito Desktop App on Windows. ---- +### Install Robonito on Windows -#### Installation Overview - To install the Robonito Desktop App on your Windows, follow these steps: +This guide explains how to install and set up **Robonito** on Windows systems. -1. **Visit the Robonito Website** - Navigate to the [Robonito Website](https://robonito.com). -2. **Download the Robonito Desktop App** -![Download Robonito](https://raw.githubusercontent.com/Robonito/docs/refs/heads/main/public/Robonito-HomePage.png) +### System Requirements -Click the "Download" button to retrieve the Robonito Desktop App for Windows. -Once selected, the download will start automatically. +Before installing Robonito, ensure your system meets the following requirements: -3. **Install the App** -Once the download is complete, locate the file in your Downloads folder. Double-click the installer and follow the on-screen instructions to complete the installation. +- **Operating System:** Windows 10 or later (64-bit) +- **Browser:** Google Chrome (latest version recommended) +- **Internet Connection:** Required for installation and updates +- **Permissions:** Administrator access required -(Note: our Windows app is not yet signed, so you may get a warning from Windows Defender as shown below). -![Windows Warning](https://raw.githubusercontent.com/Robonito/docs/refs/heads/main/public/Windows-Warning.png) +### Download Robonito for Windows -Please Click Run anyway to allow the installation.\* +- **Windows (x64 Installer)** + [Download Robonito for Windows](https://robonito-prod-builds.s3.ap-south-1.amazonaws.com/Robonito-Setup-2.5.0.exe) -**Launch the App** -Once installed, you can launch Robonito from the Start Menu in Windows.. -We shall explore different features of Robonito in other sections. In case you get any issues please join us on [Slack](https://join.slack.com/t/robonito/shared_invite/zt-2vzwc6wol-wJUrgT4aL9~LbhiCYwdczA) \ No newline at end of file +### Installation Steps + +1. Download the Robonito Windows installer (`.exe`) +2. Double-click the installer to start the setup +3. Follow the on-screen instructions in the setup wizard +4. Choose the installation directory (default is recommended) +5. Complete the installation process + +### What to Do + +1. Click **More info** +2. Click **Run anyway** + +This will safely continue the installation. + +> Robonito is safe to install. This warning does **not** indicate malware—it is a standard Windows security prompt for new applications. +![Text Assertions](/Windows-Warning.png) + +### Continue Installation + +After clicking **Run anyway**: + +1. Follow the on-screen instructions in the setup wizard +2. Choose the installation directory (default is recommended) +3. Complete the installation process + + +### After Installation + +- Launch Robonito from the **Start Menu** or desktop shortcut +- Ensure **Google Chrome** is installed and up to date +- Robonito is now ready to record and execute tests diff --git a/contents/docs/mobile-testing/create-mobile-testcase/index.mdx b/contents/docs/mobile-testing/create-mobile-testcase/index.mdx new file mode 100644 index 0000000..ba8bf3c --- /dev/null +++ b/contents/docs/mobile-testing/create-mobile-testcase/index.mdx @@ -0,0 +1,34 @@ +## Creating a New Mobile Test + +This guide explains how to create a new mobile test using Robonito. + +### Adding Test Cases to a Suite + +Test cases are systematically organized within suites according to functionality or modules. The type of test cases added depends on the suite type mobile. + + +#### Follow the steps below to create a Test Case + + +1. **Select Target Suite** Choose an existing test suite from the Target Suite dropdown. You may also type a name to create a new suite where the test case will be added. +![Target Suite ](/test-case/target-suite.png) +2. **Enter Test Case Name** Provide a clear and descriptive name in the Test case name field to easily identify the test scenario. +![Target Suite ](/test-case/test-case-name.png) +3. **Select Test Type** Choose mobile as the test case type. This defines the test as a mobile automation test. +![Target Suite ](/test-case/mobile.png) +4. **Add Description (Optional)** Enter a short description explaining the purpose and scope of the test case. +5. **Select Browser** Choose the browser in which the test will run, such as Google Chrome. +![Target Suite ](/test-case/browser.png) +6. **Enter Target URL** Specify the application URL that will be opened when the test execution starts. +![Target Suite ](/test-case/url.png) +7. **Select Device** Choose a predefined device preset to define screen resolution and viewport size (for example, Laptop 11 – 1366×768). +![Target Suite ](/test-case/device.png) +8. **Auth Test Case (Optional)** Select an authentication test case to inject session cookies. This allows the test to bypass login steps during execution. +9. **Create Test Case** Click the Create button to save the test case. Once created, the test case becomes available for adding steps and execution. + + + + + + + diff --git a/contents/docs/mobile-testing/index.mdx b/contents/docs/mobile-testing/index.mdx new file mode 100644 index 0000000..832eb33 --- /dev/null +++ b/contents/docs/mobile-testing/index.mdx @@ -0,0 +1,20 @@ +--- +title: Mobile Testing with Robonito +--- + +Robonito provides a powerful and intuitive way to test mobile applications, ensuring they function correctly across different platforms and devices. This section guides you through the tools and features available for creating, configuring, and analyzing mobile test cases using emulators. + +Robonito supports mobile testing for: +- **Android applications** +- **iOS applications** +- **Emulator-based execution** + +Learn how to: + +- [Create a Mobile Test Case](./mobile-testing/create-mobile-testcase) +- [Configure Mobile App & Device Settings](./configure-mobile-environment) +- [Use Variables in Mobile Tests](./variables-in-mobile) +- [Add Assertions to Validate App Behavior](./mobile-assertions) +- [Understand Mobile Execution Reports](./mobile-execution-report) + +Dive into the topics below to get started with mobile testing in Robonito. diff --git a/contents/docs/test-case/index.mdx b/contents/docs/test-case/index.mdx index 472e56c..a46c696 100644 --- a/contents/docs/test-case/index.mdx +++ b/contents/docs/test-case/index.mdx @@ -2,104 +2,14 @@ title: 'Introduction to a Test Case' description: 'Learn how to create a test case within a suite in Robonito.' --- -### Introduction to Test Cases in Robonito +### Test Cases in Robonito -Test cases are critical components of Robonito, encompassing defined steps and expected outcomes that validate application functionalities. Robonito supports both API and UI test cases, facilitating comprehensive testing coverage. +Test cases are the core building blocks of Robonito’s automation framework. Each test case represents a specific scenario consisting of defined configurations, steps, and expected outcomes used to validate application behavior. Robonito supports multiple types of test cases, enabling teams to automate different layers of application testing. -### Test Case Types - -- **API Test Cases:** Validate the functionality and performance of application APIs. -- **UI Test Cases:** Simulate user interactions with the UI to ensure correct functionality and usability. - -### Adding Test Cases to a Suite - -Test cases are systematically organized within suites according to functionality or modules. The type of test cases added depends on the suite type (Web or API). - -#### Adding a UI Test Case to a Web Suite: - -1. **Select a Web Suite:** Navigate to the suite management module and choose the desired web suite. -2. **Access Add Test Case Option:** Click the ellipsis next to the suite name. -3. **Open Add Test Case Dialog:** Select "Add test case" from the menu. -4. **Enter Test Case Name:** Provide a descriptive name in the "Test case name" field. -5. **Enter Description (Optional):** Include a brief description if necessary. -6. **Add Test Case:** Click "Add" to create the test case. - - ![Add Test Case Dialog](https://raw.githubusercontent.com/Robonito/docs/refs/heads/main/public/AddTestCaseDialog.png) - -### Configuring a UI Test Case - -Upon adding a test case, you will be directed to the configuration screen. -![Test case Configration](/test-case/TestCaseConfigurationScreen.png) - -- **Test Case Details:** Review the test case name, description, and additional details such as browser used and timestamps. -- **Browser Launch Options:** Customize browser settings for test execution. -- **Test Case Steps:** Record or manually add steps to define the test actions. -- **Test Case Actions:** Utilize action buttons to record, configure, execute, or view logs. -- **Changes Saved Confirmation:** A confirmation message will indicate successful updates. - - -### Test Case Configuration Drawer - -![Test Case Configuration Drawer](/test-case/TestCaseConfigurator.png) - -- **Configure Test Case:** Access the configuration drawer to set options. -- **Browser Selection:** Choose the browser for execution. -- **Dependency Management:** Mark test cases as dependencies for reuse. -- **Target URL and Screen Size:** Specify the application URL and screen size. -- **Timeout and Recording Options:** Set page load timeout and select video recording preferences. -- **Save Configuration:** Click "Save" to apply changes. - -### Test Case Recording Options -![Test Case Recording](/test-case/RecordingOptions.png) - -- **Recorder Access:** Click the "Recorder" button to initiate recording options. -- **Recording Methods:** Select between traditional record & playback or AI-assisted recording. -- **Future Enhancements:** Anticipate increased options for test case generation and automation. +Test cases are always created within a test suite, allowing logical grouping based on application modules or features. -### Viewing Recorded Test Case Steps - -![Test Case Steps](/test-case/SelectTestCaseInSuite.png) - -- **Select Test Case:** Click on a recorded test case to view its steps. -- **Test Case Steps Display:** Recorded steps will be displayed with descriptions and associated data. - -### Editing Test Case Steps - -![Edit Test Case Step](/test-case/EditStepInTestCase.png) - -- **Edit Step:** Adjust recorded steps as needed. -- **Selectors and Data Values:** Modify selectors and data values, including random generation and OTPs. -- **Save/Cancel:** Save changes or cancel edits. - -### Key Features of Test Cases - -- **Clear Definition:** Precisely defined steps and expected outcomes. -- **Organization:** Structured within suites for effective management. -- **Flexibility:** Supports both API and UI test cases. -- **Configuration Options:** Diverse settings for test cases, including dependencies and recording. -- **Execution and Logging:** Execute test cases and analyze logs. -- **Dynamic Data Input:** Utilize random values, variables, and OTPs for enhanced adaptability. - -### Adding an API Test Case to an API Suite - -1. **Select an API Suite:** Navigate to the suite management module and choose the desired API suite. -2. **Access Add Test Case Option:** Click the ellipsis next to the suite name. -3. **Open Add Test Case Dialog:** Select "Add test case" from the menu. -4. **Enter Test Case Name:** Provide a descriptive name in the "Test case name" field. -5. **Enter Description (Optional):** Include a brief description if necessary. -6. **Add Test Case:** Click "Add" to create the test case. - -![Add Test Case Dialog](/test-case/AddTestCaseDialog.png) - -5. **Enter Test Case Name:** - * Provide a descriptive name for your test case in the "Test case name" field. -6. **Enter Description (Optional):** - * Provide a brief description of the test case in the "Description" field. -7. **Add Test Case:** - * Click the "Add" button to create the test case. - -### Configuring an API Test Case - -After adding, you will access a user-friendly interface to configure API test cases. Specify the API endpoint, request method, headers, request body, and expected response. Define assertions to validate response status, headers, and body content. - -**Note:** This documentation will be updated as Robonito evolves. Stay informed for more detailed instructions and feature updates. +### Test Case Types +Robonito supports the following types of test cases, allowing comprehensive automation across different platforms: +- **Web (UI) Test Cases:** Web test cases automate user interactions with web applications. These tests simulate actions such as clicking elements, filling forms, navigating pages, and validating UI behavior in real browsers. [How to create a web test case](/docs/web-testing/create-web-test). +- **API Test Cases:** API test cases validate backend services by testing API endpoints. They help ensure correct request handling, response validation, performance, and reliability of application APIs. [How to create an API test case](/docs/api-testing/create-api-testcase). +- **Mobile Test Cases:** Mobile test cases are used to automate testing for mobile applications. These tests validate functionality, UI behavior, and workflows on mobile devices. [How to create a Mobile test case](/docs/mobile-testing/create-mobile-testcase). diff --git a/contents/docs/web-testing/create-web-test/index.mdx b/contents/docs/web-testing/create-web-test/index.mdx index e97637b..1dac1f1 100644 --- a/contents/docs/web-testing/create-web-test/index.mdx +++ b/contents/docs/web-testing/create-web-test/index.mdx @@ -2,35 +2,33 @@ This guide explains how to create a new web test using Robonito. -### Prerequisites +### Adding Test Cases to a Suite -Before you begin, ensure you have the following: +Test cases are systematically organized within suites according to functionality or modules. The type of test cases added depends on the suite type Web. -- **A Robonito Workspace:** If you haven't created one yet, follow the guide on [how to create a workspace](/path/to/workspace/docs). -- **A Robonito Web Suite:** You'll need a web suite to contain your test. Learn [how to create a web suite](/path/to/suite/docs) if you don't have one. -### Steps to Create a New Web Test +#### Follow the steps below to create a Test Case + + +1. **Select Target Suite** Choose an existing test suite from the Target Suite dropdown. You may also type a name to create a new suite where the test case will be added. +![Target Suite ](/test-case/target-suite.png) +2. **Enter Test Case Name** Provide a clear and descriptive name in the Test case name field to easily identify the test scenario. +![Target Suite ](/test-case/test-case-name.png) +3. **Select Test Type** Choose Web as the test case type. This defines the test as a UI automation test. +![Target Suite ](/test-case/test-type.png) +4. **Add Description (Optional)** Enter a short description explaining the purpose and scope of the test case. +5. **Select Browser** Choose the browser in which the test will run, such as Google Chrome. +![Target Suite ](/test-case/browser.png) +6. **Enter Target URL** Specify the application URL that will be opened when the test execution starts. +![Target Suite ](/test-case/url.png) +7. **Select Device** Choose a predefined device preset to define screen resolution and viewport size (for example, Laptop 11 – 1366×768). +![Target Suite ](/test-case/device.png) +8. **Auth Test Case (Optional)** Select an authentication test case to inject session cookies. This allows the test to bypass login steps during execution. +9. **Create Test Case** Click the Create button to save the test case. Once created, the test case becomes available for adding steps and execution. -Follow these steps to add a new web test within your Robonito workspace: -1. Navigate to the **Test Explorer** view in your Robonito workspace. -2. Locate the web suite where you want to add the new test. -3. Click the **Three dots icon [⋮]** next to the desired web suite name. -4. Select **Add Test** from the context menu that appears. -5. In the "Create New Test" dialog: - * Enter a descriptive **Name** for your test. - * Provide a brief **Description** (optional but recommended). -6. Click the **Create** button. -7. Your new web test will now be listed under the selected web suite in the **Test Explorer**. -8. Click on the new test's name to open it in the editor and begin defining test steps. -### Feeling Stuck? -If you encounter any issues or have questions during this process, feel free to: -- Reach out to our support team at `support@robonito.com` -- Consult at [Robonito Slack](https://join.slack.com/t/robonito/shared_invite/zt-2vzwc6wol-wJUrgT4aL9~LbhiCYwdczA) for assistance. -### Next Steps -Now that you've created a new web test, you can proceed to the [Recording Test Cases](/path/to/recording/docs) section to learn how to record user interactions for your test. diff --git a/contents/docs/web-testing/recording/index.mdx b/contents/docs/web-testing/recording/index.mdx new file mode 100644 index 0000000..f738fd0 --- /dev/null +++ b/contents/docs/web-testing/recording/index.mdx @@ -0,0 +1,206 @@ +## Recording a Web Test Case in Robonito + +Recording is the fastest way to create a Web (UI) test case in **Robonito**. It captures real user interactions in a browser and automatically converts them into structured, executable test steps. + +This guide covers the complete recording workflow—from starting the recording to using automation tools and assertions. + + +## Start Recording + +To begin recording a web test case: + +1. Open an existing **Web Test Case** or [create a new one](/docs/web-testing/create-web-test). +2. Click the **Record** button. +![Record](/test-case/record.png) +3. The **Configure Web Test Case Launch Options** dialog appears. +![Configure Web Test Case](/test-case/configure-web-test-case.png) + +## Configure Web Test Case Launch Options + +Before recording starts, configure the environment in which the test will be recorded. + +### Browser + +Select the browser for recording. + +**Example:** Google Chrome + + +### Target URL * + +Enter the URL of the application to be tested. +The browser will open this URL when recording starts. + + +### Device * + +Select a predefined device preset or add a custom device configuration. + +- Defines screen resolution and viewport size +- **Example:** Laptop 11 (1366 × 768) + + +### Auth Test Case (Optional) + +Select an authentication test case to inject session cookies before the browser loads. + +- Used to bypass login steps +- Useful for recording authenticated user flows + +After configuring the options, click **Start Recording**. + + +## Browser Launch and Recording Session + +Once recording starts: + +- A new browser window opens using the selected browser and device configuration +- The browser navigates to the specified **Target URL** +- Robonito begins capturing user interactions immediately +- The browser is controlled by Robonito and dedicated to the recording session + + +## Recorded User Actions + +During the recording session, Robonito captures: + +- Mouse clicks +- Text input and form submissions +- Page navigation +- UI element interactions +- Supported validations + +Each interaction is automatically converted into a test step in the test case. +![Recording steps](/test-case/recording.png) + +## Automation Tools During Recording + +While recording is active, Robonito provides **Automation Tools** to enhance test reliability and flexibility. +![Automation Tools](/test-case/tools2.png) + + + + + +### Smart Assertion + +Smart Assertion allows you to define validations using simple, human-readable descriptions. Instead of manually configuring assertion rules, you describe what should be true about the selected UI element, and **Robonito** automatically interprets and applies the appropriate validation logic. +[Learn Smart Assertion](/docs/assertions/smart-assertion) +### Assertions + +Assertions are used to validate expected behavior during test execution. **Robonito** allows you to add assertions while recording or after recording by editing a test step. +[Learn Assertion](/docs/assertions) +### Page Assertion + +Page Assertions are used to validate page-level properties during test execution. They ensure that the application navigates to the correct page and that the page is loaded as expected. +[Learn Page Assertion](/docs/assertions/page-assertion) +### Visual Assert + +Validates the visual appearance of UI elements or pages to detect layout or UI changes. + + + + +### Hover + +Records mouse hover interactions for menus, tooltips, and dynamic UI elements. + + +### Record Local Variable + +Captures values from the UI and stores them as variables for later use in the test. + + +### Use Variable + +Uses previously recorded variables in inputs, validations, or assertions. + + +### Fetch OTP + +Automatically fetches one-time passwords during execution for OTP-based authentication flows. + + +### New Browser + +Opens a new browser instance during the test for multi-session or advanced workflows. + + +### Optional Step + +Marks a step as optional, allowing the test to continue execution even if the step fails. + + +## Stopping the Recording + +When all required actions are recorded: + +1. Stop the recording session manually +2. All captured actions are saved as structured test steps +3. The test case is ready for review, editing, and execution + + +## Benefits of Recording-Based Test Creation + +Recording in Robonito ensures: + +- Accurate representation of real user behavior +- Faster test creation with minimal manual effort +- Reliable and repeatable automation tests +- Reduced maintenance through smart assertions and variables + +This end-to-end recording workflow enables teams to quickly build robust and maintainable web automation tests. + + +## Recorded Steps After Execution + +After stopping the recording or completing an execution flow, Robonito converts all recorded user interactions into structured test steps. + +These steps represent the exact sequence of actions performed during the recording session and can be reviewed, searched, reordered, or edited. + + +## Step List Overview + +Each recorded action is displayed as an individual step with clear labeling and metadata: + +- **Step Number** – Indicates the execution order +- **Action Description** – Human-readable description of the interaction +- **Browser Context** – Shows which browser instance performed the action (e.g., Browser 1) +- **Action Type Tag** – Identifies the type of action (Browser, Navigate, Click) + + +## Example Recorded Steps + +- **Open Browser** + Initializes a new browser session for the test case. + +- **Navigate to URL** + Opens the specified target URL in the browser. + +- **Click Action** + Captures a user click on a specific UI element. + +- **Additional Click or Navigation Actions** + Records subsequent user interactions in sequence. + + +## Step Actions and Capabilities + +Recorded steps can be: + +- Reordered using drag-and-drop +- Searched using the step search bar +- Edited to refine selectors or values +- Enhanced with assertions, variables, or optional behavior + +Each step is modular and reusable, enabling precise control over test execution. + + +## Why Recorded Steps Matter + +Structured recorded steps provide: + +- Full visibility into test execution flow +- Easier debugging and maintenance +- Flexibility to enhance tests after recording +- Reliable and repeatable automation behavior diff --git a/lib/routes-config.ts b/lib/routes-config.ts index ee6e06a..5166f80 100644 --- a/lib/routes-config.ts +++ b/lib/routes-config.ts @@ -8,10 +8,10 @@ export type EachRoute = { }; export const ROUTES: EachRoute[] = [ - { - title: "Quick Tour", - href: "/quick-tour", - }, + // { + // title: "Quick Tour", + // href: "/quick-tour", + // }, { title: "Installation", href: "/installation", @@ -69,6 +69,23 @@ export const ROUTES: EachRoute[] = [ { title: "Assertions", href: "/assertions" }, ], }, + { + title: "Mobile Testing", + href: "/mobile-testing", + items: [ + { title: "Create Mobile test case", href: "/create-mobile-testcase" }, + ], + }, + { + title: "Assertions", + href: "/assertions", + items: [ + { title: "Smart Assertion", href: "/smart-assertion" }, + { title: "Page Assertion", href: "/page-assertion" }, + { title: "Text Assertion", href: "/text-assertion" }, + { title: "UI Assertion", href: "/ui-assertion" }, + ], + }, { title: "Executions", href: "/executions", @@ -92,7 +109,7 @@ export const ROUTES: EachRoute[] = [ { title: "Email", href: "/email" }, { title: "Jira", href: "/jira" }, { title: "Github", href: "/github" }, - {title: "Authenticator Apps", href:'/authenticator-apps'} + { title: "Authenticator Apps", href: '/authenticator-apps' } ], }, { diff --git a/public/test-case/add-assertion.png b/public/test-case/add-assertion.png new file mode 100644 index 0000000..b477242 Binary files /dev/null and b/public/test-case/add-assertion.png differ diff --git a/public/test-case/api-test.png b/public/test-case/api-test.png new file mode 100644 index 0000000..784f800 Binary files /dev/null and b/public/test-case/api-test.png differ diff --git a/public/test-case/automation-tools.png b/public/test-case/automation-tools.png new file mode 100644 index 0000000..ffbab40 Binary files /dev/null and b/public/test-case/automation-tools.png differ diff --git a/public/test-case/browser.png b/public/test-case/browser.png new file mode 100644 index 0000000..daf22d3 Binary files /dev/null and b/public/test-case/browser.png differ diff --git a/public/test-case/configure-web-test-case.png b/public/test-case/configure-web-test-case.png new file mode 100644 index 0000000..814bdb6 Binary files /dev/null and b/public/test-case/configure-web-test-case.png differ diff --git a/public/test-case/device.png b/public/test-case/device.png new file mode 100644 index 0000000..82499f4 Binary files /dev/null and b/public/test-case/device.png differ diff --git a/public/test-case/mobile.png b/public/test-case/mobile.png new file mode 100644 index 0000000..ae6d014 Binary files /dev/null and b/public/test-case/mobile.png differ diff --git a/public/test-case/page-assertion.png b/public/test-case/page-assertion.png new file mode 100644 index 0000000..a135d4d Binary files /dev/null and b/public/test-case/page-assertion.png differ diff --git a/public/test-case/plain-text.png b/public/test-case/plain-text.png new file mode 100644 index 0000000..bc73ef3 Binary files /dev/null and b/public/test-case/plain-text.png differ diff --git a/public/test-case/record.png b/public/test-case/record.png new file mode 100644 index 0000000..a867dcd Binary files /dev/null and b/public/test-case/record.png differ diff --git a/public/test-case/recording.png b/public/test-case/recording.png new file mode 100644 index 0000000..2bff759 Binary files /dev/null and b/public/test-case/recording.png differ diff --git a/public/test-case/smart-assertion.png b/public/test-case/smart-assertion.png new file mode 100644 index 0000000..a1112e8 Binary files /dev/null and b/public/test-case/smart-assertion.png differ diff --git a/public/test-case/smart-assertion1.png b/public/test-case/smart-assertion1.png new file mode 100644 index 0000000..0ff8e06 Binary files /dev/null and b/public/test-case/smart-assertion1.png differ diff --git a/public/test-case/target-suite.png b/public/test-case/target-suite.png new file mode 100644 index 0000000..5c6e8fa Binary files /dev/null and b/public/test-case/target-suite.png differ diff --git a/public/test-case/test-case-name.png b/public/test-case/test-case-name.png new file mode 100644 index 0000000..9e13d4f Binary files /dev/null and b/public/test-case/test-case-name.png differ diff --git a/public/test-case/test-type.png b/public/test-case/test-type.png new file mode 100644 index 0000000..3bdfd40 Binary files /dev/null and b/public/test-case/test-type.png differ diff --git a/public/test-case/tools.png b/public/test-case/tools.png new file mode 100644 index 0000000..f893f3d Binary files /dev/null and b/public/test-case/tools.png differ diff --git a/public/test-case/tools1.png b/public/test-case/tools1.png new file mode 100644 index 0000000..41be48f Binary files /dev/null and b/public/test-case/tools1.png differ diff --git a/public/test-case/tools2.png b/public/test-case/tools2.png new file mode 100644 index 0000000..f893f3d Binary files /dev/null and b/public/test-case/tools2.png differ diff --git a/public/test-case/ui-assertion.png b/public/test-case/ui-assertion.png new file mode 100644 index 0000000..7b68d29 Binary files /dev/null and b/public/test-case/ui-assertion.png differ diff --git a/public/test-case/url.png b/public/test-case/url.png new file mode 100644 index 0000000..79d39ae Binary files /dev/null and b/public/test-case/url.png differ