@@ -47,21 +47,34 @@ protected function methods()
4747 */
4848 public function session ($ requiredCapabilities = Browser::FIREFOX , $ desiredCapabilities = array ())
4949 {
50- // for backwards compatibility when the only required capability was browser name
51- if (! is_array ($ requiredCapabilities )) {
52- $ desiredCapabilities [Capability::BROWSER_NAME ] = $ requiredCapabilities ?: Browser::FIREFOX ;
50+ if ($ this ->legacy ) {
51+ // for backwards compatibility when the only required capability was browser name
52+ if (! is_array ($ requiredCapabilities )) {
53+ $ desiredCapabilities [Capability::BROWSER_NAME ] = $ requiredCapabilities ?: Browser::FIREFOX ;
5354
54- $ requiredCapabilities = array ();
55- }
55+ $ requiredCapabilities = array ();
56+ }
5657
57- // required
58- $ parameters = array (
59- 'desiredCapabilities ' => array_merge ($ desiredCapabilities , $ requiredCapabilities )
60- );
58+ // required
59+ $ parameters = array (
60+ 'desiredCapabilities ' => array_merge ($ desiredCapabilities , $ requiredCapabilities )
61+ );
6162
62- // optional
63- if (! empty ($ requiredCapabilities )) {
64- $ parameters ['requiredCapabilities ' ] = $ requiredCapabilities ;
63+ // optional
64+ if (! empty ($ requiredCapabilities )) {
65+ $ parameters ['requiredCapabilities ' ] = $ requiredCapabilities ;
66+ }
67+ } else {
68+ if (! is_array ($ requiredCapabilities )) {
69+ $ parameters = array (
70+ 'capabilities ' => array (
71+ 'firstMatch ' => array (
72+ array ('browserName ' => Browser::CHROME ),
73+ array ('browserName ' => Browser::FIREFOX )
74+ )
75+ )
76+ );
77+ }
6578 }
6679
6780 $ result = $ this ->curl (
@@ -85,10 +98,9 @@ public function session($requiredCapabilities = Browser::FIREFOX, $desiredCapabi
8598 */
8699 public function sessions ()
87100 {
88- $ result = $ this ->curl ('GET ' , '/sessions ' );
101+ $ result = $ this ->curl ('GET ' , '/sessions ' );
89102 $ sessions = array ();
90103
91- // @todo initialize $this->legacy if sessions() is called before session()
92104 foreach ($ result ['value ' ] as $ session ) {
93105 $ sessions [] = new Session ($ this ->url . '/session/ ' . $ session ['id ' ], $ this ->legacy );
94106 }
0 commit comments