UIlicious Documentation

website·Indexed 33 days ago

https://docs.uilicious.com/scripting/

Documentation for UIlicious v3, a test automation platform. Includes reference guides for the Test Engine, Studio, and Web Studio, covering commands for page element validation (I.getCount, I.getText, I.getValue), browser interactions, HTTP requests, and integrations with Salesforce and Applitools Eyes.

Tokens
74.6K
Snippets
492
Records
695
Agent score
53%

What's inside UIlicious

  1. Overview of TAMI Studio Cloud Testing Grid

    TAMI Studio provides a scalable cloud testing grid that allows teams to execute automated tests across various browsers, regions, and configurations without maintaining local infrastructure. Key benefits include zero setup, high scalability for parallel test execution, and consistent environments to reduce flakiness.
  2. Overview of handling downloaded files in UIlicious

    v3
    UIlicious supports managing downloaded files for Chrome, Firefox, and Edge Chromium. During test execution, files are saved to a virtual "Downloads" folder. Files are named by the application server; users cannot rename them during the download process. For large files, it is recommended to use I.wait before attempting to access or validate the files.
  3. Overview of UIlicious automation

    v3
    UIlicious is a tool for automating interactions with modern web applications to test critical user flows (e.g., account registration or checkout) and ensure users do not encounter unexpected errors. It is compatible with any front-end framework, including ReactJS, AngularJS, VueJS, Polymer, and VanillaJS.
  4. Overview of TAMI AI capabilities in TAMI Studio

    TAMI (Test Automation Machine Intelligence) is an AI assistant integrated into TAMI Studio that converts natural language, screenshots, and screen recordings into automated UI test cases. It supports the following tasks across the testing lifecycle:

    • Test Planning: Analyzes screenshots or recordings of app workflows to suggest happy flows and edge cases.
    • Test Case Description: Generates detailed test steps from visual inputs for scenario documentation.
    • Script Generation: Converts described test steps into executable automated test scripts.
    • Test Maintenance: Diagnoses test failures and suggests fixes for missing or outdated steps.
    • Bug Reporting: Creates detailed bug reports based on failed tests to streamline developer troubleshooting.
  5. Overview of TAMI Studio

    TAMI Studio is an AI-powered platform designed for planning, managing, and automating UI tests. It is intended for QA, Product Managers, and developers, allowing teams to automate UI testing without requiring deep coding expertise. Key capabilities include organizing test cases by feature, writing reliable end-to-end automated scripts, executing cross-browser tests at scale, and scheduling test runs with integrated notifications.
  6. Overview of the UI-licious Test Framework

    UI-licious is an intuitive test automation framework designed to simulate real-world user interactions by focusing on 'User Journeys, not HTML'. It allows users to write tests in plain, natural language, abstracting away technical selectors to make tests accessible to QA engineers, developers, and non-technical stakeholders.
    I.goTo("https://github.com/login")
    I.fill("Username or email address", "<username>")
    I.fill("Password", "<password>")
    I.click("Sign in")
    I.see("My repositories")
  7. Automate MetaMask interactions with UIlicious

    v3
    UIlicious is a low-code browser testing tool designed to simplify Web3 automation. It provides a Chrome browser environment that comes with a fresh installation of the MetaMask extension for every test run. This eliminates the manual setup of the wallet and network, allowing configuration to be handled via a built-in MetaMask plugin using a few lines of code.
  8. Ensure reliable cross-browser test execution in UIlicious

    v3
    UIlicious eliminates the need for browser-specific workarounds by engineering commands to behave consistently across different browser engines. This prevents false alerts caused by WebDriver quirks (e.g., differences in how Safari vs. Chrome executes a command), ensuring that a test failure is likely due to an application bug rather than a browser-specific automation issue.
  9. Execute tests in parallel using TAMI Studio Cloud Testing Grid

    TAMI Studio enables parallel test execution via the Cloud Testing Grid. Test runs can be triggered manually from the Test Case Editor, through scheduled Jobs, or via the CLI. Each workspace has a fixed number of shared test runners; if all runners are occupied, new tests are placed in a queue and executed as runners become available.
  10. Understand how browser alerts affect UILicious execution

    Browser alerts are native dialog boxes that block JavaScript execution and prevent user interaction with the web page. While an alert is open, any page interaction commands (such as I.see() or I.click()) will fail with a "Command blocked by alert" error until the alert is dismissed.
  11. Retrieve information about downloaded files using UI.Downloads.files

    Use the read-only property UI.Downloads.files or the method UI.Downloads.listFiles() to get a list of files downloaded during a test. The results are returned as an array of objects in the order they were downloaded. The array includes .first and .last convenience getters to quickly access the metadata of the first and last downloaded files.

    Each file object contains:

    • name (string): Name of the downloaded file.
    • path (string): Path where the file is stored in the virtual directory.
    • lastModified (number): Creation time in epoch seconds.
    • size (number): File size in bytes.
    // Access via property
    var files = UI.Downloads.files;
    
    // Access via method
    var files = UI.Downloads.listFiles();
    
    // Access the last downloaded file specifically
    var lastFile = UI.Downloads.files.last;
  12. Understand automatic screenshot behavior in UI-licious

    UI-licious automatically captures screenshots at every command to provide visual evidence of the application state and simplify debugging.

    • General behavior: Screenshots are typically taken after a command to show the resulting state.
    • Exception (I.click()): For the I.click() command, the screenshot is taken before the click to highlight the target element. To capture the state after a click, follow the command with a non-interactive command like I.wait() or TEST.log.info().
    I.click("Login")
    
    I.wait(1) // Captures screenshot after waiting
    TEST.log.info("User is logged in") // Captures screenshot with a custom message