Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Zumba\GastonJS\Browser;
|
Chris@0
|
4
|
Chris@0
|
5 /**
|
Chris@0
|
6 * Trait BrowserMouseEventTrait
|
Chris@0
|
7 * @package Zumba\GastonJS\Browser
|
Chris@0
|
8 */
|
Chris@0
|
9 trait BrowserMouseEventTrait {
|
Chris@0
|
10 /**
|
Chris@0
|
11 * Click on a given page and element
|
Chris@0
|
12 * @param $pageId
|
Chris@0
|
13 * @param $elementId
|
Chris@0
|
14 * @return mixed
|
Chris@0
|
15 */
|
Chris@0
|
16 public function click($pageId, $elementId) {
|
Chris@0
|
17 return $this->command('click', $pageId, $elementId);
|
Chris@0
|
18 }
|
Chris@0
|
19
|
Chris@0
|
20 /**
|
Chris@0
|
21 * Triggers a right click on a page an element
|
Chris@0
|
22 * @param $pageId
|
Chris@0
|
23 * @param $elementId
|
Chris@0
|
24 * @return mixed
|
Chris@0
|
25 */
|
Chris@0
|
26 public function rightClick($pageId, $elementId) {
|
Chris@0
|
27 return $this->command('right_click', $pageId, $elementId);
|
Chris@0
|
28 }
|
Chris@0
|
29
|
Chris@0
|
30 /**
|
Chris@0
|
31 * Triggers a double click in a given page and element
|
Chris@0
|
32 * @param $pageId
|
Chris@0
|
33 * @param $elementId
|
Chris@0
|
34 * @return mixed
|
Chris@0
|
35 */
|
Chris@0
|
36 public function doubleClick($pageId, $elementId) {
|
Chris@0
|
37 return $this->command('double_click', $pageId, $elementId);
|
Chris@0
|
38 }
|
Chris@0
|
39
|
Chris@0
|
40 /**
|
Chris@0
|
41 * Hovers over an element in a given page
|
Chris@0
|
42 * @param $pageId
|
Chris@0
|
43 * @param $elementId
|
Chris@0
|
44 * @return mixed
|
Chris@0
|
45 */
|
Chris@0
|
46 public function hover($pageId, $elementId) {
|
Chris@0
|
47 return $this->command('hover', $pageId, $elementId);
|
Chris@0
|
48 }
|
Chris@0
|
49
|
Chris@0
|
50 /**
|
Chris@0
|
51 * Click on given coordinates, THIS DOES NOT depend on the page, it just clicks on where we are right now
|
Chris@0
|
52 * @param $coordX
|
Chris@0
|
53 * @param $coordY
|
Chris@0
|
54 * @return mixed
|
Chris@0
|
55 */
|
Chris@0
|
56 public function clickCoordinates($coordX, $coordY) {
|
Chris@0
|
57 return $this->command('click_coordinates', $coordX, $coordY);
|
Chris@0
|
58 }
|
Chris@0
|
59
|
Chris@0
|
60 /**
|
Chris@0
|
61 * Scrolls the page by a given left and top coordinates
|
Chris@0
|
62 * @param $left
|
Chris@0
|
63 * @param $top
|
Chris@0
|
64 * @return mixed
|
Chris@0
|
65 */
|
Chris@0
|
66 public function scrollTo($left, $top) {
|
Chris@0
|
67 return $this->command('scroll_to', $left, $top);
|
Chris@0
|
68 }
|
Chris@0
|
69 }
|