/** * Run entire test suite of scenarios * * @throws Magento_Exception */ public function run() { $scenarios = $this->_getOptimizedScenarioList(); foreach ($scenarios as $scenarioFile) { $scenarioArguments = $this->_config->getScenarioArguments($scenarioFile); $scenarioSettings = $this->_config->getScenarioSettings($scenarioFile); $scenarioFixtures = $this->_config->getScenarioFixtures($scenarioFile); $this->_application->applyFixtures($scenarioFixtures); /* warm up cache, if any */ if (empty($scenarioSettings[self::SETTING_SKIP_WARM_UP])) { $warmUpArgs = new Magento_Performance_Scenario_Arguments($this->_warmUpArguments + (array) $scenarioArguments); $this->_scenarioHandler->run($scenarioFile, $warmUpArgs); } /* full run with reports recording */ $scenarioName = preg_replace('/\\..+?$/', '', basename($scenarioFile)); $reportFile = $this->_config->getReportDir() . DIRECTORY_SEPARATOR . $scenarioName . '.jtl'; if (!$this->_scenarioHandler->run($scenarioFile, $scenarioArguments, $reportFile)) { throw new Magento_Exception("Unable to run scenario '{$scenarioFile}', format is not supported."); } } }
/** * @dataProvider getScenarioSettingsDataProvider * * @param string $scenarioName * @param array $expectedResult */ public function testGetScenarioSettings($scenarioName, array $expectedResult) { $scenarioFile = __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . $scenarioName; $actualResult = $this->_object->getScenarioSettings($scenarioFile); $this->assertEquals($expectedResult, $actualResult); }