Skip to content

Commit 8ceca86

Browse files
authored
Merge branch 'CD-develop' into issue-54
2 parents d098325 + 2109b0d commit 8ceca86

File tree

64 files changed

+947
-214
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+947
-214
lines changed

.env.example

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
MAGENTO_BASE_URL=http://devdocs.magento.com/
66

77
#*** Set the Admin Username and Password for your Magento instance ***#
8-
MAGENTO_BACKEND_NAME=
9-
MAGENTO_ADMIN_USERNAME=
10-
MAGENTO_ADMIN_PASSWORD=
8+
MAGENTO_BACKEND_NAME=admin
9+
MAGENTO_ADMIN_USERNAME=admin
10+
MAGENTO_ADMIN_PASSWORD=123123q
1111

1212
#*** Path to CLI entry point and command parameter name. Uncomment and change if folder structure differs from standard Magento installation
1313
#MAGENTO_CLI_COMMAND_PATH=dev/tests/acceptance/utils/command.php
@@ -19,6 +19,9 @@ MAGENTO_ADMIN_PASSWORD=
1919
#SELENIUM_PROTOCOL=http
2020
#SELENIUM_PATH=/wd/hub
2121

22+
#*** Browser for running tests, default chrome. Uncomment and change if you want to run tests on another browser (ex. firefox).
23+
BROWSER=chrome
24+
2225
#*** Uncomment and set host & port if your dev environment needs different value other than MAGENTO_BASE_URL for Rest API Requests ***#
2326
#MAGENTO_RESTAPI_SERVER_HOST=
2427
#MAGENTO_RESTAPI_SERVER_PORT=

RoboFile.php

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,28 +33,52 @@ function cloneFiles()
3333
*/
3434
function buildProject()
3535
{
36+
$this->writeln("<error>This command will be removed in MFTF v3.0.0. Please use bin/mftf build:project instead.</error>\n");
3637
$this->cloneFiles();
3738
$this->_exec('vendor'. DIRECTORY_SEPARATOR .'bin'. DIRECTORY_SEPARATOR .'codecept build');
3839
}
3940

4041
/**
4142
* Generate all Tests in PHP.
4243
*
44+
* @param array $tests
4345
* @param array $opts
4446
* @return void
4547
*/
46-
function generateTests($opts = ['config' => null, 'force' => true, 'nodes' => null])
48+
function generateTests(array $tests, $opts = ['config' => null, 'force' => true, 'nodes' => null, 'debug' => false])
4749
{
50+
require 'dev' . DIRECTORY_SEPARATOR . 'tests'. DIRECTORY_SEPARATOR . 'functional' . DIRECTORY_SEPARATOR . '_bootstrap.php';
4851
$GLOBALS['GENERATE_TESTS'] = true;
49-
50-
if ($opts['force'])
51-
{
52+
if (!$this->isProjectBuilt()) {
53+
$this->say("<info>Please run bin/mftf build:project and configure your environment (.env) first.</info>");
54+
exit(\Robo\Result::EXITCODE_ERROR);
55+
}
56+
$testsObjects = [];
57+
foreach ($tests as $test) {
58+
$testsObjects[] = Magento\FunctionalTestingFramework\Test\Handlers\TestObjectHandler::getInstance()->getObject($test);
59+
}
60+
if ($opts['force']) {
5261
$GLOBALS['FORCE_PHP_GENERATE'] = true;
5362
}
63+
$testsReferencedInSuites = \Magento\FunctionalTestingFramework\Suite\SuiteGenerator::getInstance()->generateAllSuites($opts['config']);
64+
\Magento\FunctionalTestingFramework\Util\TestGenerator::getInstance(null, $testsObjects, $opts['debug'])->createAllTestFiles($opts['config'], $opts['nodes'], $testsReferencedInSuites);
65+
$this->say("<comment>Generate Tests Command Run</comment>");
66+
}
5467

55-
require 'dev' . DIRECTORY_SEPARATOR . 'tests'. DIRECTORY_SEPARATOR . 'functional' . DIRECTORY_SEPARATOR . '_bootstrap.php';
56-
\Magento\FunctionalTestingFramework\Util\TestGenerator::getInstance()->createAllTestFiles($opts['config'], $opts['nodes']);
57-
$this->say("Generate Tests Command Run");
68+
/**
69+
* Check if MFTF has been properly configured
70+
* @return bool
71+
*/
72+
private function isProjectBuilt()
73+
{
74+
$actorFile = __DIR__ . DIRECTORY_SEPARATOR . 'src' . DIRECTORY_SEPARATOR . 'Magento' . DIRECTORY_SEPARATOR . 'FunctionalTestingFramework' . DIRECTORY_SEPARATOR . '_generated' . DIRECTORY_SEPARATOR . 'AcceptanceTesterActions.php';
75+
76+
$login = !empty(getenv('MAGENTO_ADMIN_USERNAME'));
77+
$password = !empty(getenv('MAGENTO_ADMIN_PASSWORD'));
78+
$baseUrl = !empty(getenv('MAGENTO_BASE_URL'));
79+
$backendName = !empty(getenv('MAGENTO_BACKEND_NAME'));
80+
$test = (file_exists($actorFile) && $login && $password && $baseUrl && $backendName);
81+
return $test;
5882
}
5983

6084
/**
@@ -79,13 +103,13 @@ function generateSuite(array $args)
79103
}
80104

81105
/**
82-
* Run all Functional tests.
106+
* Run all MFTF tests.
83107
*
84108
* @return void
85109
*/
86-
function functional()
110+
function mftf()
87111
{
88-
$this->_exec('.' . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'bin' . DIRECTORY_SEPARATOR . 'codecept run functional --skip-group skip');
112+
$this->_exec('.' . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'bin' . DIRECTORY_SEPARATOR . 'codecept run MFTF --skip-group skip');
89113
}
90114

91115
/**

bin/mftf

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#!/usr/bin/env php
2+
3+
<?php
4+
/**
5+
* Copyright © Magento, Inc. All rights reserved.
6+
* See COPYING.txt for license details.
7+
*/
8+
9+
if (PHP_SAPI !== 'cli') {
10+
echo 'bin/mftf must be run as a CLI application';
11+
exit(1);
12+
}
13+
14+
try {
15+
require_once __DIR__ . '/../bootstrap.php';
16+
$application = new Symfony\Component\Console\Application();
17+
$application->setName('Magento Functional Testing Framework CLI');
18+
$application->setVersion('1.0.0');
19+
$application->add(new Magento\FunctionalTestingFramework\Console\SetupEnvCommand());
20+
$application->add(new Magento\FunctionalTestingFramework\Console\BuildProjectCommand());
21+
$application->run();
22+
} catch (\Exception $e) {
23+
while ($e) {
24+
echo $e->getMessage();
25+
echo $e->getTraceAsString();
26+
echo "\n\n";
27+
$e = $e->getPrevious();
28+
}
29+
exit(1);
30+
}

bootstrap.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
require_once 'vendor/autoload.php';
8+
define('BP', __DIR__);

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,6 @@
5151
"hooks": {
5252
"pre-push": "bin/all-checks"
5353
}
54-
}
54+
},
55+
"bin": ["bin/mftf"]
5556
}

dev/tests/functional/MFTF.suite.dist.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ modules:
2020
\Magento\FunctionalTestingFramework\Module\MagentoWebDriver:
2121
url: "%MAGENTO_BASE_URL%"
2222
backend_name: "%MAGENTO_BACKEND_NAME%"
23-
browser: 'chrome'
23+
browser: '%BROWSER%'
2424
window_size: maximize
2525
username: "%MAGENTO_ADMIN_USERNAME%"
2626
password: "%MAGENTO_ADMIN_PASSWORD%"

dev/tests/verification/Resources/ActionGroupWithDataOverrideTest.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;
@@ -57,7 +57,6 @@ class ActionGroupWithDataOverrideTestCest
5757
public function _failed(AcceptanceTester $I)
5858
{
5959
$I->saveScreenshot();
60-
$this->_after($I);
6160
}
6261

6362
/**

dev/tests/verification/Resources/ActionGroupWithDataTest.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;
@@ -57,7 +57,6 @@ class ActionGroupWithDataTestCest
5757
public function _failed(AcceptanceTester $I)
5858
{
5959
$I->saveScreenshot();
60-
$this->_after($I);
6160
}
6261

6362
/**

dev/tests/verification/Resources/ActionGroupWithDefaultArgumentAndStringSelectorParam.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;

dev/tests/verification/Resources/ActionGroupWithMultipleParameterSelectorsFromDefaultArgument.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;

dev/tests/verification/Resources/ActionGroupWithNoArguments.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;

dev/tests/verification/Resources/ActionGroupWithNoDefaultTest.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;
@@ -57,7 +57,6 @@ class ActionGroupWithNoDefaultTestCest
5757
public function _failed(AcceptanceTester $I)
5858
{
5959
$I->saveScreenshot();
60-
$this->_after($I);
6160
}
6261

6362
/**

dev/tests/verification/Resources/ActionGroupWithPassedArgumentAndStringSelectorParam.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;

dev/tests/verification/Resources/ActionGroupWithPersistedData.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;
@@ -57,7 +57,6 @@ class ActionGroupWithPersistedDataCest
5757
public function _failed(AcceptanceTester $I)
5858
{
5959
$I->saveScreenshot();
60-
$this->_after($I);
6160
}
6261

6362
/**

dev/tests/verification/Resources/ActionGroupWithSimpleDataUsageFromDefaultArgument.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;

dev/tests/verification/Resources/ActionGroupWithSimpleDataUsageFromPassedArgument.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;

dev/tests/verification/Resources/ActionGroupWithSingleParameterSelectorFromDefaultArgument.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;

dev/tests/verification/Resources/ActionGroupWithSingleParameterSelectorFromPassedArgument.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;

dev/tests/verification/Resources/ActionGroupWithStepKeyReferences.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;

dev/tests/verification/Resources/ActionGroupWithTopLevelPersistedData.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;
@@ -57,7 +57,6 @@ class ActionGroupWithTopLevelPersistedDataCest
5757
public function _failed(AcceptanceTester $I)
5858
{
5959
$I->saveScreenshot();
60-
$this->_after($I);
6160
}
6261

6362
/**

dev/tests/verification/Resources/ArgumentWithSameNameAsElement.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;
@@ -57,7 +57,6 @@ class ArgumentWithSameNameAsElementCest
5757
public function _failed(AcceptanceTester $I)
5858
{
5959
$I->saveScreenshot();
60-
$this->_after($I);
6160
}
6261

6362
/**

dev/tests/verification/Resources/AssertTest.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;

dev/tests/verification/Resources/BasicActionGroupTest.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;

dev/tests/verification/Resources/BasicFunctionalTest.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;
@@ -46,7 +46,6 @@ class BasicFunctionalTestCest
4646
public function _failed(AcceptanceTester $I)
4747
{
4848
$I->saveScreenshot();
49-
$this->_after($I);
5049
}
5150

5251
/**
@@ -60,6 +59,8 @@ class BasicFunctionalTestCest
6059
*/
6160
public function BasicFunctionalTest(AcceptanceTester $I)
6261
{
62+
$I->comment("");
63+
$I->comment("");
6364
$someVarDefinition = $I->grabValueFrom();
6465
$I->acceptPopup();
6566
$I->amOnPage("/test/url");
@@ -70,6 +71,8 @@ class BasicFunctionalTestCest
7071
$I->click(".functionalTestSelector");
7172
$I->clickWithLeftButton(".functionalTestSelector");
7273
$I->clickWithRightButton(".functionalTestSelector");
74+
$I->clickWithLeftButton("#element#element .200", 200, 300);
75+
$I->clickWithRightButton("#element .4123#element", 200, 300);
7376
$I->closeTab();
7477
$I->conditionalClick(".functionalTestSelector", ".functionalDependentTestSelector", true);
7578
$I->dontSee("someInput", ".functionalTestSelector");

dev/tests/verification/Resources/BasicMergeTest.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;
@@ -48,7 +48,6 @@ class BasicMergeTestCest
4848
public function _failed(AcceptanceTester $I)
4949
{
5050
$I->saveScreenshot();
51-
$this->_after($I);
5251
}
5352

5453
/**

dev/tests/verification/Resources/CharacterReplacementTest.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;

dev/tests/verification/Resources/DataReplacementTest.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Magento\AcceptanceTest\_generated\Backend;
2+
namespace Magento\AcceptanceTest\_default\Backend;
33

44
use Magento\FunctionalTestingFramework\AcceptanceTester;
55
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;

0 commit comments

Comments
 (0)