PHPackages                             aoepeople/menta - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. aoepeople/menta

ActiveLibrary

aoepeople/menta
===============

Selenium 2 Testing Framework (for PHPUnit)

168325PHP

Since Apr 8Pushed 10y ago41 watchersCompare

[ Source](https://github.com/AOEpeople/Menta)[ Packagist](https://packagist.org/packages/aoepeople/menta)[ RSS](/packages/aoepeople-menta/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (3)Used By (0)

Menta Documentation
===================

[](#menta-documentation)

Getting started
---------------

[](#getting-started)

Setting up a test folder structure
----------------------------------

[](#setting-up-a-test-folder-structure)

### Bootstrapping and Autoloading

[](#bootstrapping-and-autoloading)

Testcases
---------

[](#testcases)

Configuration handling
----------------------

[](#configuration-handling)

default.xml vs. phpunit xml configuration

Components
----------

[](#components)

### Organization of components

[](#organization-of-components)

Project specific components Component library (plattform specific, agency specific) Rewrite mechanism to refine/override

### Rewrites

[](#rewrites)

### Translations using \_\_()

[](#translations-using-__)

Helpers
-------

[](#helpers)

### Menta\_Component\_Helper\_Common

[](#menta_component_helper_common)

### Menta\_Component\_Helper\_Assert

[](#menta_component_helper_assert)

### Menta\_Component\_Helper\_Wait

[](#menta_component_helper_wait)

### Menta\_Component\_Helper\_Screenshot

[](#menta_component_helper_screenshot)

Event/Observers
---------------

[](#eventobservers)

Configurations
--------------

[](#configurations)

Session management
------------------

[](#session-management)

### Reuse browser sessions

[](#reuse-browser-sessions)

### Setting up the session

[](#setting-up-the-session)

Screenshots
-----------

[](#screenshots)

PHPUnit
-------

[](#phpunit)

### Base classes

[](#base-classes)

Selenium1 extends Selenium2 extends PHPUnit

### Running Tests

[](#running-tests)

```
cd /var/www
git clone --recursive git@git.aoesupport.com:users/fabrizio.branca/TestSkeleton.git

cd /var/www/TestSkeleton
./composer.phar install

cd /var/www/TestSkeleton/Tests
mkdir -p ../../build/reports

# Run single test
../vendor/bin/phpunit -c ../conf/devfb.ff.vmhost.xml General/ScreenshotsTest.php

# Run all tests
../vendor/bin/phpunit -c ../conf/devfb.ff.vmhost.xml ../vendor/aoemedia/menta/lib/Menta/Util/CreateTestSuite.php

# Report will be in /var/www/build/reports

```

### HTML Report

[](#html-report)

### Integration in Jenkins

[](#integration-in-jenkins)

### Text Result

[](#text-result)

Sauce Labs
----------

[](#sauce-labs)

### Running on Sauce Labs

[](#running-on-sauce-labs)

### Reporting test results to Sauce Labs

[](#reporting-test-results-to-sauce-labs)

```
/**
 * Will send the test result to sauce labs in case we're running tests there
 *
 * @return void
 */
protected function tearDown() {

	$sauceUserId = $this->getConfiguration()->getValue('testing.sauce.userId');
	$sauceAccessKey = $this->getConfiguration()->getValue('testing.sauce.accessKey');

	if (!empty($sauceUserId) && !empty($sauceAccessKey) && Menta_SessionManager::activeSessionExists()) {
		$status = $this->getStatus();
		$passed = !($status == PHPUnit_Runner_BaseTestRunner::STATUS_ERROR || $status == PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE);
		$rest = new WebDriver\SauceLabs\SauceRest($sauceUserId, $sauceAccessKey);
		$rest->updateJob(Menta_SessionManager::getSessionId(), array(WebDriver\SauceLabs\Capability::PASSED => $passed));
	}

	parent::tearDown();
}

```

[![Alt text](Documentation/aoemedia-new_rgb_72dpi.jpg)](Documentation/aoemedia-new_rgb_72dpi.jpg)

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/a7c128588934775b07942f0a35a325d72cb06acb975f4527e20b4a20ded97d18?d=identicon)[fbrnc](/maintainers/fbrnc)

---

Top Contributors

[![fbrnc](https://avatars.githubusercontent.com/u/468820?v=4)](https://github.com/fbrnc "fbrnc (20 commits)")[![tmotyl](https://avatars.githubusercontent.com/u/515397?v=4)](https://github.com/tmotyl "tmotyl (14 commits)")[![Zyava](https://avatars.githubusercontent.com/u/957560?v=4)](https://github.com/Zyava "Zyava (4 commits)")[![danielpoe](https://avatars.githubusercontent.com/u/567606?v=4)](https://github.com/danielpoe "danielpoe (2 commits)")[![LeeSaferite](https://avatars.githubusercontent.com/u/47386?v=4)](https://github.com/LeeSaferite "LeeSaferite (2 commits)")[![ajung](https://avatars.githubusercontent.com/u/66414?v=4)](https://github.com/ajung "ajung (1 commits)")

### Embed Badge

![Health badge](/badges/aoepeople-menta/health.svg)

```
[![Health](https://phpackages.com/badges/aoepeople-menta/health.svg)](https://phpackages.com/packages/aoepeople-menta)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
