Synapse QA
Powered by

Test user journeys, not HTML: Writing stable semantic UI tests with UI-licious

Synapse QA

01:26:08

Watch

One of the biggest reasons UI tests break often is the use of unstable element locators. In this session, I’ll discuss strategies to write more stable element locators, introduce UI-licious - a low-code testing tool - and do exercises to show you how to write stable semantic tests with UI-licious to test user journeys, not HTML.

Outline

  1. What makes automated UI tests flaky?
  2. Strategies for writing more stable element locators
  3. What is UI-licious? : Test user journeys, not HTML Philosophy
  4. Hello world with UI-licious: We’ll do a short exercise to login to GitHub and cover the basic commands to navigate, fill input fields,
  5. What about icon buttons and images? : We’ll do a short exercise to test icon buttons and images and explain how UI-licious works to target elements based on accessibility attributes.
  6. What about similar elements?
  7. Hinting using I.see: We’ll do a short exercise to explore using the I.see command to hint at the element targeting algorithm.
  8. Scoping using UI.context: We’ll do a short exercise to use UI.context to set the search scope for the element targeting algorithm.
  9. Using Page Object Model in UI-licious: Page Object Model is a good way to manage the complexity of the codebase for a UI test project by creating reusable functions that represent the state and possible interactions with a UI component.
  10. We’ll do a short exercise to create a page object model to test a larger website.
  11. Fun and Games: Testing 1 to 100 game with UI-licious: We’ll do a short exercise to write an automation script to play a game of clicking numbers randomly positioned in a grid from 1 to 100.
  12. Q&A: Open to any questions from the audience.

Speakers

Shi Ling Tai

Shi Ling Tai

Co-creator and CEO of UI-licious

Hi I’m Shi Ling. I am one of the creators of UI-licious, a low-code cross-browser testing tool. I have been working as a software engineer for more than a decade, building backends and frontends for a bunch of B2B SaaS applications at different startups. Having worked in large codebases with a lot of legacy code to maintain, I became an advocate for Test Driven Development, implementing unit tests, API tests, and UI tests wherever I go to make things a little saner for everyone. I created UI-licious because I think it’s silly to test HTML with the way we were writing UI tests; we should be testing user journeys instead.

Safinah Mohd Zin

Safinah Mohd Zin

Core Member @ Synapse QA

Safinah is one of the community builders at Synapse QA.

Pivoting from several IT roles, she took the initiative to understand the loopholes around the software, the business requirements gap, and cross-team challenges while delivering complex projects. Eventually, she found stable growth in software testing while working with corporate, multinational companies, and startup settings.

She lived by and worked towards this quote "Teaching is learning twice". She believes there's still so much to teach and share about one's unique experiences that someone could benefit from.

Building on this journey over a decade, she had the privilege to try out different software testing tools at work and community events. Now, in multiple capacities, she's actively sharing tips and tricks on social media to tackle challenging real-life dilemmas around career redirection, opportunities, and continuous learning beyond software testing.

Test user journeys, not HTML: Writing stable semantic UI tests with UI-licious

01:26:08

Watch