From 8fd6f1d0e4b0e5abd0af57fe0755c15ffa1c07fa Mon Sep 17 00:00:00 2001 From: Francesco Abeni Date: Sun, 1 Nov 2015 13:09:58 +0100 Subject: [PATCH] Add environments for different resolutions --- .travis.yml | 2 +- README.md | 14 ++++++++++++++ RoboFile.php | 13 +++++++++---- tests/acceptance.suite.dist.yml | 14 +++++++++++++- 4 files changed, 37 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 85292bb..6d58410 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,4 +37,4 @@ before_script: script: - mv tests/acceptance.suite.dist.yml tests/acceptance.suite.yml -- vendor/bin/robo run:tests true +- vendor/bin/robo run:tests --use-htaccess diff --git a/README.md b/README.md index 023671f..183723c 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,20 @@ $ vendor/bin/robo $ vendor/bin/robo run:tests ``` +## Additional options + +You can run the tests against different resolutions. The default acceptance YAML configuration file provides three options: + +* "desktop": default, 1024x768px +* "tablet": tablet in portrait mode, 768x1024px +* "phone": phone in portrait mode, 480x640px + +To set a specific resolution, set is as an option of the command: + +`$ vendor/bin/robo run:tests --env=tablet` + +Note: the first parameter is used by Travis and you should always set it to "0" when you run your tests locally. + ##For Windows: You need to install: diff --git a/RoboFile.php b/RoboFile.php index 7eeac57..4cc157e 100644 --- a/RoboFile.php +++ b/RoboFile.php @@ -66,13 +66,14 @@ class RoboFile extends \Robo\Tasks /** * Executes all the Selenium System Tests in a suite on your machine * - * @param bool $use_htaccess Renames and enable embedded Joomla .htaccess file - * + * @param array $opts Array of configuration options: + * - 'use-htaccess': renames and enable embedded Joomla .htaccess file + * - 'env': set a specific environment to get configuration from * @return mixed */ - public function runTests($use_htaccess = false) + public function runTests($opts = ['use-htaccess' => false, 'env' => 'desktop']) { - $this->createTestingSite($use_htaccess); + $this->createTestingSite($opts['use-htaccess']); $this->getComposer(); @@ -87,6 +88,7 @@ class RoboFile extends \Robo\Tasks ->arg('--steps') ->arg('--debug') ->arg('--fail-fast') + ->arg('--env ' . $opts['env']) ->arg('tests/acceptance/install/') ->run() ->stopOnFail(); @@ -95,6 +97,7 @@ class RoboFile extends \Robo\Tasks ->arg('--steps') ->arg('--debug') ->arg('--fail-fast') + ->arg('--env ' . $opts['env']) ->arg('tests/acceptance/administrator/') ->run() ->stopOnFail(); @@ -103,9 +106,11 @@ class RoboFile extends \Robo\Tasks ->arg('--steps') ->arg('--debug') ->arg('--fail-fast') + ->arg('--env ' . $opts['env']) ->arg('tests/acceptance/frontend/') ->run() ->stopOnFail(); + /* // Uncomment this lines if you need to debug selenium errors $seleniumErrors = file_get_contents('selenium.log'); diff --git a/tests/acceptance.suite.dist.yml b/tests/acceptance.suite.dist.yml index fb7b6a3..127d0db 100644 --- a/tests/acceptance.suite.dist.yml +++ b/tests/acceptance.suite.dist.yml @@ -38,4 +38,16 @@ modules: AcceptanceHelper: repo_folder: '/home/travis/build/joomla-extensions/weblinks/' # Path to the Extension repository. To be used by tests to install via Install from folder counter_test_url: 'http://localhost/tests/joomla-cms3' # the url for the weblink item used to test hits counter -error_level: "E_ALL & ~E_STRICT & ~E_DEPRECATED" \ No newline at end of file +error_level: "E_ALL & ~E_STRICT & ~E_DEPRECATED" +env: + desktop: ~ + tablet: + modules: + config: + JoomlaBrowser: + window_size: 768x1024 + phone: + modules: + config: + JoomlaBrowser: + window_size: 480x640 \ No newline at end of file