Skip to content

Commit aa11745

Browse files
Ankit098francisf
authored andcommitted
fix: deps, update vonfig and tests
1 parent 05fd1e0 commit aa11745

11 files changed

+95
-83
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ composer.phar
33
local.log
44
vendor/
55
bin/
6+
.DS_Store

composer.json

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
{
22
"require": {
33
"browserstack/browserstack-local": "dev-master",
4-
"phpunit/phpunit-selenium": "*",
5-
"facebook/webdriver": "dev-master"
4+
"phpunit/phpunit-selenium": "9.0.1",
5+
"php-webdriver/webdriver": "1.14.0"
66
},
77
"scripts": {
8-
"test": "composer single && composer local && composer parallel",
9-
"single": "vendor/bin/phpunit tests/single_test.php",
10-
"local": "CONFIG_FILE=config/local.conf.json vendor/bin/phpunit tests/local_test.php",
8+
"single": "CONFIG_FILE=config/single.conf.json vendor/bin/phpunit tests/SingleTest.php",
9+
"local": "CONFIG_FILE=config/local.conf.json vendor/bin/phpunit tests/LocalTest.php",
1110
"parallel": "CONFIG_FILE=config/parallel.conf.json /usr/bin/env php lib/parallel.php"
1211
},
1312
"autoload": {

config/local.conf.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
{
2-
"server": "hub-cloud.browserstack.com",
32
"user": "BROWSERSTACK_USERNAME",
43
"key": "BROWSERSTACK_ACCESS_KEY",
54

6-
"capabilities": {
7-
"build": "phpunit-browserstack",
8-
"name": "local_test",
9-
"browserstack.debug": true,
10-
"browserstack.local": true
11-
},
12-
13-
"environments": [{
14-
"browser": "chrome"
5+
"capabilities": [{
6+
"browserName": "chrome",
7+
"browserVersion": "latest",
8+
"bstack:options": {
9+
"os": "OS X",
10+
"osVersion": "Monterey",
11+
"buildName": "browserstack-build-1",
12+
"sessionName": "BStack phpunit local",
13+
"local": true
14+
}
1515
}]
1616
}

config/parallel.conf.json

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,32 @@
11
{
2-
"server": "hub-cloud.browserstack.com",
32
"user": "BROWSERSTACK_USERNAME",
43
"key": "BROWSERSTACK_ACCESS_KEY",
54

6-
"capabilities": {
7-
"build": "phpunit-browserstack",
8-
"name": "parallel_test",
9-
"browserstack.debug": true
10-
},
11-
12-
"environments": [{
13-
"browser": "chrome"
14-
},{
15-
"browser": "firefox"
16-
},{
17-
"browser": "safari"
18-
},{
19-
"browser": "internet explorer"
5+
"capabilities": [{
6+
"browserName": "chrome",
7+
"browserVersion": "latest",
8+
"bstack:options": {
9+
"os": "OS X",
10+
"osVersion": "Monterey",
11+
"buildName": "browserstack-build-1",
12+
"sessionName": "BStack phpunit parallel chrome"
13+
}
14+
}, {
15+
"browserName": "edge",
16+
"browserVersion": "latest",
17+
"bstack:options": {
18+
"os": "Windows",
19+
"osVersion": "11",
20+
"buildName": "browserstack-build-1",
21+
"sessionName": "BStack phpunit parallel edge"
22+
}
23+
}, {
24+
"browserName": "chrome",
25+
"bstack:options": {
26+
"osVersion": "12.0",
27+
"deviceName": "Samsung Galaxy S22 Ultra",
28+
"buildName": "browserstack-build-1",
29+
"sessionName": "BStack phpunit parallel android"
30+
}
2031
}]
2132
}

config/single.conf.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
{
2-
"server": "hub-cloud.browserstack.com",
32
"user": "BROWSERSTACK_USERNAME",
43
"key": "BROWSERSTACK_ACCESS_KEY",
54

6-
"capabilities": {
7-
"build": "phpunit-browserstack",
8-
"name": "single_test",
9-
"browserstack.debug": true
10-
},
11-
12-
"environments": [{
13-
"browser": "chrome"
5+
"capabilities": [{
6+
"browserName": "chrome",
7+
"browserVersion": "latest",
8+
"bstack:options": {
9+
"os": "OS X",
10+
"osVersion": "Monterey",
11+
"buildName": "browserstack-build-1",
12+
"sessionName": "BStack phpunit sample test"
13+
}
1414
}]
1515
}

lib/BrowserStackTest.php

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,40 @@
11
<?php
2+
require_once('vendor/autoload.php');
3+
require_once('lib/globals.php');
24

3-
require 'vendor/autoload.php';
4-
require 'lib/globals.php';
5+
use Facebook\WebDriver\Remote\RemoteWebDriver;
56

6-
class BrowserStackTest extends PHPUnit\Framework\TestCase
7-
{
7+
class BrowserStackTest extends PHPUnit\Framework\TestCase {
88
protected static $driver;
99
protected static $bs_local;
1010

11-
public static function setUpBeforeClass()
12-
{
11+
public static function setUpBeforeClass(): void {
1312
$CONFIG = $GLOBALS['CONFIG'];
1413
$task_id = getenv('TASK_ID') ? getenv('TASK_ID') : 0;
1514

16-
$url = "https://" . $GLOBALS['BROWSERSTACK_USERNAME'] . ":" . $GLOBALS['BROWSERSTACK_ACCESS_KEY'] . "@" . $CONFIG['server'] ."/wd/hub";
17-
$caps = $CONFIG['environments'][$task_id];
15+
$url = "https://{$GLOBALS['BROWSERSTACK_USERNAME']}:{$GLOBALS['BROWSERSTACK_ACCESS_KEY']}@hub.browserstack.com/wd/hub";
16+
$caps = $CONFIG['capabilities'][$task_id];
1817

19-
foreach ($CONFIG["capabilities"] as $key => $value) {
20-
if(!array_key_exists($key, $caps))
21-
$caps[$key] = $value;
22-
}
23-
24-
if(array_key_exists("browserstack.local", $caps) && $caps["browserstack.local"])
18+
if(array_key_exists("local", $caps["bstack:options"]) && $caps["bstack:options"])
2519
{
2620
$bs_local_args = array("key" => $GLOBALS['BROWSERSTACK_ACCESS_KEY']);
2721
self::$bs_local = new BrowserStack\Local();
22+
print("Starting Local Binary...\n");
2823
self::$bs_local->start($bs_local_args);
24+
if (self::$bs_local->isRunning()) {
25+
print("Local binary successfuly started!\n");
26+
}
2927
}
3028

3129
self::$driver = RemoteWebDriver::create($url, $caps);
3230
}
3331

34-
public static function tearDownAfterClass()
35-
{
32+
public static function tearDownAfterClass(): void {
3633
self::$driver->quit();
37-
if(self::$bs_local) self::$bs_local->stop();
34+
if(self::$bs_local) {
35+
print("Stopping local binary..\n");
36+
self::$bs_local->stop();
37+
}
3838
}
3939
}
4040
?>

lib/globals.php

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
11
<?php
2-
32
$config_file = getenv('CONFIG_FILE');
4-
if(!$config_file) $config_file = 'config/single.conf.json';
3+
if (!$config_file) {
4+
$config_file = 'config/single.conf.json';
5+
}
56
$GLOBALS['CONFIG'] = json_decode(file_get_contents($config_file), true);
67

8+
// get credentials from env variable
79
$GLOBALS['BROWSERSTACK_USERNAME'] = getenv('BROWSERSTACK_USERNAME');
8-
if(!$GLOBALS['BROWSERSTACK_USERNAME']) $GLOBALS['BROWSERSTACK_USERNAME'] = $GLOBALS['CONFIG']['user'];
9-
1010
$GLOBALS['BROWSERSTACK_ACCESS_KEY'] = getenv('BROWSERSTACK_ACCESS_KEY');
11-
if(!$GLOBALS['BROWSERSTACK_ACCESS_KEY']) $GLOBALS['BROWSERSTACK_ACCESS_KEY'] = $GLOBALS['CONFIG']['key'];
1211

12+
// if env variables not set, get from config file
13+
if (!$GLOBALS['BROWSERSTACK_USERNAME']) {
14+
$GLOBALS['BROWSERSTACK_USERNAME'] = $GLOBALS['CONFIG']['user'];
15+
}
16+
if (!$GLOBALS['BROWSERSTACK_ACCESS_KEY']) {
17+
$GLOBALS['BROWSERSTACK_ACCESS_KEY'] = $GLOBALS['CONFIG']['key'];
18+
}
1319
?>

lib/parallel.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<?php
22

3-
require 'vendor/autoload.php';
4-
require 'lib/globals.php';
3+
require_once('vendor/autoload.php');
4+
require_once('lib/globals.php');
55

66
$CONFIG = $GLOBALS['CONFIG'];
77
$procs = array();
88

9-
foreach ($CONFIG['environments'] as $key => $value) {
10-
$cmd = "TASK_ID=$key vendor/bin/phpunit tests/single_test.php 2>&1\n";
9+
foreach ($CONFIG['capabilities'] as $key => $value) {
10+
$cmd = "TASK_ID=$key vendor/bin/phpunit tests/SingleTest.php 2>&1\n";
1111
print_r($cmd);
1212

1313
$procs[$key] = popen($cmd, "r");

tests/LocalTest.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
require_once('vendor/autoload.php');
3+
4+
class LocalTest extends BrowserStackTest {
5+
public function testLocal() {
6+
self::$driver->get("http://bs-local.com:45454");
7+
$this->assertStringContainsString('BrowserStack Local', self::$driver->getTitle());
8+
}
9+
}
10+
?>
Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
<?php
2-
require 'vendor/autoload.php';
2+
require_once('vendor/autoload.php');
3+
4+
use Facebook\WebDriver\WebDriverBy;
35

46
class SingleTest extends BrowserStackTest {
57

@@ -8,12 +10,7 @@ public function testGoogle() {
810
$element = self::$driver->findElement(WebDriverBy::name("q"));
911
$element->sendKeys("BrowserStack");
1012
$element->submit();
11-
self::$driver->wait(10, 500)->until(function($driver) {
12-
$elements = $driver->findElements(WebDriverBy::id("resultStats"));
13-
return count($elements) > 0;
14-
});
1513
$this->assertEquals('BrowserStack - Google Search', self::$driver->getTitle());
1614
}
17-
1815
}
1916
?>

tests/local_test.php

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)