1   package com.atlassian.pageobjects.elements.timeout;
2   
3   /**
4    * <p>
5    * Enumeration of default timeout types in the elements.
6    *
7    * <p>
8    * <b>NOTE</b>: This enumeration should <b>NOT</b> be extended with further timeout types, unless it is a matter of
9    * <i>common</i> (as in: involving more than one developer) consensus that a new timeout type is necessary.
10   * Instead, use customized timeouts, if a particular test context requires timeout adjustments (to that end you may use
11   * {@link com.atlassian.pageobjects.elements.query.TimedQuery#by(long)}
12   * and {@link com.atlassian.pageobjects.elements.query.TimedQuery#by(long, java.util.concurrent.TimeUnit)}).
13   *
14   */
15  public enum TimeoutType
16  {
17      /**
18       * Default timeout value. Meant to be used in case there is no explicit timeout provided for a components requiring
19       * it.
20       *
21       */
22      DEFAULT,
23  
24      /**
25       * Interval between consecutive attempts to evaluate state of a particular test components, used e.g. by timed
26       * conditions and queries. This is not really a timeout, but still has significant influence over how the timed
27       * operations are executed.
28       *
29       * @see com.atlassian.pageobjects.elements.query.TimedQuery
30       * @see com.atlassian.pageobjects.elements.query.PollingQuery
31       */
32      EVALUATION_INTERVAL,
33  
34      /**
35       * Use for any actions executed by the test within the page UI, e.g. typing, clicking, moving mouse etc.
36       *
37       */
38      UI_ACTION,
39  
40      /**
41      * Page load of an average product page.
42      *
43      */
44      PAGE_LOAD,
45  
46      /**
47      * Page load of a slow page, e.g. Dashboard, pages for re-indexing products etc..
48      *
49      */
50      SLOW_PAGE_LOAD,
51  
52      /**
53       * Dialog load time.
54       *
55       */
56      DIALOG_LOAD,
57  
58      /**
59       * Load time of an UI-heavy components (e.g. drop-down, picker etc.)
60       *
61       */
62      COMPONENT_LOAD,
63  
64      /**
65       * An AJAX-like action on the tested page, e.g. an asynchronous request, a dialog submit (without redirection) etc.
66       *
67       */
68      AJAX_ACTION
69  }