@@ 17-114 (lines=98) @@ | ||
14 | /** |
|
15 | * WebDriver tests elements helper methods trait |
|
16 | */ |
|
17 | trait ElementsTrait |
|
18 | { |
|
19 | /** |
|
20 | * Returns WebDriver session |
|
21 | * |
|
22 | * @return \PHPWebDriver_WebDriverSession |
|
23 | */ |
|
24 | abstract protected function getSession(); |
|
25 | ||
26 | /** |
|
27 | * Returns page elements by class name |
|
28 | * |
|
29 | * @param string $className |
|
30 | * @return \PHPWebDriver_WebDriverElement[]|WebDriver\ElementInterface[] |
|
31 | */ |
|
32 | protected function elementsByClassName($className) |
|
33 | { |
|
34 | return $this->getSession()->elements(By::CLASS_NAME, $className); |
|
35 | } |
|
36 | ||
37 | /** |
|
38 | * Returns page elements by CSS selector |
|
39 | * |
|
40 | * @param string $selector |
|
41 | * @return \PHPWebDriver_WebDriverElement[]|WebDriver\ElementInterface[] |
|
42 | */ |
|
43 | protected function elementsByCssSelector($selector) |
|
44 | { |
|
45 | return $this->getSession()->elements(By::CSS_SELECTOR, $selector); |
|
46 | } |
|
47 | ||
48 | /** |
|
49 | * Returns page elements by ID |
|
50 | * |
|
51 | * @param string $id |
|
52 | * @return \PHPWebDriver_WebDriverElement[]|WebDriver\ElementInterface[] |
|
53 | */ |
|
54 | protected function elementsById($id) |
|
55 | { |
|
56 | return $this->getSession()->elements(By::ID, $id); |
|
57 | } |
|
58 | ||
59 | /** |
|
60 | * Returns page elements by link text |
|
61 | * |
|
62 | * @param string $text |
|
63 | * @return \PHPWebDriver_WebDriverElement[]|WebDriver\ElementInterface[] |
|
64 | */ |
|
65 | protected function elementsByLinkText($text) |
|
66 | { |
|
67 | return $this->getSession()->elements(By::LINK_TEXT, $text); |
|
68 | } |
|
69 | ||
70 | /** |
|
71 | * Returns page elements by its name |
|
72 | * |
|
73 | * @param string $name |
|
74 | * @return \PHPWebDriver_WebDriverElement[]|WebDriver\ElementInterface[] |
|
75 | */ |
|
76 | protected function elementsByName($name) |
|
77 | { |
|
78 | return $this->getSession()->elements(By::NAME, $name); |
|
79 | } |
|
80 | ||
81 | /** |
|
82 | * Returns page elements by its name |
|
83 | * |
|
84 | * @param string $name |
|
85 | * @return \PHPWebDriver_WebDriverElement[]|WebDriver\ElementInterface[] |
|
86 | */ |
|
87 | protected function elementsByPartialLinkText($name) |
|
88 | { |
|
89 | return $this->getSession()->elements(By::PARTIAL_LINK_TEXT, $name); |
|
90 | } |
|
91 | ||
92 | /** |
|
93 | * Returns page elements by its tag name |
|
94 | * |
|
95 | * @param string $tag |
|
96 | * @return \PHPWebDriver_WebDriverElement[]|WebDriver\ElementInterface[] |
|
97 | */ |
|
98 | protected function elementsByTagName($tag) |
|
99 | { |
|
100 | return $this->getSession()->elements(By::TAG_NAME, $tag); |
|
101 | } |
|
102 | ||
103 | /** |
|
104 | * Returns page elements by XPath |
|
105 | * |
|
106 | * @param string $xpath |
|
107 | * @return \PHPWebDriver_WebDriverElement[]|WebDriver\ElementInterface[] |
|
108 | */ |
|
109 | protected function elementsByXpath($xpath) |
|
110 | { |
|
111 | return $this->getSession()->elements(By::XPATH, $xpath); |
|
112 | } |
|
113 | } |
|
114 |
@@ 17-113 (lines=97) @@ | ||
14 | /** |
|
15 | * WebDriver tests element helper methods trait |
|
16 | */ |
|
17 | trait ElementTrait |
|
18 | { |
|
19 | /** |
|
20 | * Returns WebDriver session |
|
21 | * |
|
22 | * @return \PHPWebDriver_WebDriverSession |
|
23 | */ |
|
24 | abstract protected function getSession(); |
|
25 | ||
26 | /** |
|
27 | * Returns page element by class name |
|
28 | * |
|
29 | * @param string $className |
|
30 | * @return \PHPWebDriver_WebDriverElement|WebDriver\ElementInterface |
|
31 | */ |
|
32 | protected function elementByClassName($className) |
|
33 | { |
|
34 | return $this->getSession()->element(By::CLASS_NAME, $className); |
|
35 | } |
|
36 | ||
37 | /** |
|
38 | * Returns page element by CSS selector |
|
39 | * |
|
40 | * @param string $selector |
|
41 | * @return \PHPWebDriver_WebDriverElement|WebDriver\ElementInterface |
|
42 | */ |
|
43 | protected function elementByCssSelector($selector) |
|
44 | { |
|
45 | return $this->getSession()->element(By::CSS_SELECTOR, $selector); |
|
46 | } |
|
47 | ||
48 | /** |
|
49 | * Returns page element by ID |
|
50 | * |
|
51 | * @param string $id |
|
52 | * @return \PHPWebDriver_WebDriverElement|WebDriver\ElementInterface |
|
53 | */ |
|
54 | protected function elementById($id) |
|
55 | { |
|
56 | return $this->getSession()->element(By::ID, $id); |
|
57 | } |
|
58 | ||
59 | /** |
|
60 | * Returns page element by link text |
|
61 | * |
|
62 | * @param string $text |
|
63 | * @return \PHPWebDriver_WebDriverElement|WebDriver\ElementInterface |
|
64 | */ |
|
65 | protected function elementByLinkText($text) |
|
66 | { |
|
67 | return $this->getSession()->element(By::LINK_TEXT, $text); |
|
68 | } |
|
69 | ||
70 | /** |
|
71 | * Returns page element by its name |
|
72 | * |
|
73 | * @param string $name |
|
74 | * @return \PHPWebDriver_WebDriverElement|WebDriver\ElementInterface |
|
75 | */ |
|
76 | protected function elementByName($name) |
|
77 | { |
|
78 | return $this->getSession()->element(By::NAME, $name); |
|
79 | } |
|
80 | ||
81 | /** |
|
82 | * Returns page element by partial link text |
|
83 | * |
|
84 | * @param string $name |
|
85 | * @return \PHPWebDriver_WebDriverElement|WebDriver\ElementInterface |
|
86 | */ |
|
87 | protected function elementByPartialLinkText($name) |
|
88 | { |
|
89 | return $this->getSession()->element(By::PARTIAL_LINK_TEXT, $name); |
|
90 | } |
|
91 | ||
92 | /** |
|
93 | * Returns page element by its tag name |
|
94 | * |
|
95 | * @param string $tag |
|
96 | * @return \PHPWebDriver_WebDriverElement|WebDriver\ElementInterface |
|
97 | */ |
|
98 | protected function elementByTagName($tag) |
|
99 | { |
|
100 | return $this->getSession()->element(By::TAG_NAME, $tag); |
|
101 | } |
|
102 | ||
103 | /** |
|
104 | * Returns page element by XPath |
|
105 | * |
|
106 | * @param string $xpath |
|
107 | * @return \PHPWebDriver_WebDriverElement|WebDriver\ElementInterface |
|
108 | */ |
|
109 | protected function elementByXpath($xpath) |
|
110 | { |
|
111 | return $this->getSession()->element(By::XPATH, $xpath); |
|
112 | } |
|
113 | } |
|
114 |