Assign unique IDs to UI elements as handles for automated testing

Description

Together with Wolfram, who will apply those handles in the test harness.

Begin with the logout button, test it and go from there.

Environment

None

Potential Workaround

None

Attachments

1

Checklist

hide

TestRail: Results

Activity

Show:

Niels Erik Nielsen August 28, 2017 at 11:03 AM

Have added IDs in most places in UI modules.

Have updated stripes-core to set IDs for each app's navigation button, for the app's main display and for login and logout.

Have documented conventions (in so far).

Niels Erik Nielsen July 27, 2017 at 2:05 PM

Assigned unique ID to user search field as per John C's instructions above and changed ui-testing to look for that.

Niels Erik Nielsen July 20, 2017 at 1:20 PM

Troubleshooting why UI tests succeeded on folio-testing.aws while failing locally.

Current folio-testing.aws uses stripes-components 1.3.1, which I guess is pulled in by stripes-core 2.3.2-SNAPSHOT.676.

Local stripes-demo-platform references stripes-core 2.3.1 and stripes-components 1.3.0

Consequently, the tests in ui-testing could not successfully test against both environments.

By switching to npm-folioci, you can pull stripes-core 2.3.2-SNAPSHOT.676 and thus get stripes-components 1.3.1 and the test that previously failed locally then passes.

Niels Erik Nielsen July 20, 2017 at 6:50 AM

Discussed element IDs with John C, as he is changing certain buttons to anchors.

As long as they are referred to by ID and retain that ID, it should work. However, if the ID indicate that the element is a button – like id='button-edituser' – then that could be confusing. A more generic ID, like id='clickable-edituser' would be better (if the ID should be anything but a completely opaque string but opaque IDs, I guess, would be confusing too, for instance when reading test scripts).

Now, this raises a different question, of the dependency management between UI modules and ui-testing. If the element IDs are changed, tests will break until the tests themselves are updated too (or vice versa). If I change both at the same time, will they both end up in our automated test setup with a relative short gap of breakage?

Niels Erik Nielsen July 13, 2017 at 12:21 PM

Note to self: Developer documentation about setting element IDs

Done

Details

Assignee

Reporter

Priority

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs
Created April 6, 2017 at 10:39 AM
Updated October 12, 2018 at 8:10 PM
Resolved August 28, 2017 at 11:04 AM
TestRail: Cases
TestRail: Runs