automated e2e testing

Jan 05, 2021

Hi,

we are currently looking into automated e2e & integration testing for our courses. The courses are created via Storyline 3 and our testing-tool of choice is cypress.io.

One straight forward use-case we are trying to solve would be "Can the course be clicked-through all the way to the end?"

Since our courses are beeing localized into multiple languages we cannot rely on aria-labels to select buttons or elements. The cypress best-practices suggest using separate data-attributes to identify interaction elements for testing. Is there a way to apply custom attributes to elements in storyline to uniquly identify them in the output?

Also, are there any suggestions or hints from articulate on how to approach slide navigation and listening to timeline triggers?

Thanks.

4 Replies
Math Notermans

Sounds interesting. As in a far far past i got some training as Test engineer ( untill now still usefull when testing my own courses ) i find this interesting.  All Storyline elements basically get their own accessibility name "[data-acc-text='somename']" which is unique. So might be the way to go.
Also it is possible for sure to loop over a complete title and add a custom id or whatever to everything. That way you can identify elements. Let me know if i can help.

margit g

Thanks @math notermans for your inputs! 

I don't seem to be able to find any elements with a data-acc-text attribute. Is this a setting that needs to be enabled?
There is however an attribute called aria-label which contains the accessability text. We can't use that one because we would have to duplicate all our selectors for every language we are localising in. We especially want to avoid that.

There are the data-model-id, data-model-abs-id, data-reactid attributes which are unique but not very practical to find / use in tests.

Some elements get an id attribute of "uniqueDomId-1234" but those are not consistent throughout subsequent publishes. So also not very practical to use in tests.

Math Notermans

Hi Margit, i guess the 'data-acc-text' attribute is the aria-label... if i understand your concern with that one correctly...then its this...

Say you have a Storyline course in English...
A given text element in Storyline has default the data-acc-text/aria-label of the textcontent.
So when you use Word for translations, your data-acc-text/aria-labels change on importing the translations. So test-automation wont work because of this.

I just tested it with a custom set data-acc-text/aria-label... so changing it in Storyline to a custom naming of your own choosing.  When setting a custom acc-name after exporting to Word, translating and importing back in again...the custom acc-name remains as it was. Would that not fix the issue ?

In fact it is possible to make a javascript that checks all content of a Storyline and adds ids or whatever is needed to all elements. I would love to help with this.