Menta Documentation
Getting started
Setting up a test folder structure
Bootstrapping and Autoloading
Testcases
Configuration handling
default.xml vs. phpunit xml configuration, (*1)
Components
Organization of components
Project specific components
Component library (plattform specific, agency specific)
Rewrite mechanism to refine/override, (*2)
Rewrites
Translations using __()
Helpers
Menta_Component_Helper_Common
Menta_Component_Helper_Assert
Menta_Component_Helper_Wait
Menta_Component_Helper_Screenshot
Event/Observers
Configurations
Session management
Reuse browser sessions
Setting up the session
Screenshots
PHPUnit
Base classes
Selenium1 extends Selenium2 extends PHPUnit, (*3)
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
Integration in Jenkins
Text Result
Sauce Labs
Running on 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();
}
, (*4)