DEV.co
Open-Source Testing · zebrunner

carina

Carina is a Java-based test automation framework supporting web, mobile (iOS/Android), Windows, REST APIs, and database testing. It unifies multiple testing layers into a single framework built on Selenium, Appium, and TestNG, with code reuse capability between platforms.

Source: GitHub — github.com/zebrunner/carina
962
GitHub stars
222
Forks
Java
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryzebrunner/carina
Ownerzebrunner
Primary languageJava
LicenseApache-2.0 — OSI-approved
Stars962
Forks222
Open issues22
Latest release1.3.0 (2024-10-25)
Last updated2025-12-19
Sourcehttps://github.com/zebrunner/carina

What carina is

Carina integrates Selenium WebDriver, Appium, TestNG, MyBatis ORM, and Freemarker for cross-platform test automation. It provides modular components (API, DataProvider, WebDriver, Utils, Crypto) and supports parallel test execution with configurable database connectors (MySQL, PostgreSQL, Oracle, SQL Server).

Quickstart

Get the carina source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/zebrunner/carina.gitcd carina# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Multi-platform mobile testing

Projects requiring shared test code across iOS and Android (70-80% code reuse) where maintaining separate automation suites is costly. Appium integration enables native, hybrid, and web mobile app coverage.

Integrated full-stack test automation

Organizations needing API, database, web, and mobile testing in a single framework to reduce tooling complexity and improve team efficiency across test layers.

Java-based enterprise test infrastructure

Teams already using Java/TestNG ecosystems who want to standardize on a unified framework with cross-platform deployment (Unix/Windows) and enterprise DB support.

Implementation considerations

  • JDK 11+ and Maven/Gradle build environment mandatory; verify Java version compatibility in CI/CD pipelines before adoption.
  • TestNG knowledge required; non-trivial onboarding curve if team is unfamiliar with TestNG listeners, data providers, or parallel execution configuration.
  • Database integration via MyBatis requires schema knowledge and DAO layer design; not suitable for teams avoiding OR/M frameworks.
  • Modular architecture means optional dependencies (API, AWS S3, Azure, AppCenter) must be manually integrated; plan dependency management and version lock strategy.
  • Parallel execution configuration and thread safety in multi-threaded tests demand careful test design to avoid flakiness.

When to avoid it — and what to weigh

  • Non-Java technology stack — If your primary development language is Python, C#, or JavaScript, this Java-only framework introduces dependency conflicts and requires JDK 11+ operational overhead.
  • Need for out-of-the-box managed reporting — Framework does not advertise built-in test reporting/dashboards. Integration with external reporting systems (e.g., Zebrunner platform) appears optional and requires separate configuration.
  • Rapid prototyping or low-code automation — Carina requires Java expertise and framework familiarity. Lightweight/no-code tools are better suited for quick POCs or teams without strong Java QA engineering.
  • Commercial support requirement at scale — Community-driven Apache 2.0 project with no documented SLA-backed commercial support. Critical production use cases require in-house Java expertise.

License & commercial use

Apache License 2.0 (permissive OSI-approved license). Code is Apache 2.0; documentation under Creative Commons Attribution 4.0 International.

Apache 2.0 permits commercial use, modification, and distribution without license fees. No documented warranty or liability limitations beyond Apache 2.0 standard terms. Evaluate internal legal review for commercial deployment; no commercial support SLA apparent from project metadata.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitGood
Assessment confidenceHigh
Security considerations

Framework includes Carina-Crypto module for encryption/decryption utilities. No independent security audit or vulnerability disclosure policy stated in provided data. Encryption strength and compliance (e.g., FIPS) unknown. Verify cryptographic implementation against your regulatory requirements (HIPAA, PCI-DSS, GDPR) before use in sensitive data contexts.

Alternatives to consider

Robot Framework

Language-agnostic, keyword-driven approach with lower Java/code expertise barrier; better for teams seeking rapid automation without strong programming background.

TestProject

Cloud-native, no-code/low-code platform with managed infrastructure, built-in reporting, and multi-language support; preferred if managed SLA-backed support is required.

Selenium + custom Java framework

Pure Selenium+TestNG with in-house abstractions offers full control and avoids lock-in; suitable if team prefers lightweight, opinionated framework overhead.

Software development agency

Build on carina with DEV.co software developers

Review the demo project and user guide to assess framework fit. Consult your Java/TestNG team on integration effort and verify Zebrunner support options for production use.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

carina FAQ

Can I reuse test code between iOS and Android?
Yes. Carina advertises 70-80% code reuse between iOS and Android via Appium integration by separating platform-specific locators from test logic.
What Java version is required?
JDK 11 or later. No upper bound stated; verify compatibility with your target Java LTS version in production.
Is there commercial support?
Not documented in the project metadata. Community support via Telegram and GitHub issues is available. Commercial support from Zebrunner (apparent sponsor) requires external inquiry.
Can I use Carina in a CI/CD pipeline?
Yes. Maven/Gradle integration and TestNG ResultListener hooks enable CI/CD integration. Cloud device integration (Appium) requires external provisioning.

Software development & web development with DEV.co

DEV.co helps companies turn open-source tools like carina into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your open-source testing stack.

Evaluate Carina for your QA infrastructure

Review the demo project and user guide to assess framework fit. Consult your Java/TestNG team on integration effort and verify Zebrunner support options for production use.