From 198323773d9d51dec6876d0ac2c6349faa0c1799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lucas?= Date: Thu, 28 Nov 2013 11:45:54 +0100 Subject: [PATCH] Finally maybe it'll work. --- .travis.yml | 2 + test/Sauce.php | 136 ++++++++++++++++++++++++++++++++++++ test/config_local.php.sauce | 23 ++++++ test/prepareSauceTest.sh | 5 +- 4 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 test/Sauce.php create mode 100644 test/config_local.php.sauce diff --git a/.travis.yml b/.travis.yml index 28eb32d..bba4375 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,3 +19,5 @@ env: - secure: VVxocvmz6WYr3tZSTA42M/LUhaHoBWw5onh85hnquoMaxspd3tDCyfQIowTTmEXikRh2T0CkTH7X3dhVwRTd/Ha9isja1qDo9Lc2flGCoWICF7WFZuom084+d+O+EWx4WZMAw4Lz4w6a5xflpPKnzNs9B0+de0BdTlQ5qSXVrcA= addons: sauce_connect: true + hosts: + - cops-travis diff --git a/test/Sauce.php b/test/Sauce.php new file mode 100644 index 0000000..2833d4f --- /dev/null +++ b/test/Sauce.php @@ -0,0 +1,136 @@ + 'firefox', + // 'desiredCapabilities' => array( + // 'version' => '15', + // 'platform' => 'Windows 2012', + // ) + // ), + // // run IE9 on Windows 7 on Sauce + // array( + // 'browserName' => 'internet explorer', + // 'desiredCapabilities' => array( + // 'version' => '9', + // 'platform' => 'Windows 7', + // ) + // ), + // // run IE10 on Windows 8 on Sauce + // array( + // 'browserName' => 'internet explorer', + // 'desiredCapabilities' => array( + // 'version' => '10', + // 'platform' => 'Windows 8', + // ) + // ), + // // run Opera 12 on Windows 7 on Sauce + // array( + // 'browserName' => 'opera', + // 'desiredCapabilities' => array( + // 'version' => '12', + // 'platform' => 'Windows 7', + // ) + // ), + // // run Mobile Safari on iOS + // array( + // 'browserName' => '', + // 'desiredCapabilities' => array( + // 'app' => 'safari', + // 'device' => 'iPhone Simulator', + // 'version' => '6.1', + // 'platform' => 'Mac 10.8', + // ) + // ), + // run Chrome on Linux on Sauce + array( + 'browserName' => 'chrome', + 'desiredCapabilities' => array( + 'version' => '30', + 'platform' => 'Linux' + ) + ) + // run Mobile Browser on Android + // array( + // 'browserName' => 'Android', + // 'desiredCapabilities' => array( + // 'version' => '4.0', + // 'platform' => 'Linux', + // ) + // ) + + // run Chrome locally + //array( + //'browserName' => 'chrome', + //'local' => true, + //'sessionStrategy' => 'shared' + //) + ); + + public function setUp() + { + $caps = $this->getDesiredCapabilities(); + $caps['build'] = getenv ("TRAVIS_JOB_NUMBER"); + $caps['tunnel-identifier'] = getenv ("TRAVIS_JOB_NUMBER"); + $caps['name'] = "COPS "; + $this->setDesiredCapabilities($caps); + parent::setUp (); + } + + public function setUpPage() + { + $this->url('http://cops-travis:8888/index.php'); + } + + public function string_to_ascii($string) + { + $ascii = NULL; + + for ($i = 0; $i < strlen($string); $i++) + { + $ascii += ord($string[$i]); + } + + return mb_detect_encoding($string) . "X" . $ascii; + } + + public function testTitle() + { + $driver = $this; + $title_test = function($value) use ($driver) { + $text = $driver->byXPath('//h1')->text (); + return $text == $value; + }; + + $this->spinAssert("Home Title", $title_test, [ "COPS DEMO" ]); + + $author = $this->byXPath ('//h2[contains(text(), "Authors")]'); + $author->click (); + + $this->spinAssert("Author Title", $title_test, [ "AUTHORS" ]); + + $cog = $this->byId ("searchImage"); + // try { + // $search = $this->byName ("query"); + // $this->fail (); + // } + // catch (Exception $e) { + // } + + $search = $this->byName ("query"); + $this->assertFalse ($search->displayed ()); + + $cog->click (); + //$this->implicitWait(2000); + + $search = $this->byName ("query"); + $this->assertTrue ($search->displayed ()); + } +} diff --git a/test/config_local.php.sauce b/test/config_local.php.sauce new file mode 100644 index 0000000..bcc7c6d --- /dev/null +++ b/test/config_local.php.sauce @@ -0,0 +1,23 @@ + /dev/null & +vendor/bin/phpunit Sauce.php \ No newline at end of file