1 package com.atlassian.selenium.visualcomparison;
2
3 import com.atlassian.annotations.Internal;
4 import com.atlassian.selenium.visualcomparison.utils.ScreenResolution;
5
6 /**
7 * @see VisualComparer
8 * @see com.atlassian.selenium.visualcomparison.v2.BrowserEngine
9 */
10 @Internal
11 public interface VisualComparableClient
12 {
13
14 public void captureEntirePageScreenshot (String filePath);
15
16 public ScreenElement getElementAtPoint(int x, int y);
17
18 /**
19 * Execute a script in the client.
20 * @param command a string of javascript to send to the client.
21 * @deprecated You should use {@link VisualComparableClient#execute(String, Object...)} instead.
22 */
23 @Deprecated
24 public void evaluate(String command);
25
26 /**
27 * Execute a script in the client and return the evaluated result.
28 * @param command a string of javascript to send to the client.
29 * @param arguments additional arguments to provide to the script.
30 * @return the evaluated result of the javascript.
31 */
32 public Object execute(String command, Object... arguments);
33
34 public boolean resizeScreen(ScreenResolution resolution, boolean refreshAfterResize);
35
36 public void refreshAndWait();
37
38 /**
39 * Wait until all active jQuery AJAX queries have returned -- i.e., no AJAX queries are active.
40 * @param waitTimeMillis the time to wait for everything to finish.
41 * @return true if no AJAX query is active, false otherwise.
42 */
43 public boolean waitForJQuery(long waitTimeMillis);
44 }