Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-12456

Improve Nuxeo WebDriver API

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.9.2
    • Component/s: Tests
    • Backlog priority:
      900
    • Impact type:
      API change
    • Sprint:
      Sprint 1

      Description

      Make the WebDriver API :

      • more consistent
        • currently we have a mix of instance method, static methods, helpers ...
        • make names consistent
      • remove duplicate methodes
        • we have several methods for doing the same work

      Add 2 static helpers :

      • Locator : to locate element
        • Locator.findElement(by) : does not wait
        • Locator.waitUntilElementPresent(by) : : does wait
        • Locator.waitUntilElementNotPresent(by) : : does wait
        • Locator.waitUntilTextPresent(by, tx) : : does wait
        • Locator.waitUntilTextNotPresent(by, tx) : : does wait
      • Assert : to manage assertions
        • Assert.hasElement(by)
        • Assert.isTextPresent(String)
        • Assert.isTextPresent(by, String)

      All wait methods should rely on FluentWait instead of using clocks.

      Once this is done, some tests will have to be rewritten to conform to this new way of doing things, and some pages/elements (especially layout elements) could be refactored to extend WebFragment instead of extending AbstractPage (that will be stripped of most of its methods).

      Also the users and passwords should be common variables to avoid errors "invalid username or password" when order of tests changes.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 2 days
                  2d
                  Remaining:
                  Remaining Estimate - 2 days
                  2d
                  Logged:
                  Time Spent - Not Specified
                  Not Specified