1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
|
18 |
|
|
19 |
|
|
20 |
|
package org.xwiki.test.selenium.framework; |
21 |
|
|
22 |
|
import java.io.ByteArrayInputStream; |
23 |
|
import java.io.IOException; |
24 |
|
import java.util.Map.Entry; |
25 |
|
import java.util.Properties; |
26 |
|
|
27 |
|
import org.junit.Assert; |
28 |
|
import org.junit.Before; |
29 |
|
import org.openqa.selenium.By; |
30 |
|
import org.openqa.selenium.Keys; |
31 |
|
import org.openqa.selenium.Point; |
32 |
|
import org.openqa.selenium.WebDriver; |
33 |
|
import org.openqa.selenium.WebElement; |
34 |
|
import org.openqa.selenium.interactions.Actions; |
35 |
|
import org.xwiki.test.ui.AbstractTest; |
36 |
|
|
37 |
|
import com.thoughtworks.selenium.Selenium; |
38 |
|
import com.thoughtworks.selenium.SeleniumException; |
39 |
|
import com.thoughtworks.selenium.Wait; |
40 |
|
import com.thoughtworks.selenium.webdriven.WebDriverBackedSelenium; |
41 |
|
|
42 |
|
|
43 |
|
|
44 |
|
|
45 |
|
@version |
46 |
|
|
|
|
| 77.5% |
Uncovered Elements: 83 (369) |
Complexity: 145 |
Complexity Density: 0.68 |
|
47 |
|
public abstract class AbstractXWikiTestCase extends AbstractTest implements SkinExecutor |
48 |
|
{ |
49 |
|
public static final String BASEDIR = System.getProperty("basedir"); |
50 |
|
|
51 |
|
public static final String DOC = "selenium.browserbot.getCurrentWindow().document."; |
52 |
|
|
53 |
|
private static final int WAIT_TIME = 30000; |
54 |
|
|
55 |
|
private SkinExecutor skinExecutor = new FlamingoSkinExecutor(this); |
56 |
|
|
57 |
|
private Selenium selenium; |
58 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
59 |
0 |
public void setSkinExecutor(SkinExecutor skinExecutor)... |
60 |
|
{ |
61 |
0 |
this.skinExecutor = skinExecutor; |
62 |
|
} |
63 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
64 |
587 |
public SkinExecutor getSkinExecutor()... |
65 |
|
{ |
66 |
587 |
return this.skinExecutor; |
67 |
|
} |
68 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 2 |
Complexity Density: 0.5 |
|
69 |
6276 |
public Selenium getSelenium()... |
70 |
|
{ |
71 |
6276 |
if (this.selenium == null) { |
72 |
333 |
String baseURL = "http://localhost:" + System.getProperty("xwikiPort", "8080"); |
73 |
333 |
this.selenium = new WebDriverBackedSelenium(getDriver(), baseURL); |
74 |
|
} |
75 |
6276 |
return this.selenium; |
76 |
|
} |
77 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
78 |
333 |
@Before... |
79 |
|
public void setUp() |
80 |
|
{ |
81 |
333 |
loginAsAdmin(); |
82 |
|
} |
83 |
|
|
84 |
|
|
85 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
86 |
902 |
public void open(String url)... |
87 |
|
{ |
88 |
902 |
getSelenium().open(url); |
89 |
|
} |
90 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
91 |
404 |
public void open(String space, String page)... |
92 |
|
{ |
93 |
404 |
open(getUrl(space, page)); |
94 |
|
} |
95 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
96 |
26 |
public void open(String space, String page, String action)... |
97 |
|
{ |
98 |
26 |
open(getUrl(space, page, action)); |
99 |
|
} |
100 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
101 |
399 |
public void open(String space, String page, String action, String queryString)... |
102 |
|
{ |
103 |
399 |
open(getUrl(space, page, action, queryString)); |
104 |
|
} |
105 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
106 |
1 |
public String getTitle()... |
107 |
|
{ |
108 |
1 |
return getSelenium().getTitle(); |
109 |
|
} |
110 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
111 |
0 |
public void assertPage(String space, String page)... |
112 |
|
{ |
113 |
0 |
Assert.assertTrue(getTitle().matches(".*\\(" + space + "." + page + "\\) - XWiki")); |
114 |
|
} |
115 |
|
|
116 |
|
|
117 |
|
|
118 |
|
|
119 |
|
@param |
120 |
|
@param |
121 |
|
@return |
122 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (5) |
Complexity: 1 |
Complexity Density: 0.2 |
|
123 |
7 |
public boolean isExistingPage(String space, String page)... |
124 |
|
{ |
125 |
7 |
String saveUrl = getSelenium().getLocation(); |
126 |
|
|
127 |
7 |
open(getUrl(space, page)); |
128 |
7 |
boolean exists = isExistingPage(); |
129 |
|
|
130 |
|
|
131 |
7 |
open(saveUrl); |
132 |
|
|
133 |
7 |
return exists; |
134 |
|
} |
135 |
|
|
136 |
|
|
137 |
|
@return |
138 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
139 |
26 |
public boolean isExistingPage()... |
140 |
|
{ |
141 |
26 |
return !getSelenium().isTextPresent("The requested page could not be found."); |
142 |
|
} |
143 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
144 |
0 |
public void assertTitle(String title)... |
145 |
|
{ |
146 |
0 |
Assert.assertEquals(title, getTitle()); |
147 |
|
} |
148 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
149 |
658 |
public boolean isElementPresent(String locator)... |
150 |
|
{ |
151 |
658 |
return getSelenium().isElementPresent(locator); |
152 |
|
} |
153 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
154 |
422 |
public boolean isElementPresentWithoutWaiting(By by)... |
155 |
|
{ |
156 |
422 |
return getDriver().hasElementWithoutWaiting(by); |
157 |
|
} |
158 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
159 |
0 |
public boolean isLinkPresent(String text)... |
160 |
|
{ |
161 |
0 |
return isElementPresent("link=" + text); |
162 |
|
} |
163 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
164 |
25 |
public void clickLinkWithText(String text)... |
165 |
|
{ |
166 |
25 |
clickLinkWithText(text, true); |
167 |
|
} |
168 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
169 |
27 |
public void assertTextPresent(String text)... |
170 |
|
{ |
171 |
27 |
Assert.assertTrue("[" + text + "] isn't present.", getSelenium().isTextPresent(text)); |
172 |
|
} |
173 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
174 |
9 |
public void assertTextNotPresent(String text)... |
175 |
|
{ |
176 |
9 |
Assert.assertFalse("[" + text + "] is present.", getSelenium().isTextPresent(text)); |
177 |
|
} |
178 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
179 |
576 |
public void assertElementPresent(String elementLocator)... |
180 |
|
{ |
181 |
576 |
Assert.assertTrue("[" + elementLocator + "] isn't present.", isElementPresent(elementLocator)); |
182 |
|
} |
183 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
184 |
43 |
public void assertElementNotPresent(String elementLocator)... |
185 |
|
{ |
186 |
43 |
Assert.assertFalse("[" + elementLocator + "] is present.", isElementPresent(elementLocator)); |
187 |
|
} |
188 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
189 |
254 |
public void waitPage()... |
190 |
|
{ |
191 |
254 |
waitPage(WAIT_TIME); |
192 |
|
} |
193 |
|
|
194 |
|
|
195 |
|
@deprecated@link |
196 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
197 |
254 |
@Deprecated... |
198 |
|
public void waitPage(int nbMillisecond) |
199 |
|
{ |
200 |
254 |
getSelenium().waitForPageToLoad(String.valueOf(nbMillisecond)); |
201 |
|
} |
202 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
203 |
2 |
public void createPage(String space, String page, String content)... |
204 |
|
{ |
205 |
2 |
createPage(space, page, content, null); |
206 |
|
} |
207 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (8) |
Complexity: 2 |
Complexity Density: 0.33 |
|
208 |
14 |
public void createPage(String space, String page, String content, String syntax)... |
209 |
|
{ |
210 |
|
|
211 |
14 |
deletePage(space, page); |
212 |
14 |
if (syntax == null) { |
213 |
2 |
editInWikiEditor(space, page); |
214 |
|
} else { |
215 |
12 |
editInWikiEditor(space, page, syntax); |
216 |
|
} |
217 |
14 |
setFieldValue("content", content); |
218 |
14 |
clickEditSaveAndView(); |
219 |
|
} |
220 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
221 |
24 |
public void deletePage(String space, String page)... |
222 |
|
{ |
223 |
24 |
open(space, page, "delete", "confirm=1"); |
224 |
|
} |
225 |
|
|
|
|
| 80% |
Uncovered Elements: 1 (5) |
Complexity: 2 |
Complexity Density: 0.67 |
|
226 |
1 |
public void restorePage(String space, String page)... |
227 |
|
{ |
228 |
1 |
open(space, page, "view"); |
229 |
1 |
if (getSelenium().isTextPresent("Restore")) { |
230 |
1 |
clickLinkWithText("Restore", true); |
231 |
|
} |
232 |
|
} |
233 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
234 |
195 |
public void clickLinkWithLocator(String locator)... |
235 |
|
{ |
236 |
195 |
clickLinkWithLocator(locator, true); |
237 |
|
} |
238 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 2 |
Complexity Density: 0.5 |
|
239 |
388 |
public void clickLinkWithLocator(String locator, boolean wait)... |
240 |
|
{ |
241 |
388 |
assertElementPresent(locator); |
242 |
388 |
getSelenium().click(locator); |
243 |
388 |
if (wait) { |
244 |
242 |
waitPage(); |
245 |
|
} |
246 |
|
} |
247 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
248 |
34 |
public void clickLinkWithText(String text, boolean wait)... |
249 |
|
{ |
250 |
34 |
clickLinkWithLocator("link=" + text, wait); |
251 |
|
} |
252 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
253 |
1 |
public boolean isChecked(String locator)... |
254 |
|
{ |
255 |
1 |
return getSelenium().isChecked(locator); |
256 |
|
} |
257 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
258 |
38 |
public String getFieldValue(String fieldName)... |
259 |
|
{ |
260 |
|
|
261 |
|
|
262 |
38 |
return getSelenium().getEval( |
263 |
|
"selenium.browserbot.getCurrentWindow().document.getElementById(\"" + fieldName + "\").value"); |
264 |
|
} |
265 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
266 |
275 |
public void setFieldValue(String fieldName, String value)... |
267 |
|
{ |
268 |
275 |
getSelenium().type(fieldName, value); |
269 |
|
} |
270 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
271 |
4 |
public void checkField(String locator)... |
272 |
|
{ |
273 |
4 |
getSelenium().check(locator); |
274 |
|
} |
275 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
276 |
13 |
public void submit()... |
277 |
|
{ |
278 |
13 |
clickLinkWithXPath("//input[@type='submit']"); |
279 |
|
} |
280 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
281 |
93 |
public void submit(String locator)... |
282 |
|
{ |
283 |
93 |
clickLinkWithLocator(locator); |
284 |
|
} |
285 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
286 |
87 |
public void submit(String locator, boolean wait)... |
287 |
|
{ |
288 |
87 |
clickLinkWithLocator(locator, wait); |
289 |
|
} |
290 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
291 |
15 |
public void clickLinkWithXPath(String xpath)... |
292 |
|
{ |
293 |
15 |
clickLinkWithXPath(xpath, true); |
294 |
|
} |
295 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
296 |
58 |
public void clickLinkWithXPath(String xpath, boolean wait)... |
297 |
|
{ |
298 |
58 |
clickLinkWithLocator("xpath=" + xpath, wait); |
299 |
|
} |
300 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
301 |
64 |
public void waitForCondition(String condition)... |
302 |
|
{ |
303 |
64 |
getSelenium().waitForCondition(condition, "" + WAIT_TIME); |
304 |
|
} |
305 |
|
|
|
|
| 66.7% |
Uncovered Elements: 1 (3) |
Complexity: 2 |
Complexity Density: 2 |
|
306 |
10 |
public void waitForTextPresent(final String elementLocator, final String expectedValue)... |
307 |
|
{ |
308 |
10 |
new Wait() |
309 |
|
{ |
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
310 |
20 |
public boolean until()... |
311 |
|
{ |
312 |
20 |
return getSelenium().getText(elementLocator).equals(expectedValue); |
313 |
|
} |
314 |
10 |
}.wait(getSelenium().isElementPresent(elementLocator) ? "Element [" + elementLocator + "] not found" |
315 |
|
: "Element [" + elementLocator + "] found but it doesn't have the expected value [" + expectedValue + "]"); |
316 |
|
} |
317 |
|
|
|
|
| 66.7% |
Uncovered Elements: 1 (3) |
Complexity: 2 |
Complexity Density: 2 |
|
318 |
15 |
public void waitForTextContains(final String elementLocator, final String containsValue)... |
319 |
|
{ |
320 |
15 |
new Wait() |
321 |
|
{ |
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
322 |
19 |
public boolean until()... |
323 |
|
{ |
324 |
19 |
return getSelenium().getText(elementLocator).indexOf(containsValue) > -1; |
325 |
|
} |
326 |
15 |
}.wait(getSelenium().isElementPresent(elementLocator) ? "Element [" + elementLocator + "] not found" |
327 |
|
: "Element [" + elementLocator + "] found but it doesn't contain the expected value [" + containsValue |
328 |
|
+ "]"); |
329 |
|
} |
330 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
331 |
19 |
public void waitForBodyContains(final String containsValue)... |
332 |
|
{ |
333 |
19 |
new Wait() |
334 |
|
{ |
|
|
| 66.7% |
Uncovered Elements: 1 (3) |
Complexity: 2 |
Complexity Density: 0.67 |
|
335 |
19 |
public boolean until()... |
336 |
|
{ |
337 |
19 |
try { |
338 |
19 |
return getSelenium().getBodyText().indexOf(containsValue) > -1; |
339 |
|
} catch (SeleniumException e) { |
340 |
|
|
341 |
0 |
return false; |
342 |
|
} |
343 |
|
} |
344 |
|
}.wait("Body text doesn't contain the value [" + containsValue + "]"); |
345 |
|
} |
346 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
347 |
239 |
public void waitForElement(final String elementLocator)... |
348 |
|
{ |
349 |
239 |
new Wait() |
350 |
|
{ |
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
351 |
244 |
public boolean until()... |
352 |
|
{ |
353 |
244 |
return getSelenium().isElementPresent(elementLocator); |
354 |
|
} |
355 |
|
}.wait("element [" + elementLocator + "] not found"); |
356 |
|
} |
357 |
|
|
358 |
|
|
359 |
|
@link |
360 |
|
|
361 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
362 |
1 |
public void waitForAlert()... |
363 |
|
{ |
364 |
1 |
new Wait() |
365 |
|
{ |
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
366 |
2 |
public boolean until()... |
367 |
|
{ |
368 |
2 |
return getSelenium().isAlertPresent(); |
369 |
|
} |
370 |
|
}.wait("The alert didn't appear."); |
371 |
|
} |
372 |
|
|
373 |
|
|
374 |
|
@link |
375 |
|
|
376 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
377 |
6 |
public void waitForConfirmation()... |
378 |
|
{ |
379 |
6 |
new Wait() |
380 |
|
{ |
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
381 |
6 |
public boolean until()... |
382 |
|
{ |
383 |
6 |
return getSelenium().isConfirmationPresent(); |
384 |
|
} |
385 |
|
}.wait("The confirmation didn't appear."); |
386 |
|
} |
387 |
|
|
388 |
|
|
389 |
|
|
390 |
|
|
391 |
|
@param |
392 |
|
@param |
393 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 2 |
Complexity Density: 0.5 |
|
394 |
99 |
private void waitForNotificationMessage(String level, String message)... |
395 |
|
{ |
396 |
99 |
String xpath = String.format("//div[contains(@class,'xnotification-%s') and contains(.,'%s')]", level, message); |
397 |
99 |
waitForElement(xpath); |
398 |
|
|
399 |
|
|
400 |
99 |
try { |
401 |
|
|
402 |
99 |
getSelenium().click(xpath); |
403 |
|
} catch (Exception e) { |
404 |
|
|
405 |
|
} |
406 |
|
} |
407 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
408 |
0 |
public void waitForNotificationErrorMessage(String message)... |
409 |
|
{ |
410 |
0 |
waitForNotificationMessage("error", message); |
411 |
|
} |
412 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
413 |
0 |
public void waitForNotificationWarningMessage(String message)... |
414 |
|
{ |
415 |
0 |
waitForNotificationMessage("warning", message); |
416 |
|
} |
417 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
418 |
99 |
public void waitForNotificationSuccessMessage(String message)... |
419 |
|
{ |
420 |
99 |
waitForNotificationMessage("done", message); |
421 |
|
} |
422 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0.5 |
|
423 |
55 |
public void clickButtonAndContinue(String locator)... |
424 |
|
{ |
425 |
55 |
submit(locator, false); |
426 |
55 |
waitForNotificationSuccessMessage(""); |
427 |
|
} |
428 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
429 |
0 |
@Override... |
430 |
|
public void clickEditPage() |
431 |
|
{ |
432 |
0 |
getSkinExecutor().clickEditPage(); |
433 |
|
} |
434 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
435 |
11 |
@Override... |
436 |
|
public void clickEditPageInWikiSyntaxEditor() |
437 |
|
{ |
438 |
11 |
getSkinExecutor().clickEditPageInWikiSyntaxEditor(); |
439 |
|
} |
440 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
441 |
6 |
@Override... |
442 |
|
public void clickEditPageInWysiwyg() |
443 |
|
{ |
444 |
6 |
getSkinExecutor().clickEditPageInWysiwyg(); |
445 |
|
} |
446 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
447 |
1 |
@Override... |
448 |
|
public void clickEditPageAccessRights() |
449 |
|
{ |
450 |
1 |
getSkinExecutor().clickEditPageAccessRights(); |
451 |
|
} |
452 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
453 |
1 |
@Override... |
454 |
|
public void clickEditPageInlineForm() |
455 |
|
{ |
456 |
1 |
getSkinExecutor().clickEditPageInlineForm(); |
457 |
|
} |
458 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
459 |
0 |
@Override... |
460 |
|
public void clickDeletePage() |
461 |
|
{ |
462 |
0 |
getSkinExecutor().clickDeletePage(); |
463 |
|
} |
464 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
465 |
0 |
@Override... |
466 |
|
public void clickCopyPage() |
467 |
|
{ |
468 |
0 |
getSkinExecutor().clickCopyPage(); |
469 |
|
} |
470 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
471 |
1 |
@Override... |
472 |
|
public void clickShowComments() |
473 |
|
{ |
474 |
1 |
getSkinExecutor().clickShowComments(); |
475 |
|
} |
476 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
477 |
1 |
@Override... |
478 |
|
public void clickShowAttachments() |
479 |
|
{ |
480 |
1 |
getSkinExecutor().clickShowAttachments(); |
481 |
|
} |
482 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
483 |
1 |
@Override... |
484 |
|
public void clickShowHistory() |
485 |
|
{ |
486 |
1 |
getSkinExecutor().clickShowHistory(); |
487 |
|
} |
488 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
489 |
1 |
@Override... |
490 |
|
public void clickShowInformation() |
491 |
|
{ |
492 |
1 |
getSkinExecutor().clickShowInformation(); |
493 |
|
} |
494 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
495 |
3 |
@Override... |
496 |
|
public void clickEditPreview() |
497 |
|
{ |
498 |
3 |
getSkinExecutor().clickEditPreview(); |
499 |
|
} |
500 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
501 |
34 |
@Override... |
502 |
|
public void clickEditSaveAndContinue() |
503 |
|
{ |
504 |
34 |
getSkinExecutor().clickEditSaveAndContinue(); |
505 |
|
} |
506 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
507 |
5 |
@Override... |
508 |
|
public void clickEditCancelEdition() |
509 |
|
{ |
510 |
5 |
getSkinExecutor().clickEditCancelEdition(); |
511 |
|
} |
512 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
513 |
78 |
@Override... |
514 |
|
public void clickEditSaveAndView() |
515 |
|
{ |
516 |
78 |
getSkinExecutor().clickEditSaveAndView(); |
517 |
|
} |
518 |
|
|
519 |
|
|
520 |
|
|
521 |
|
|
522 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
523 |
2 |
@Override... |
524 |
|
public void clickEditAddProperty() |
525 |
|
{ |
526 |
2 |
getSkinExecutor().clickEditAddProperty(); |
527 |
|
} |
528 |
|
|
529 |
|
|
530 |
|
|
531 |
|
|
532 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
533 |
4 |
@Override... |
534 |
|
public void clickEditAddObject() |
535 |
|
{ |
536 |
4 |
getSkinExecutor().clickEditAddObject(); |
537 |
|
} |
538 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
539 |
3 |
@Override... |
540 |
|
public boolean isAuthenticated() |
541 |
|
{ |
542 |
3 |
return getSkinExecutor().isAuthenticated(); |
543 |
|
} |
544 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
545 |
4 |
@Override... |
546 |
|
public boolean isAuthenticated(String username) |
547 |
|
{ |
548 |
4 |
return getSkinExecutor().isAuthenticated(username); |
549 |
|
} |
550 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
551 |
4 |
@Override... |
552 |
|
public boolean isAuthenticationMenuPresent() |
553 |
|
{ |
554 |
4 |
return getSkinExecutor().isAuthenticationMenuPresent(); |
555 |
|
} |
556 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0.5 |
|
557 |
3 |
@Override... |
558 |
|
public void logout() |
559 |
|
{ |
560 |
3 |
getSkinExecutor().logout(); |
561 |
3 |
recacheSecretToken(); |
562 |
|
} |
563 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0.5 |
|
564 |
5 |
@Override... |
565 |
|
public void login(String username, String password, boolean rememberme) |
566 |
|
{ |
567 |
5 |
getSkinExecutor().login(username, password, rememberme); |
568 |
5 |
recacheSecretToken(); |
569 |
|
} |
570 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0.5 |
|
571 |
336 |
@Override... |
572 |
|
public void loginAsAdmin() |
573 |
|
{ |
574 |
336 |
getSkinExecutor().loginAsAdmin(); |
575 |
336 |
recacheSecretToken(); |
576 |
|
} |
577 |
|
|
578 |
|
|
579 |
|
|
580 |
|
|
581 |
|
|
582 |
|
@param |
583 |
|
|
584 |
|
@param |
585 |
|
@param |
586 |
|
|
|
|
| 76.2% |
Uncovered Elements: 5 (21) |
Complexity: 5 |
Complexity Density: 0.38 |
|
587 |
4 |
public void loginAndRegisterUser(String username, String password, boolean rememberMe)... |
588 |
|
{ |
589 |
4 |
if (!isAuthenticationMenuPresent()) { |
590 |
|
|
591 |
0 |
open("Main", "WebHome"); |
592 |
|
} |
593 |
|
|
594 |
|
|
595 |
4 |
if (isAuthenticated(username)) { |
596 |
0 |
return; |
597 |
|
} |
598 |
|
|
599 |
|
|
600 |
4 |
open("XWiki", username); |
601 |
|
|
602 |
4 |
boolean exists = !getSelenium().isTextPresent("The requested page could not be found."); |
603 |
4 |
if (!exists) { |
604 |
2 |
if (isAuthenticated()) { |
605 |
2 |
logout(); |
606 |
|
} |
607 |
2 |
clickRegister(); |
608 |
2 |
fillRegisterForm(username, "", username, password, ""); |
609 |
2 |
submit(); |
610 |
|
|
611 |
|
} |
612 |
|
|
613 |
4 |
login(username, password, rememberMe); |
614 |
|
} |
615 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0.17 |
|
616 |
2 |
public void fillRegisterForm(String firstName, String lastName, String username, String password, String email)... |
617 |
|
{ |
618 |
2 |
setFieldValue("register_first_name", firstName); |
619 |
2 |
setFieldValue("register_last_name", lastName); |
620 |
2 |
setFieldValue("xwikiname", username); |
621 |
2 |
setFieldValue("register_password", password); |
622 |
2 |
setFieldValue("register2_password", password); |
623 |
2 |
setFieldValue("register_email", email); |
624 |
|
} |
625 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
626 |
0 |
@Override... |
627 |
|
public void clickLogin() |
628 |
|
{ |
629 |
0 |
getSkinExecutor().clickLogin(); |
630 |
|
} |
631 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
632 |
2 |
@Override... |
633 |
|
public void clickRegister() |
634 |
|
{ |
635 |
2 |
getSkinExecutor().clickRegister(); |
636 |
|
} |
637 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
638 |
0 |
public String getEditorSyntax()... |
639 |
|
{ |
640 |
0 |
return getSkinExecutor().getEditorSyntax(); |
641 |
|
} |
642 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
643 |
0 |
public void setEditorSyntax(String syntax)... |
644 |
|
{ |
645 |
0 |
getSkinExecutor().setEditorSyntax(syntax); |
646 |
|
} |
647 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
648 |
3 |
public void editInWikiEditor(String space, String page)... |
649 |
|
{ |
650 |
3 |
getSkinExecutor().editInWikiEditor(space, page); |
651 |
|
} |
652 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
653 |
30 |
public void editInWikiEditor(String space, String page, String syntax)... |
654 |
|
{ |
655 |
30 |
getSkinExecutor().editInWikiEditor(space, page, syntax); |
656 |
|
} |
657 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
658 |
0 |
public void editInWysiwyg(String space, String page)... |
659 |
|
{ |
660 |
0 |
getSkinExecutor().editInWysiwyg(space, page); |
661 |
|
} |
662 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
663 |
0 |
public void editInWysiwyg(String space, String page, String syntax)... |
664 |
|
{ |
665 |
0 |
getSkinExecutor().editInWysiwyg(space, page, syntax); |
666 |
|
} |
667 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
668 |
0 |
public void clearWysiwygContent()... |
669 |
|
{ |
670 |
0 |
getSkinExecutor().clearWysiwygContent(); |
671 |
|
} |
672 |
|
|
|
|
| 0% |
Uncovered Elements: 2 (2) |
Complexity: 1 |
Complexity Density: 0.5 |
|
673 |
0 |
public void keyPressAndWait(String element, String keycode) throws InterruptedException... |
674 |
|
{ |
675 |
0 |
getSelenium().keyPress(element, keycode); |
676 |
0 |
waitPage(); |
677 |
|
} |
678 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
679 |
0 |
public void typeInWysiwyg(String text)... |
680 |
|
{ |
681 |
0 |
getSkinExecutor().typeInWysiwyg(text); |
682 |
|
} |
683 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
684 |
0 |
public void typeInWiki(String text)... |
685 |
|
{ |
686 |
0 |
getSkinExecutor().typeInWiki(text); |
687 |
|
} |
688 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
689 |
0 |
public void typeEnterInWysiwyg()... |
690 |
|
{ |
691 |
0 |
getSkinExecutor().typeEnterInWysiwyg(); |
692 |
|
} |
693 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
694 |
0 |
public void typeShiftEnterInWysiwyg()... |
695 |
|
{ |
696 |
0 |
getSkinExecutor().typeShiftEnterInWysiwyg(); |
697 |
|
} |
698 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
699 |
0 |
public void clickWysiwygUnorderedListButton()... |
700 |
|
{ |
701 |
0 |
getSkinExecutor().clickWysiwygUnorderedListButton(); |
702 |
|
} |
703 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
704 |
0 |
public void clickWysiwygOrderedListButton()... |
705 |
|
{ |
706 |
0 |
getSkinExecutor().clickWysiwygOrderedListButton(); |
707 |
|
} |
708 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
709 |
0 |
public void clickWysiwygIndentButton()... |
710 |
|
{ |
711 |
0 |
getSkinExecutor().clickWysiwygIndentButton(); |
712 |
|
} |
713 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
714 |
0 |
public void clickWysiwygOutdentButton()... |
715 |
|
{ |
716 |
0 |
getSkinExecutor().clickWysiwygOutdentButton(); |
717 |
|
} |
718 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
719 |
0 |
public void clickWikiBoldButton()... |
720 |
|
{ |
721 |
0 |
getSkinExecutor().clickWikiBoldButton(); |
722 |
|
} |
723 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
724 |
0 |
public void clickWikiItalicsButton()... |
725 |
|
{ |
726 |
0 |
getSkinExecutor().clickWikiItalicsButton(); |
727 |
|
} |
728 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
729 |
0 |
public void clickWikiUnderlineButton()... |
730 |
|
{ |
731 |
0 |
getSkinExecutor().clickWikiUnderlineButton(); |
732 |
|
} |
733 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
734 |
0 |
public void clickWikiLinkButton()... |
735 |
|
{ |
736 |
0 |
getSkinExecutor().clickWikiLinkButton(); |
737 |
|
} |
738 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
739 |
0 |
public void clickWikiHRButton()... |
740 |
|
{ |
741 |
0 |
getSkinExecutor().clickWikiHRButton(); |
742 |
|
} |
743 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
744 |
0 |
public void clickWikiImageButton()... |
745 |
|
{ |
746 |
0 |
getSkinExecutor().clickWikiImageButton(); |
747 |
|
} |
748 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
749 |
0 |
public void clickWikiSignatureButton()... |
750 |
|
{ |
751 |
0 |
getSkinExecutor().clickWikiSignatureButton(); |
752 |
|
} |
753 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
754 |
0 |
public void assertWikiTextGeneratedByWysiwyg(String text)... |
755 |
|
{ |
756 |
0 |
getSkinExecutor().assertWikiTextGeneratedByWysiwyg(text); |
757 |
|
} |
758 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
759 |
0 |
public void assertHTMLGeneratedByWysiwyg(String xpath) throws Exception... |
760 |
|
{ |
761 |
0 |
getSkinExecutor().assertHTMLGeneratedByWysiwyg(xpath); |
762 |
|
} |
763 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
764 |
1 |
public void assertGeneratedHTML(String xpath) throws Exception... |
765 |
|
{ |
766 |
1 |
getSkinExecutor().assertGeneratedHTML(xpath); |
767 |
|
} |
768 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
769 |
21 |
public void openAdministrationPage()... |
770 |
|
{ |
771 |
21 |
getSkinExecutor().openAdministrationPage(); |
772 |
|
} |
773 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
774 |
0 |
public void openAdministrationSection(String section)... |
775 |
|
{ |
776 |
0 |
getSkinExecutor().openAdministrationSection(section); |
777 |
|
} |
778 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
779 |
412 |
public String getUrl(String space, String doc)... |
780 |
|
{ |
781 |
412 |
return getUrl(space, doc, "view"); |
782 |
|
} |
783 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
784 |
439 |
public String getUrl(String space, String doc, String action)... |
785 |
|
{ |
786 |
439 |
return getUrl(space, doc, action, null); |
787 |
|
} |
788 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (23) |
Complexity: 5 |
Complexity Density: 0.29 |
|
789 |
860 |
public String getUrl(String space, String doc, String action, String queryString)... |
790 |
|
{ |
791 |
860 |
StringBuilder builder = new StringBuilder("/xwiki/bin/"); |
792 |
860 |
builder.append(action); |
793 |
860 |
builder.append('/'); |
794 |
860 |
builder.append(space); |
795 |
860 |
builder.append('/'); |
796 |
860 |
builder.append(doc); |
797 |
|
|
798 |
860 |
boolean needToAddSecretToken = !("view".equals(action) || "register".equals(action)); |
799 |
860 |
boolean needToAddQuery = queryString != null && queryString.length() > 0; |
800 |
860 |
if (needToAddSecretToken || needToAddQuery) { |
801 |
446 |
builder.append('?'); |
802 |
|
} |
803 |
860 |
if (needToAddSecretToken) { |
804 |
426 |
builder.append("form_token="); |
805 |
426 |
builder.append(getSecretToken()); |
806 |
426 |
builder.append('&'); |
807 |
|
} |
808 |
860 |
if (needToAddQuery) { |
809 |
421 |
builder.append(queryString); |
810 |
|
} |
811 |
860 |
return builder.toString(); |
812 |
|
} |
813 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
814 |
0 |
public void pressKeyboardShortcut(String shortcut, boolean withCtrlModifier, boolean withAltModifier,... |
815 |
|
boolean withShiftModifier) throws InterruptedException |
816 |
|
{ |
817 |
0 |
getSkinExecutor().pressKeyboardShortcut(shortcut, withCtrlModifier, withAltModifier, withShiftModifier); |
818 |
|
} |
819 |
|
|
820 |
|
|
821 |
|
|
822 |
|
|
823 |
|
|
824 |
|
@param@link |
825 |
|
@throws |
826 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (8) |
Complexity: 1 |
Complexity Density: 0.12 |
|
827 |
2 |
public void setXWikiConfiguration(String configuration) throws IOException... |
828 |
|
{ |
829 |
2 |
Properties properties = new Properties(); |
830 |
2 |
properties.load(new ByteArrayInputStream(configuration.getBytes())); |
831 |
2 |
StringBuffer sb = new StringBuffer(); |
832 |
|
|
833 |
|
|
834 |
|
|
835 |
|
|
836 |
2 |
for (Entry<Object, Object> param : properties.entrySet()) { |
837 |
2 |
sb.append("{{velocity}}$xwiki.xWiki.config.setProperty('").append(param.getKey()).append("', '") |
838 |
|
.append(param.getValue()).append("')").append("\n{{/velocity}}"); |
839 |
|
} |
840 |
2 |
editInWikiEditor("Test", "XWikiConfigurationPageForTest", "xwiki/2.1"); |
841 |
2 |
setFieldValue("content", sb.toString()); |
842 |
2 |
clickEditSaveAndView(); |
843 |
|
} |
844 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
845 |
19 |
@Override... |
846 |
|
public boolean copyPage(String spaceName, String pageName, String targetSpaceName, String targetPageName) |
847 |
|
{ |
848 |
19 |
return getSkinExecutor().copyPage(spaceName, pageName, targetSpaceName, targetPageName); |
849 |
|
} |
850 |
|
|
851 |
|
|
852 |
|
|
853 |
|
|
854 |
|
@param |
855 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
856 |
22 |
public void waitForLiveTable(String id)... |
857 |
|
{ |
858 |
22 |
waitForElement("//*[@id = '" + id + "-ajax-loader' and @class = 'xwiki-livetable-loader hidden']"); |
859 |
|
} |
860 |
|
|
861 |
|
|
862 |
|
|
863 |
|
@link |
864 |
|
|
865 |
|
@since |
866 |
|
@see |
867 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
868 |
344 |
public void recacheSecretToken()... |
869 |
|
{ |
870 |
344 |
getUtil().recacheSecretToken(); |
871 |
|
} |
872 |
|
|
873 |
|
|
874 |
|
@link |
875 |
|
|
876 |
|
@return |
877 |
|
@since |
878 |
|
@see |
879 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
880 |
445 |
public String getSecretToken()... |
881 |
|
{ |
882 |
445 |
return getUtil().getSecretToken(); |
883 |
|
} |
884 |
|
|
885 |
|
|
886 |
|
|
887 |
|
|
888 |
|
@param |
889 |
|
@param |
890 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
|
891 |
6 |
public void dragAndDrop(By sourceLocator, By targetLocator)... |
892 |
|
{ |
893 |
|
|
894 |
6 |
WebDriver driver = getDriver(); |
895 |
6 |
WebElement source = driver.findElement(sourceLocator); |
896 |
6 |
WebElement target = driver.findElement(targetLocator); |
897 |
|
|
898 |
6 |
new Actions(driver).moveToElement(source, 1, 1).clickAndHold().release(target).perform(); |
899 |
|
} |
900 |
|
|
901 |
|
|
902 |
|
|
903 |
|
|
904 |
|
|
905 |
|
@param |
906 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (3) |
Complexity: 1 |
Complexity Density: 0.33 |
|
907 |
570 |
public void ensureElementIsNotCoveredByFloatingMenu(By locator)... |
908 |
|
{ |
909 |
570 |
WebDriver driver = getDriver(); |
910 |
|
|
911 |
570 |
new Actions(driver).moveToElement(driver.findElement(locator), 0, 0).perform(); |
912 |
|
|
913 |
570 |
driver.findElement(By.xpath("//body")).sendKeys(Keys.ARROW_UP); |
914 |
|
} |
915 |
|
|
916 |
|
|
917 |
|
|
918 |
|
|
919 |
|
|
920 |
|
|
921 |
|
@param |
922 |
|
@param |
923 |
|
|
|
|
| 72.7% |
Uncovered Elements: 3 (11) |
Complexity: 3 |
Complexity Density: 0.43 |
|
924 |
9 |
public void expandObject(String className, int objectNumber)... |
925 |
|
{ |
926 |
9 |
String objectContentId = String.format("xobject_%s_%s_content", className, objectNumber); |
927 |
9 |
if (!getDriver().findElement(By.id(objectContentId)).isDisplayed()) { |
928 |
|
|
929 |
9 |
String objectTitleId = String.format("xobject_%s_%s_title", className, objectNumber); |
930 |
9 |
WebElement objectTitle = getDriver().findElement(By.id(objectTitleId)); |
931 |
9 |
if (!objectTitle.isDisplayed()) { |
932 |
|
|
933 |
0 |
getDriver().findElement(By.id(String.format("xclass_%s_title", className))).click(); |
934 |
|
} |
935 |
|
|
936 |
9 |
objectTitle.click(); |
937 |
|
} |
938 |
|
} |
939 |
|
|
940 |
|
|
941 |
|
@param |
942 |
|
@return |
943 |
|
@since |
944 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (8) |
Complexity: 1 |
Complexity Density: 0.12 |
|
945 |
12 |
public boolean isElementInView(By elementLocator)... |
946 |
|
{ |
947 |
12 |
Point elementLocation = getDriver().findElement(elementLocator).getLocation(); |
948 |
|
|
949 |
12 |
int windowXLeft = Integer.parseInt(getSelenium().getEval("window.scrollX")); |
950 |
12 |
int windowYTop = Integer.parseInt(getSelenium().getEval("window.scrollY")); |
951 |
|
|
952 |
12 |
int width = Integer.parseInt(getSelenium().getEval("document.documentElement.clientWidth")); |
953 |
12 |
int height = Integer.parseInt(getSelenium().getEval("document.documentElement.clientHeight")); |
954 |
|
|
955 |
12 |
int windowXRight = windowXLeft + width; |
956 |
12 |
int windowYBottom = windowYTop + height; |
957 |
|
|
958 |
12 |
return (elementLocation.getX() >= windowXLeft && elementLocation.getX() <= windowXRight |
959 |
|
&& elementLocation.getY() >= windowYTop && elementLocation.getY() <= windowYBottom); |
960 |
|
} |
961 |
|
|
962 |
|
|
963 |
|
|
964 |
|
@see |
965 |
|
@since |
966 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
967 |
12 |
public void assertElementInView(By elementLocator)... |
968 |
|
{ |
969 |
12 |
Assert.assertTrue("[" + elementLocator + "] is not in view.", isElementInView(elementLocator)); |
970 |
|
} |
971 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
972 |
3 |
public void clickAdministerWiki()... |
973 |
|
{ |
974 |
3 |
getSkinExecutor().clickAdministerWiki(); |
975 |
|
} |
976 |
|
} |