![]() |
VOOZH | about |
This guide provides a step-by-step onboarding process for engineers to set up the Ocaramba framework locally. It covers repository initialization, dependency management, framework selection, and the configuration required to run your first automated test.
To begin working with Ocaramba, clone the repository and restore the necessary dependencies. The framework is built on .NET 8.0 and supports cross-platform execution on Windows, Linux, and macOS README.md5-22
packages.lock.json) to ensure environment consistency Ocaramba/Ocaramba.csproj64-65 Ocaramba/packages.lock.json1-2
The framework relies on several core libraries for its functionality, including Selenium WebDriver, Appium for mobile support, and NLog for diagnostics Ocaramba/Ocaramba.csproj31-35
Core Dependency Flow
Sources: Ocaramba/Ocaramba.csproj31-55 OcarambaLite/OcarambaLite.csproj29-47
The framework is split into two primary projects to provide flexibility in how drivers are managed.
| Project | Purpose | Key Characteristics |
|---|---|---|
| OcarambaLite | Foundational layer | Light version without bundled selenium drivers. Ideal for custom driver management or CI environments where drivers are pre-installed OcarambaLite/OcarambaLite.csproj6 |
| Ocaramba | Full framework | Extends OcarambaLite and includes standard drivers like Selenium.WebDriver.ChromeDriver and Selenium.WebDriver.GeckoDriver out of the box Ocaramba/Ocaramba.csproj36-55 |
Sources: Ocaramba/Ocaramba.csproj1-66 OcarambaLite/OcarambaLite.csproj1-63
Ocaramba uses Microsoft.Extensions.Configuration to manage test settings. The primary configuration file is appsettings.json, which contains the default execution parameters Ocaramba.Tests.NUnit/appsettings.json1-57
browser (e.g., Chrome, Firefox), host, and timeouts such as longTimeout (30s) or mediumTimeout (10s) Ocaramba.Tests.NUnit/appsettings.json2-23ChromeArguments, FirefoxArguments, or EdgeChromiumArguments allow passing flags such as --headless or disabling password bubbles Ocaramba.Tests.NUnit/appsettings.json41-56ScreenShotFolder, PageSourceFolder, and flags like SeleniumScreenShotEnabled control what is captured during test failures Ocaramba.Tests.NUnit/appsettings.json28-32Configuration and Driver Initialization
Sources: Ocaramba.Tests.NUnit/appsettings.json1-57 Ocaramba/Ocaramba.csproj46-47
Ocaramba provides example projects for NUnit, MsTest, and xUnit README.md52-59 To run a test locally, follow these steps:
Ocaramba.Tests.NUnit.appsettings.json and ensure the browser key is set to your preferred local browser (e.g., Chrome) Ocaramba.Tests.NUnit/appsettings.json5A standard test inherits from ProjectTestBase, which manages the DriverContext lifecycle. Page Objects inherit from ProjectPageBase to access the driver instance via the DriverContext property README.md68-107
Natural Language to Code Entity Mapping
Example Test Implementation
Sources: README.md68-107
Ocaramba.csproj (e.g., Selenium.WebDriver.ChromeDriver) is compatible with your installed browser version Ocaramba/Ocaramba.csproj36-37PathToChromeDriverDirectory in appsettings.json Ocaramba.Tests.NUnit/appsettings.json7TestOutput folder (configured via DownloadFolder and ScreenShotFolder) for NLog files and screenshots if a test fails Ocaramba.Tests.NUnit/appsettings.json23-30Sources: Ocaramba.Tests.NUnit/appsettings.json1-57 Ocaramba/Ocaramba.csproj36-37